Files
sousa-gecko/testing/web-platform/tests/fullscreen/rendering/ua-style-iframe.html
T
Diego 297d47c533 Bug 2018302 [wpt PR 57941] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=308259, a=testonly
Automatic update from web-platform-tests
WebKit export: [macOS] imported/w3c/web-platform-tests/fullscreen/rendering/ua-style-iframe.html is a flaky text failure (#57941)

https://bugs.webkit.org/show_bug.cgi?id=308259
--

wpt-commits: 6fb07d00b6334b27d0db5b6f9f152699d0baae93
wpt-pr: 57941
2026-02-26 15:20:40 +00:00

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 Promise.all([trusted_request(iframe), 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>