Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 4fb78297f66382824d32daea416bcdccc940a801
https://github.com/WebKit/WebKit/commit/4fb78297f66382824d32daea416bcdccc940a801
Author: Andy Estes <[email protected]>
Date: 2024-04-23 (Tue, 23 Apr 2024)
Changed paths:
M Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm
M Source/WebKit/UIProcess/WebPageProxy.cpp
M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
Log Message:
-----------
[visionOS] When transitioning from video fullscreen to element fullscreen,
the element fullscreen window is not frontmost
https://bugs.webkit.org/show_bug.cgi?id=273100
rdar://126642251
Reviewed by Wenson Hsieh and Aditya Keerthi.
When entering video fullscreen LinearMediaKit changes the client scene's
windows' transform3D, then
fails to restore them to their original values when exiting fullscreen. As a
result, the element
fullscreen window may no longer be frontmost when exiting back to element
fullscreen.
This issue was originally worked around in 277031@main by exiting element
fullscreen when entering
video fullscreen, but this was suboptimal since users expect to return to
element fullscreen if
that's the state they were in when entering video fullscreen. This change
improves the workaround by
instead restoring the expected transform3Ds on both the element fullscreen
window and WKWebView's
window when exiting video fullscreen.
Note that this change also removes dead code in -[WKContentViewInteraction
_did(Enter|Exit)Fullscreen]
so that hooking up PageClientImpl::did(Enter|Exit)Fullscreen does not cause an
unintended behavior
change.
* Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::setVideoReceiverEndpoint):
* Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didEnterFullscreen):
(WebKit::WebPageProxy::didExitFullscreen):
* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::didExitFullscreen):
(WebKit::PageClientImpl::didEnterFullscreen): Deleted.
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _didEnterFullscreen]): Deleted.
(-[WKContentView _didExitFullscreen]): Deleted.
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController didExitFullscreen]):
Canonical link: https://commits.webkit.org/277877@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