Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e680442311f32c01dbf7187d032fcde640e1a525
https://github.com/WebKit/WebKit/commit/e680442311f32c01dbf7187d032fcde640e1a525
Author: Aditya Keerthi <[email protected]>
Date: 2024-02-21 (Wed, 21 Feb 2024)
Changed paths:
M Source/WebCore/dom/Document.cpp
M Source/WebCore/dom/FullscreenManager.cpp
M Source/WebCore/dom/FullscreenManager.h
M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
A Tools/TestWebKitAPI/Tests/ios/FullscreenLayoutParameters.mm
R Tools/TestWebKitAPI/Tests/ios/FullscreenOverriddenLayoutParameters.mm
Log Message:
-----------
REGRESSION: Scrolling down and attempting to fullscreen video on twitter.com
displays the feed
https://bugs.webkit.org/show_bug.cgi?id=269795
rdar://122981183
Reviewed by Jer Noble.
In order for element fullscreen to behave correctly, sites rely on the following
invariants:
1. "fullscreenchange" is fired before "resize".
2. The values of viewport properties during "fullscreenchange" match the
fullscreen size.
Twitter relies on (1), as they teardown the video player if "resize" occurs
during the transition into fullscreen.
270199@main broke two things:
1. The ordering of "fullscreenchange" and "resize" events when entering
fullscreen on iPadOS.
2. The values of viewport properties during the "fullscreenchange" event on
visionOS.
(1) went undetected for a long time, because at first, the effect was not this
bug, but a crash, fixed in 273885@main.
272752@main fixed (2), but also introduced (1) on visionOS.
To the invariant mentioned above is true, fix by adding logic which ensures
"resize" is dispatched after "fullscreenchange".
* Source/WebCore/dom/Document.cpp:
(WebCore::Document::setNeedsDOMWindowResizeEvent):
(WebCore::Document::setNeedsVisualViewportResize):
* Source/WebCore/dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::setAnimatingFullscreen):
(WebCore::FullscreenManager::addPendingScheduledResize):
* Source/WebCore/dom/FullscreenManager.h:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/ios/FullscreenLayoutParameters.mm: Renamed from
Tools/TestWebKitAPI/Tests/ios/FullscreenOverriddenLayoutParameters.mm.
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/275115@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes