blob: eba1ce0b42dcb90dfdb77b913e3de61b7dff10fb [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<div id="host"></div>
<button>Enter fullscreen</button>
<script src="../../resources/js-test.js"></script>
<script>
description('Test that webkitFullscreenElement retargets the fullscreen element inside a shadow tree.');
let shadowHost = document.getElementById('host');
let shadowRoot = shadowHost.attachShadow({mode: 'closed'});
shadowRoot.innerHTML = '<span>full screen content</span>';
function goFullscreen() {
shadowRoot.querySelector('span').webkitRequestFullscreen();
setTimeout(function () {
if (done)
return;
testFailed('webkitfullscreenchange was not fired');
finishJSTest();
}, 2000);
}
let done = false;
function finalizeTest() {
if (done)
return;
done = true;
shouldBe('document.querySelector(":-webkit-full-screen-ancestor")', 'document.documentElement');
finishJSTest();
}
shadowRoot.addEventListener('webkitfullscreenchange', finalizeTest);
document.addEventListener('fullscreenchange', finalizeTest); // Standard fullscreenchange only fires at document level.
let button = document.querySelector('button');
button.onclick = goFullscreen;
if (window.eventSender) {
jsTestIsAsync = true;
eventSender.mouseMoveTo(button.offsetLeft + 5, button.offsetTop + 5);
eventSender.mouseDown();
eventSender.mouseUp();
}
</script>
</body>
</html>