80 lines
2.2 KiB
HTML
80 lines
2.2 KiB
HTML
<!DOCTYPE html>
|
|
<title>User-agent levels style sheet defaults for iframe</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<script src="/resources/testdriver.js"></script>
|
|
<script src="/resources/testdriver-vendor.js"></script>
|
|
<script src="../trusted-click.js"></script>
|
|
<style>
|
|
iframe {
|
|
border: 1px solid blue;
|
|
padding: 1px;
|
|
/* transform is also tested because of https://crbug.com/662393 */
|
|
transform: scale(0.5);
|
|
}
|
|
</style>
|
|
<div id="log"></div>
|
|
<div id="ancestor"><iframe></iframe></div>
|
|
<script>
|
|
function assert_dir_properties(style, propBase, value, state) {
|
|
for (let dir of ["Top", "Right", "Bottom", "Left"]) {
|
|
let prop = propBase.replace("{}", dir);
|
|
assert_equals(style[prop], value, `${state} ${prop} style`);
|
|
}
|
|
}
|
|
|
|
promise_test(async (t) => {
|
|
t.add_cleanup(() => {
|
|
if (document.fullscreenElement) {
|
|
return document.exitFullscreen();
|
|
}
|
|
});
|
|
const ancestor = document.getElementById("ancestor");
|
|
const iframe = ancestor.firstChild;
|
|
|
|
const initialStyle = getComputedStyle(iframe);
|
|
assert_dir_properties(initialStyle, "border{}Width", "1px", "initial");
|
|
assert_dir_properties(initialStyle, "border{}Style", "solid", "initial");
|
|
assert_dir_properties(
|
|
initialStyle,
|
|
"border{}Color",
|
|
"rgb(0, 0, 255)",
|
|
"initial"
|
|
);
|
|
assert_dir_properties(initialStyle, "padding{}", "1px", "initial");
|
|
assert_equals(
|
|
initialStyle.transform,
|
|
"matrix(0.5, 0, 0, 0.5, 0, 0)",
|
|
"initial transform style"
|
|
);
|
|
|
|
await trusted_request(iframe);
|
|
await fullScreenChange();
|
|
|
|
const fullscreenStyle = getComputedStyle(iframe);
|
|
assert_dir_properties(
|
|
fullscreenStyle,
|
|
"border{}Width",
|
|
"0px",
|
|
"fullscreen"
|
|
);
|
|
assert_dir_properties(
|
|
fullscreenStyle,
|
|
"border{}Style",
|
|
"none",
|
|
"fullscreen"
|
|
);
|
|
assert_dir_properties(
|
|
fullscreenStyle,
|
|
"border{}Color",
|
|
"rgb(0, 0, 0)",
|
|
"fullscreen"
|
|
);
|
|
assert_dir_properties(fullscreenStyle, "padding{}", "0px", "fullscreen");
|
|
assert_equals(
|
|
fullscreenStyle.transform,
|
|
"none",
|
|
"fullscreen transform style"
|
|
);
|
|
});
|
|
</script>
|