[webkit-changes] [WebKit/WebKit] 61358f: [iOS] No media controls after restoring fullscreen...
Jer Noble
noreply at github.com
Wed Dec 7 09:26:47 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 61358f64bf9d37c84a3cfdc931aa2dd616b23675
https://github.com/WebKit/WebKit/commit/61358f64bf9d37c84a3cfdc931aa2dd616b23675
Author: Jer Noble <jer.noble at apple.com>
Date: 2022-12-07 (Wed, 07 Dec 2022)
Changed paths:
M Source/WebKit/UIProcess/API/wpe/WPEView.cpp
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in
M Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj
M Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowser.xcscheme
M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/Assets.xcassets/AppIcon.appiconset/Contents.json
M Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m
M Tools/MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m
Log Message:
-----------
[iOS] No media controls after restoring fullscreen from PiP
https://bugs.webkit.org/show_bug.cgi?id=248834
rdar://102880747
Reviewed by Eric Carlson and Jean-Yves Avenard.
When attempting to "restore" fullscreen mode from PiP, WebFullScreenManager uses
the m_element ivar to decide which element to request element fullscreen. However
in 256812 at main, m_element is cleared upon exit.
Restore the functionality by introducing a new ivar, m_elementToRestore. This WeakPtr
will be queried when requesting fullscreen and, if valid, will be used instead of
m_element.
To make it more clear that we are requesting fullscreen mode be restored, rename
all instances of requestEnterFullScreen to requestRestoreFullScreen.
Add a XCUITest that exercises entering video fullscreen, entering PiP, and restoring
to fullscreen twice.
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::requestRestoreFullScreen):
(WebKit::WebFullScreenManagerProxy::requestEnterFullScreen): Deleted.
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.h:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController requestRestoreFullScreen]):
(-[WKFullScreenWindowController _completedExitFullScreen]):
(-[WKFullScreenWindowController didExitPictureInPicture]):
(-[WKFullScreenWindowController requestEnterFullScreen]): Deleted.
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::setElement):
(WebKit::WebFullScreenManager::requestRestoreFullScreen):
(WebKit::WebFullScreenManager::requestEnterFullScreen): Deleted.
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.messages.in:
* Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
* Tools/MobileMiniBrowser/MobileMiniBrowser.xcodeproj/xcshareddata/xcschemes/MobileMiniBrowser.xcscheme:
* Tools/MobileMiniBrowser/MobileMiniBrowserFramework/Assets.xcassets/AppIcon.appiconset/Contents.json:
* Tools/MobileMiniBrowser/MobileMiniBrowserFramework/WebViewController.m:
(-[WebViewController createWebView]):
(-[WebViewController targetURLorDefaultURL]):
* Tools/MobileMiniBrowser/MobileMiniBrowserUITests/MobileMiniBrowserUITests.m:
(-[MobileMiniBrowserUITests setUp]):
(-[MobileMiniBrowserUITests waitForWindowNamed:forApp:]):
(-[MobileMiniBrowserUITests waitForOtherElementNamed:forApp:]):
(-[MobileMiniBrowserUITests tapMiddleTopOfApp:]):
(-[MobileMiniBrowserUITests launchURL:]):
(-[MobileMiniBrowserUITests launchPageNamed:]):
(-[MobileMiniBrowserUITests testBasicVideoPlayback]):
(-[MobileMiniBrowserUITests testBasicVideoFullscreen]):
(-[MobileMiniBrowserUITests testRepeatedFullScreenToPiPAndBack]):
(-[MobileMiniBrowserUITests testVideoFullscreenAndRotationAnimation]):
(-[MobileMiniBrowserUITests testVideoFullscreenControlCenter]):
(-[MobileMiniBrowserUITests testLoopingFullscreenLockup]):
Canonical link: https://commits.webkit.org/257486@main
More information about the webkit-changes
mailing list