[webkit-changes] [WebKit/WebKit] 65b2e0: Media: Videos opening fullscreen via JS API have d...
Dean Jackson
noreply at github.com
Wed Apr 5 13:32:02 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 65b2e06df85324883b2f5b62e035a4f474db3fa6
https://github.com/WebKit/WebKit/commit/65b2e06df85324883b2f5b62e035a4f474db3fa6
Author: Dean Jackson <dino at apple.com>
Date: 2023-04-05 (Wed, 05 Apr 2023)
Changed paths:
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.h
M Source/WebKit/UIProcess/WebFullScreenManagerProxy.messages.in
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.h
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm
M Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm
M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
M Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp
M Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h
Log Message:
-----------
Media: Videos opening fullscreen via JS API have duplicated fullscreen controls
https://bugs.webkit.org/show_bug.cgi?id=255012
rdar://103032343
Reviewed by Aditya Keerthi.
We overlay native "exit fullscreen" and "PiP" buttons when
we think they are necessary. However, our detection of necessity
was slightly incorrect. When a <video> element goes fullscreen,
we always inject our default controls. They provide their own
"exit fullscreen" button, so the native one is not necessary.
We were assuming you needed to have the `controls` attribute
on the video.
While here, rename the member variable to be more clear
that we're hiding two particular buttons, not the media controls
as a whole.
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::isVideoElement const):
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::isVideoElementWithControls const): Deleted.
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.messages.in:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.h:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController initWithWebView:]):
(-[WKFullScreenViewController videoControlsManagerDidChange]):
(-[WKFullScreenViewController hideCancelAndPIPButtons:]):
(-[WKFullScreenViewController hideMediaControls:]): Deleted.
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen:]):
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::enterFullScreenForElement):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
(WebKit::InjectedBundlePageFullScreenClient::enterFullScreenForElement):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
Canonical link: https://commits.webkit.org/262632@main
More information about the webkit-changes
mailing list