Issue #2135 - Bug 1430305: Implement ShadowRoot.fullscreenElement

This commit is contained in:
FranklinDM 2023-03-03 19:52:43 +08:00 committed by roytam1
commit e286eb8adb
10 changed files with 105 additions and 40 deletions

View file

@ -0,0 +1,52 @@
<!DOCTYPE HTML>
<html>
<!--
https://bugzilla.mozilla.org/show_bug.cgi?id=1430305
Bug 1430305 - Implement ShadowRoot.fullscreenElement
-->
<head>
<title>Bug 1430305</title>
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js">
</script>
<script type="application/javascript" src="/tests/SimpleTest/EventUtils.js">
</script>
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
</head>
<body>
<a target="_blank"
href="https://bugzilla.mozilla.org/show_bug.cgi?id=1430305">
Mozilla Bug 1430305</a>
<div id="host"></div>
<pre id="test">
<script type="application/javascript">
function begin() {
var host = document.getElementById("host");
var shadowRoot = host.attachShadow({mode: "open"});
shadowRoot.innerHTML = "<div>test</div>";
var elem = shadowRoot.firstChild;
var gotFullscreenEvent = false;
document.addEventListener("fullscreenchange", function (e) {
if (document.fullscreenElement === host) {
is(shadowRoot.fullscreenElement, elem,
"Expected element entered fullsceen");
gotFullscreenEvent = true;
document.exitFullscreen();
} else {
opener.ok(gotFullscreenEvent, "Entered fullscreen as expected");
is(shadowRoot.fullscreenElement, null,
"Shouldn't have fullscreenElement anymore.");
is(document.fullscreenElement, null,
"Shouldn't have fullscreenElement anymore.");
opener.nextTest();
}
});
elem.requestFullscreen();
}
</script>
</pre>
</body>
</html>

View file

@ -72,6 +72,7 @@ support-files =
file_fullscreen-rollback.html
file_fullscreen-scrollbar.html
file_fullscreen-selector.html
file_fullscreen-shadowdom.html
file_fullscreen-svg-element.html
file_fullscreen-top-layer.html
file_fullscreen-unprefix-disabled-inner.html

View file

@ -39,6 +39,7 @@ var gTestWindows = [
"file_fullscreen-navigation.html",
"file_fullscreen-scrollbar.html",
"file_fullscreen-selector.html",
"file_fullscreen-shadowdom.html",
"file_fullscreen-top-layer.html",
"file_fullscreen-backdrop.html",
"file_fullscreen-nested.html",
@ -96,7 +97,8 @@ addLoadEvent(function() {
["full-screen-api.unprefix.enabled", true],
["full-screen-api.allow-trusted-requests-only", false],
["full-screen-api.transition-duration.enter", "0 0"],
["full-screen-api.transition-duration.leave", "0 0"]
["full-screen-api.transition-duration.leave", "0 0"],
["dom.webcomponents.enabled", true]
]}, nextTest);
});
SimpleTest.waitForExplicitFinish();