Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: a69d661df341919c7e9b4b04b4d8bcbd304a3ae0 https://github.com/WebKit/WebKit/commit/a69d661df341919c7e9b4b04b4d8bcbd304a3ae0 Author: Alex Christensen <achristen...@apple.com> 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 webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes