[webkit-changes] [WebKit/WebKit] 13cc3b: Use sendWithAsyncReply for WebFullScreenManagerPro...
Alex Christensen
noreply at github.com
Tue Feb 18 13:57:56 PST 2025
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 13cc3bae5a30fb63195144f186fb5058c6b0ab2d
https://github.com/WebKit/WebKit/commit/13cc3bae5a30fb63195144f186fb5058c6b0ab2d
Author: Alex Christensen <achristensen at apple.com>
Date: 2025-02-18 (Tue, 18 Feb 2025)
Changed paths:
M LayoutTests/http/tests/site-isolation/resources/fullscreen.html
R LayoutTests/platform/ios/http/tests/site-isolation/fullscreen-expected.txt
M Source/WebKit/UIProcess/API/C/WKPage.cpp
M Source/WebKit/UIProcess/API/C/WKPage.h
M Source/WebKit/UIProcess/API/C/playstation/WKView.cpp
M Source/WebKit/UIProcess/API/C/playstation/WKView.h
M Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp
M Source/WebKit/UIProcess/API/gtk/PageClientImpl.h
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h
M Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp
M Source/WebKit/UIProcess/API/wpe/PageClientImpl.h
M Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp
M Source/WebKit/UIProcess/API/wpe/WPEWebView.h
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.messages.in
M Source/WebKit/UIProcess/ios/PageClientImplIOS.h
M Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
M Source/WebKit/UIProcess/mac/PageClientImplMac.h
M Source/WebKit/UIProcess/mac/PageClientImplMac.mm
M Source/WebKit/UIProcess/mac/WKFullScreenWindowController.h
M Source/WebKit/UIProcess/mac/WKFullScreenWindowController.mm
M Source/WebKit/UIProcess/playstation/PageClientImpl.cpp
M Source/WebKit/UIProcess/playstation/PageClientImpl.h
M Source/WebKit/UIProcess/playstation/PlayStationWebView.cpp
M Source/WebKit/UIProcess/playstation/PlayStationWebView.h
M Source/WebKit/UIProcess/win/PageClientImpl.cpp
M Source/WebKit/UIProcess/win/PageClientImpl.h
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in
M Tools/MiniBrowser/playstation/WebViewWindow.cpp
M Tools/WebKitTestRunner/TestController.cpp
Log Message:
-----------
Use sendWithAsyncReply for WebFullScreenManagerProxy::ExitFullScreen
https://bugs.webkit.org/show_bug.cgi?id=287803
Reviewed by Eric Carlson.
It is all straightforward except two cases where WKFullScreenWindowController.exitFullScreen
is called on macOS that are not as a reply to the web content process. One when the web
content process is unresponsive, and one when the system exit fullscreen button is pressed.
I added a button to my layout test to test the first and manually tested the first and second.
My change in WKFullScreenWindowController.mm may initially look a bit confusing, but I effectively
renamed _exitFullScreenCompletionHandler to _beganExitFullScreenCompletionHandler then reused the
name of _exitFullScreenCompletionHandler for the completion handler of exitFullscreen:
This is a step towards getting fullscreen working with site isolation, and the iOS site isolation
fullscreen test is already more like the macOS test because of this change.
* LayoutTests/http/tests/site-isolation/resources/fullscreen.html:
* Source/WebKit/UIProcess/API/C/WKPage.cpp:
(WKPageSetFullScreenClientForTesting):
(WKPageWillExitFullScreen): Deleted.
* Source/WebKit/UIProcess/API/C/WKPage.h:
* Source/WebKit/UIProcess/API/C/playstation/WKView.cpp:
(WKViewWillExitFullScreen):
* Source/WebKit/UIProcess/API/C/playstation/WKView.h:
* Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::exitFullScreen):
* Source/WebKit/UIProcess/API/gtk/PageClientImpl.h:
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseWillExitFullScreen):
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
* Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp:
(WebKit::PageClientImpl::exitFullScreen):
* Source/WebKit/UIProcess/API/wpe/PageClientImpl.h:
* Source/WebKit/UIProcess/API/wpe/WPEWebView.cpp:
(WKWPE::View::willExitFullScreen):
* Source/WebKit/UIProcess/API/wpe/WPEWebView.h:
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
(WebKit::WebFullScreenManagerProxy::willExitFullScreen): Deleted.
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.messages.in:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
* Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::exitFullScreen):
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController exitFullScreen:]):
(-[WKFullScreenWindowController _exitFullscreenImmediately]):
(-[WKFullScreenWindowController exitFullScreen]): Deleted.
* Source/WebKit/UIProcess/mac/PageClientImplMac.h:
* Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::exitFullScreen):
* Source/WebKit/UIProcess/mac/WKFullScreenWindowController.h:
* Source/WebKit/UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
(-[WKFullScreenWindowController exitFullScreen:]):
(-[WKFullScreenWindowController exitFullScreenImmediately]):
(-[WKFullScreenWindowController finishedExitFullScreenAnimationAndExitImmediately:]):
(-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
(-[WKFullScreenWindowController _watchdogTimerFired:]):
(-[WKFullScreenWindowController exitFullScreen]): Deleted.
* Source/WebKit/UIProcess/playstation/PageClientImpl.cpp:
(WebKit::PageClientImpl::exitFullScreen):
* Source/WebKit/UIProcess/playstation/PageClientImpl.h:
* Source/WebKit/UIProcess/playstation/PlayStationWebView.cpp:
(WebKit::PlayStationWebView::exitFullScreen):
(WebKit::PlayStationWebView::willExitFullScreen): Deleted.
* Source/WebKit/UIProcess/playstation/PlayStationWebView.h:
* Source/WebKit/UIProcess/win/PageClientImpl.cpp:
(WebKit::PageClientImpl::exitFullScreen):
* Source/WebKit/UIProcess/win/PageClientImpl.h:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::exitFullScreenForElement):
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in:
* Tools/MiniBrowser/playstation/WebViewWindow.cpp:
(WebViewWindow::WebViewWindow):
* Tools/WebKitTestRunner/TestController.cpp:
(WTR::TestController::exitFullScreen):
Canonical link: https://commits.webkit.org/290551@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list