[webkit-changes] [WebKit/WebKit] 5beda5: [media-controls] allow for the fullscreen and pict...

mwyrzykowski noreply at github.com
Fri Sep 9 15:51:33 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5beda59c453e52c8f3a287e2bee02de2cecb2824
      https://github.com/WebKit/WebKit/commit/5beda59c453e52c8f3a287e2bee02de2cecb2824
  Author: Mike Wyrzykowski <mwyrzykowski at apple.com>
  Date:   2022-09-09 (Fri, 09 Sep 2022)

  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-controls] allow for the fullscreen and picture-in-picture buttons to not show in fullscreen
https://bugs.webkit.org/show_bug.cgi?id=242507
<rdar://96618439>

Reviewed by Jer Noble.

Hide cancel and pip buttons in fullscreen if the current playback element
already has those buttons.

* Source/WebKit/UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::isVideoElement const):
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
* Source/WebKit/UIProcess/WebFullScreenManagerProxy.h:
State variable for tracking if this fullscreen mode is a video element.

* Source/WebKit/UIProcess/WebFullScreenManagerProxy.messages.in:
Pass the boolean in the EnterFullScreen message.

* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.h:
* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController initWithWebView:]):
(-[WKFullScreenViewController videoControlsManagerDidChange]):
(-[WKFullScreenViewController hideMediaControls:]):
Hide and show cancel and pip buttons as needed.

* Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController enterFullScreen]):
Hide the pip and cancel buttons if the current media element already contains them.

* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::enterFullScreenForElement):
If the current playback element already has controls then the boolean is true, otherwise false.

* Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp:
(WebKit::InjectedBundlePageFullScreenClient::enterFullScreenForElement):
* Source/WebKit/WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h:
Pass along the boolean to the message.

Canonical link: https://commits.webkit.org/254333@main




More information about the webkit-changes mailing list