Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a346ccb94edad6d8d4cae280e93c4dcdaac7dcc9
https://github.com/WebKit/WebKit/commit/a346ccb94edad6d8d4cae280e93c4dcdaac7dcc9
Author: Phinehas Fuachie <[email protected]>
Date: 2026-08-28 (Fri, 28 Aug 2026)
Changed paths:
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
Log Message:
-----------
All subsequent videos played after the first one auto exit fullscreen back to
inline
https://bugs.webkit.org/show_bug.cgi?id=322768
rdar://174807377
Reviewed by Jer Noble.
Entering element fullscreen resets the scroll view's content offset, which
scrolls the page to the
top and dispatches a scroll event once the deferred events are flushed. The
offset is restored on
exit, so the page is told it scrolled somewhere it was never meant to stay.
Sites that virtualize a list on scroll position re-window it in response,
unmounting rows away from
the viewport. If the fullscreen element is in one of those rows it gets
removed, which destroys a
fullscreen iframe's frame and exits fullscreen. On bing.com/videos every video
below the fold exits
fullscreen right after entering.
The fullscreen presentation does not depend on the offset, so leave it alone:
make the saved offset
optional so a default-constructed WKWebViewState no longer applies one, and
stop explicitly
resetting it on entry. Exiting still restores the offset saved by store().
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(WebKit::WKWebViewState::applyTo):
(-[WKFullScreenWindowController
_enterFullScreen:windowScene:completionHandler:]):
Canonical link: https://commits.webkit.org/320084@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications