[webkit-changes] [WebKit/WebKit] fc633e: MacOS follow-up after 262487 at main

Per Arne Vollan noreply at github.com
Tue Apr 4 14:39:14 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: fc633e7073a21283e1b912abb788ca0f60c4b5b9
      https://github.com/WebKit/WebKit/commit/fc633e7073a21283e1b912abb788ca0f60c4b5b9
  Author: Per Arne Vollan <pvollan at apple.com>
  Date:   2023-04-04 (Tue, 04 Apr 2023)

  Changed paths:
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/platform/cocoa/VideoFullscreenCaptions.h
    A Source/WebCore/platform/cocoa/VideoFullscreenCaptions.mm
    M Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h
    M Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm
    M Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.h
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm
    M Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.h
    M Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm

  Log Message:
  -----------
  MacOS follow-up after 262487 at main
https://bugs.webkit.org/show_bug.cgi?id=254922
rdar://107560995

Reviewed by Eric Carlson.

MacOS should also forward the caption bitmaps to the UI process, as was done for iOS in 262487 at main.
This patch adds the required pieces to a new VideoFullscreenCaptions class, shared by iOS and macOS.
This patch also fixes a null pointer crash when entering fullscreen on macOS. Additionally, the
setting BlockMediaLayerRehostingInWebContentProcess is changed to only take effect when UI side
compositing is enabled, since this is the case it is intended for.

* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/cocoa/VideoFullscreenCaptions.h:
* Source/WebCore/platform/cocoa/VideoFullscreenCaptions.mm:
(WebCore::VideoFullscreenCaptions::setTrackRepresentationImage):
(WebCore::VideoFullscreenCaptions::setTrackRepresentationContentsScale):
(WebCore::VideoFullscreenCaptions::setTrackRepresentationHidden):
(WebCore::VideoFullscreenCaptions::captionsLayer):
(WebCore::VideoFullscreenCaptions::setCaptionsFrame):
(WebCore::VideoFullscreenCaptions::setupCaptionsLayer):
(WebCore::VideoFullscreenCaptions::removeCaptionsLayer):
* Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h:
* Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::textTrackRepresentationUpdate): Deleted.
(VideoFullscreenInterfaceAVKit::textTrackRepresentationSetContentsScale): Deleted.
(VideoFullscreenInterfaceAVKit::textTrackRepresentationSetHidden): Deleted.
(VideoFullscreenInterfaceAVKit::captionsLayer): Deleted.
(VideoFullscreenInterfaceAVKit::setCaptionsFrame): Deleted.
(VideoFullscreenInterfaceAVKit::setupCaptionsLayer): Deleted.
(VideoFullscreenInterfaceAVKit::removeCaptionsLayer): Deleted.
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):
* Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.h:
* Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::createLayerHostViewWithID):
(WebKit::VideoFullscreenManagerProxy::textTrackRepresentationUpdate):
(WebKit::VideoFullscreenManagerProxy::textTrackRepresentationSetContentsScale):
(WebKit::VideoFullscreenManagerProxy::textTrackRepresentationSetHidden):
(WebKit::VideoFullscreenManagerProxy::didCleanupFullscreen):
(WebKit::VideoFullscreenManagerProxy::setVideoLayerFrame):
* Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.h:
(WebKit::VideoFullscreenInterfaceContext::setRootLayer): Deleted.
* Source/WebKit/WebProcess/cocoa/VideoFullscreenManager.mm:
(WebKit::VideoFullscreenInterfaceContext::setRootLayer):
(WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement):
(WebKit::VideoFullscreenManager::didExitFullscreen):
(WebKit::VideoFullscreenManager::didCleanupFullscreen):
(WebKit::VideoFullscreenManager::setupRemoteLayerHosting):

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




More information about the webkit-changes mailing list