forked from WebKit/WebKit
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
REGRESSION(257542@main): Video is misaligned on YouTube site's PiP pl…
…ayer after transitioning from full screen https://bugs.webkit.org/show_bug.cgi?id=253121 rdar://105713729 Reviewed by Ryosuke Niwa. There is a bug with the fullscreen spec that leaves a dangling fullscreen flag when moving elements: whatwg/fullscreen#217 This causes fullscreen styles to unintentionally apply on the YouTube site even though the player element which has moved in the DOM tree, has exited fullscreen. To fix this, we follow Chromium's pattern of running an extra "unfullscreen element" step in the synchronous exit fullscreen steps when the element to be exited is disconnected. * LayoutTests/imported/w3c/web-platform-tests/fullscreen/model/move-fullscreen-element-expected.txt: Added. * LayoutTests/imported/w3c/web-platform-tests/fullscreen/model/move-fullscreen-element.html: Added. * Source/WebCore/dom/FullscreenManager.cpp: (WebCore::FullscreenManager::exitFullscreen): Canonical link: https://commits.webkit.org/260985@main
- Loading branch information
Showing
3 changed files
with
37 additions
and
1 deletion.
There are no files selected for viewing
4 changes: 4 additions & 0 deletions
4
...sts/imported/w3c/web-platform-tests/fullscreen/model/move-fullscreen-element-expected.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
Fullscreen element | ||
|
||
PASS Moving the fullscreen element should not leave the fullscreen flag | ||
|
29 changes: 29 additions & 0 deletions
29
LayoutTests/imported/w3c/web-platform-tests/fullscreen/model/move-fullscreen-element.html
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
<!DOCTYPE html> | ||
<html> | ||
<title>Moving the fullscreen element should not leave the fullscreen flag</title> | ||
<link rel="author" title="Tim Nguyen" href="https://github.com/nt1m"> | ||
<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> | ||
|
||
<div id="fullscreen-element">Fullscreen element</div> | ||
|
||
<div id="new-parent"></div> | ||
|
||
<script> | ||
promise_test(async () => { | ||
const fullscreenElement = document.getElementById("fullscreen-element"); | ||
await trusted_request(fullscreenElement); | ||
assert_true(fullscreenElement.matches(":fullscreen"), "Element has fullscreen flag"); | ||
assert_equals(document.fullscreenElement, fullscreenElement, "Element is fullscreen element"); | ||
document.getElementById("new-parent").appendChild(fullscreenElement); | ||
assert_false(fullscreenElement.matches(":fullscreen"), "Element no longer has fullscreen flag after being moved"); | ||
assert_false(!!document.fullscreenElement, "There is no more fullscreen element, since fullscreen flag was removed"); | ||
await fullScreenChange(); | ||
assert_false(fullscreenElement.matches(":fullscreen"), "Element no longer has fullscreen flag after fullscreen change event"); | ||
assert_false(!!document.fullscreenElement, "There is no more fullscreen element, since fullscreen flag was removed"); | ||
}); | ||
</script> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters