blob: c6fc03864f770700066bf37eb355fdc709fd38cb [file] [log] [blame] [edit]
<!DOCTYPE html>
<html>
<head>
<title>Test that containing block changes are reflected when going fullscreen</title>
</head>
<body>
<!-- will-change: transform creates a containing-block for fixed positioned elements, but the top layer overrides it --->
<div style="height: 400px; width: 400px; will-change: transform;">
<!-- container-type: size triggers layout during style resolution -->
<iframe style="container-type: size; width: 100%; height: 100%; background: lightgreen;" id="iframe"></iframe>
</div>
<p>Test passes if the lightgreen area is fullscreen after clicking the button.</p>
<script src="full-screen-test.js"></script>
<script>
async function test() {
await new Promise(resolve => {
iframe.addEventListener("load", resolve, {once: true});
iframe.src = "resources/inner.html";
});
await new Promise(resolve => {
internals.withUserGesture(() => {
iframe.contentDocument.documentElement.requestFullscreen().then(resolve);
});
});
testExpected("iframe.offsetWidth > 400", true);
testExpected("iframe.offsetHeight > 400", true);
endTest();
}
test();
</script>
</body>
</html>