Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: a69d661df341919c7e9b4b04b4d8bcbd304a3ae0
https://github.com/WebKit/WebKit/commit/a69d661df341919c7e9b4b04b4d8bcbd304a3ae0
Author: Alex Christensen <[email protected]>
Date: 2025-02-26 (Wed, 26 Feb 2025)
Changed paths:
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
Log Message:
-----------
Restore call to _dismissFullscreenViewController after 290536@main
https://bugs.webkit.org/show_bug.cgi?id=288562
rdar://145513632
Reviewed by Jer Noble.
In 290536@main I made it so that WebFullScreenManager::didExitFullScreen is
called
as a response to Messages::WebFullScreenManagerProxy::BeganExitFullScreen,
which means
there is no way to call it in the web process without the web process
initiating it.
This is conceptually correct. The consequence of this is that
_dismissFullscreenViewController
needs to be called with a CompletionHandler which it gives to
_completedExitFullScreen
which it calls instead of calling WebFullScreenManagerProxy::didExitFullScreen,
which
no longer exists. This is all good so far.
Before 290536@main, _startToDismissFullscreenChanged used to also call
_dismissFullscreenViewController, but I thought it shouldn't any more because
it is no
longer doing so as a response to
Messages::WebFullScreenManagerProxy::BeganExitFullScreen.
Instead, we should initiate the fullscreen exiting process by calling
requestExitFullScreen
which seems like the logical replacement. We are telling the web process to
start exiting,
which will eventually send
Messages::WebFullScreenManagerProxy::BeganExitFullScreen to
which we will respond. However, this caused the gesture-based fullscreen exits
to fail.
I verified manually that we need to both call requestExitFullScreen to start
this process
AND call _dismissFullscreenViewController to immediately do the UI process
cleanup with an
empty lambda "reply". The web process will eventually ask the UI process to
exit, and
the UI process will tell it that it already has.
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController _startToDismissFullscreenChanged:]):
Canonical link: https://commits.webkit.org/291123@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