Title: [293053] branches/safari-613-branch/Source
Revision
293053
Author
[email protected]
Date
2022-04-19 18:29:42 -0700 (Tue, 19 Apr 2022)

Log Message

Cherry-pick r290874. rdar://problem/84869202

    Integrator's note: partial cherry-pick in conjunction with earlier applied patch.

    Push HTMLMediaElement renderer's contentBox rect to GPU process
    https://bugs.webkit.org/show_bug.cgi?id=237444
    rdar://84869202

    Reviewed by Jer Noble.

    Source/WebCore:

    No new tests. This is a speculative fix, with new logging, for an issue I haven't
    been able to reproduce.

    * html/HTMLMediaElement.cpp:
    (WebCore::HTMLMediaElement::updateRenderer): Push mediaPlayerContentBoxRect to the
    media player.
    * platform/graphics/MediaPlayer.cpp:
    (WebCore::MediaPlayer::playerContentBoxRectChanged): Pass rect to platform player.
    * platform/graphics/MediaPlayer.h:
    * platform/graphics/MediaPlayerPrivate.h:
    (WebCore::MediaPlayerPrivateInterface::playerContentBoxRectChanged):

    Source/WebKit:

    * GPUProcess/media/RemoteMediaPlayerProxy.cpp:
    (WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy): Configuration now has
    playerContentBoxRect.
    (WebKit::RemoteMediaPlayerProxy::mediaPlayerContentBoxRect const):
    (WebKit::RemoteMediaPlayerProxy::playerContentBoxRectChanged): Update playerContentBoxRect.
    * GPUProcess/media/RemoteMediaPlayerProxy.h:
    * GPUProcess/media/RemoteMediaPlayerProxy.messages.in:

    * GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h:
    (WebKit::RemoteMediaPlayerProxyConfiguration::encode const):
    (WebKit::RemoteMediaPlayerProxyConfiguration::decode):

    * GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
    (WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeIfPossible): Convert from static
    function so we can log.
    (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable): Add logging.
    (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): Ditto.
    (WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeFenced): Ditto.
    (WebKit::setVideoInlineSizeIfPossible): Deleted.

    * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
    (WebKit::MediaPlayerPrivateRemote::playerContentBoxRectChanged):
    * WebProcess/GPU/media/MediaPlayerPrivateRemote.h:

    * WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
    (WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290874 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-613-branch/Source/WebCore/ChangeLog (293052 => 293053)


--- branches/safari-613-branch/Source/WebCore/ChangeLog	2022-04-20 00:45:27 UTC (rev 293052)
+++ branches/safari-613-branch/Source/WebCore/ChangeLog	2022-04-20 01:29:42 UTC (rev 293053)
@@ -1,3 +1,78 @@
+2022-04-19  Alan Coon  <[email protected]>
+
+        Cherry-pick r290874. rdar://problem/84869202
+
+    Push HTMLMediaElement renderer's contentBox rect to GPU process
+    https://bugs.webkit.org/show_bug.cgi?id=237444
+    rdar://84869202
+    
+    Reviewed by Jer Noble.
+    
+    Source/WebCore:
+    
+    No new tests. This is a speculative fix, with new logging, for an issue I haven't
+    been able to reproduce.
+    
+    * html/HTMLMediaElement.cpp:
+    (WebCore::HTMLMediaElement::updateRenderer): Push mediaPlayerContentBoxRect to the
+    media player.
+    * platform/graphics/MediaPlayer.cpp:
+    (WebCore::MediaPlayer::playerContentBoxRectChanged): Pass rect to platform player.
+    * platform/graphics/MediaPlayer.h:
+    * platform/graphics/MediaPlayerPrivate.h:
+    (WebCore::MediaPlayerPrivateInterface::playerContentBoxRectChanged):
+    
+    Source/WebKit:
+    
+    * GPUProcess/media/RemoteMediaPlayerProxy.cpp:
+    (WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy): Configuration now has
+    playerContentBoxRect.
+    (WebKit::RemoteMediaPlayerProxy::mediaPlayerContentBoxRect const):
+    (WebKit::RemoteMediaPlayerProxy::playerContentBoxRectChanged): Update playerContentBoxRect.
+    * GPUProcess/media/RemoteMediaPlayerProxy.h:
+    * GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
+    
+    * GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h:
+    (WebKit::RemoteMediaPlayerProxyConfiguration::encode const):
+    (WebKit::RemoteMediaPlayerProxyConfiguration::decode):
+    
+    * GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
+    (WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeIfPossible): Convert from static
+    function so we can log.
+    (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable): Add logging.
+    (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): Ditto.
+    (WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeFenced): Ditto.
+    (WebKit::setVideoInlineSizeIfPossible): Deleted.
+    
+    * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
+    (WebKit::MediaPlayerPrivateRemote::playerContentBoxRectChanged):
+    * WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
+    
+    * WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
+    (WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2022-03-06  Eric Carlson  <[email protected]>
+
+            Push HTMLMediaElement renderer's contentBox rect to GPU process
+            https://bugs.webkit.org/show_bug.cgi?id=237444
+            rdar://84869202
+
+            Reviewed by Jer Noble.
+
+            No new tests. This is a speculative fix, with new logging, for an issue I haven't
+            been able to reproduce.
+
+            * html/HTMLMediaElement.cpp:
+            (WebCore::HTMLMediaElement::updateRenderer): Push mediaPlayerContentBoxRect to the
+            media player.
+            * platform/graphics/MediaPlayer.cpp:
+            (WebCore::MediaPlayer::playerContentBoxRectChanged): Pass rect to platform player.
+            * platform/graphics/MediaPlayer.h:
+            * platform/graphics/MediaPlayerPrivate.h:
+            (WebCore::MediaPlayerPrivateInterface::playerContentBoxRectChanged):
+
 2022-04-18  Kocsen Chung  <[email protected]>
 
         Cherry-pick r292858. rdar://problem/90699078

Modified: branches/safari-613-branch/Source/WebKit/ChangeLog (293052 => 293053)


--- branches/safari-613-branch/Source/WebKit/ChangeLog	2022-04-20 00:45:27 UTC (rev 293052)
+++ branches/safari-613-branch/Source/WebKit/ChangeLog	2022-04-20 01:29:42 UTC (rev 293053)
@@ -1,3 +1,93 @@
+2022-04-19  Alan Coon  <[email protected]>
+
+        Cherry-pick r290874. rdar://problem/84869202
+
+    Push HTMLMediaElement renderer's contentBox rect to GPU process
+    https://bugs.webkit.org/show_bug.cgi?id=237444
+    rdar://84869202
+    
+    Reviewed by Jer Noble.
+    
+    Source/WebCore:
+    
+    No new tests. This is a speculative fix, with new logging, for an issue I haven't
+    been able to reproduce.
+    
+    * html/HTMLMediaElement.cpp:
+    (WebCore::HTMLMediaElement::updateRenderer): Push mediaPlayerContentBoxRect to the
+    media player.
+    * platform/graphics/MediaPlayer.cpp:
+    (WebCore::MediaPlayer::playerContentBoxRectChanged): Pass rect to platform player.
+    * platform/graphics/MediaPlayer.h:
+    * platform/graphics/MediaPlayerPrivate.h:
+    (WebCore::MediaPlayerPrivateInterface::playerContentBoxRectChanged):
+    
+    Source/WebKit:
+    
+    * GPUProcess/media/RemoteMediaPlayerProxy.cpp:
+    (WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy): Configuration now has
+    playerContentBoxRect.
+    (WebKit::RemoteMediaPlayerProxy::mediaPlayerContentBoxRect const):
+    (WebKit::RemoteMediaPlayerProxy::playerContentBoxRectChanged): Update playerContentBoxRect.
+    * GPUProcess/media/RemoteMediaPlayerProxy.h:
+    * GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
+    
+    * GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h:
+    (WebKit::RemoteMediaPlayerProxyConfiguration::encode const):
+    (WebKit::RemoteMediaPlayerProxyConfiguration::decode):
+    
+    * GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
+    (WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeIfPossible): Convert from static
+    function so we can log.
+    (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable): Add logging.
+    (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): Ditto.
+    (WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeFenced): Ditto.
+    (WebKit::setVideoInlineSizeIfPossible): Deleted.
+    
+    * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
+    (WebKit::MediaPlayerPrivateRemote::playerContentBoxRectChanged):
+    * WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
+    
+    * WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
+    (WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@290874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2022-03-06  Eric Carlson  <[email protected]>
+
+            Push HTMLMediaElement renderer's contentBox rect to GPU process
+            https://bugs.webkit.org/show_bug.cgi?id=237444
+            rdar://84869202
+
+            Reviewed by Jer Noble.
+
+            * GPUProcess/media/RemoteMediaPlayerProxy.cpp:
+            (WebKit::RemoteMediaPlayerProxy::RemoteMediaPlayerProxy): Configuration now has
+            playerContentBoxRect.
+            (WebKit::RemoteMediaPlayerProxy::mediaPlayerContentBoxRect const):
+            (WebKit::RemoteMediaPlayerProxy::playerContentBoxRectChanged): Update playerContentBoxRect.
+            * GPUProcess/media/RemoteMediaPlayerProxy.h:
+            * GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
+
+            * GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h:
+            (WebKit::RemoteMediaPlayerProxyConfiguration::encode const):
+            (WebKit::RemoteMediaPlayerProxyConfiguration::decode):
+
+            * GPUProcess/media/cocoa/RemoteMediaPlayerProxyCocoa.mm:
+            (WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeIfPossible): Convert from static
+            function so we can log.
+            (WebKit::RemoteMediaPlayerProxy::mediaPlayerFirstVideoFrameAvailable): Add logging.
+            (WebKit::RemoteMediaPlayerProxy::mediaPlayerRenderingModeChanged): Ditto.
+            (WebKit::RemoteMediaPlayerProxy::setVideoInlineSizeFenced): Ditto.
+            (WebKit::setVideoInlineSizeIfPossible): Deleted.
+
+            * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
+            (WebKit::MediaPlayerPrivateRemote::playerContentBoxRectChanged):
+            * WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
+
+            * WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
+            (WebKit::RemoteMediaPlayerManager::createRemoteMediaPlayer):
+
 2022-04-18  Kocsen Chung  <[email protected]>
 
         Cherry-pick r292846. rdar://problem/88965550

Modified: branches/safari-613-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h (293052 => 293053)


--- branches/safari-613-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h	2022-04-20 00:45:27 UTC (rev 293052)
+++ branches/safari-613-branch/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxyConfiguration.h	2022-04-20 01:29:42 UTC (rev 293053)
@@ -28,6 +28,7 @@
 #if ENABLE(GPU_PROCESS)
 
 #include <WebCore/ContentType.h>
+#include <WebCore/LayoutRect.h>
 #include <WebCore/PlatformTextTrack.h>
 #include <WebCore/SecurityOriginData.h>
 #include <wtf/text/WTFString.h>
@@ -40,6 +41,7 @@
     String sourceApplicationIdentifier;
     String networkInterfaceName;
     Vector<WebCore::ContentType> mediaContentTypesRequiringHardwareSupport;
+    WebCore::LayoutRect playerContentBoxRect;
     Vector<String> preferredAudioCharacteristics;
 #if ENABLE(AVF_CAPTIONS)
     Vector<WebCore::PlatformTextTrackData> outOfBandTrackData;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to