Title: [279891] trunk/Source/WebKit
Revision
279891
Author
[email protected]
Date
2021-07-13 14:08:25 -0700 (Tue, 13 Jul 2021)

Log Message

[GPUP] RemoteMediaPlayerProxy may not send the latest "naturalSize" to MediaPlayerPrivateRemote
https://bugs.webkit.org/show_bug.cgi?id=227894

Reviewed by Jer Noble.

When a `MediaPlayerPrivateMediaSourceAVFObjC` in the GPU process changes its `naturalSize`,
the new value will be sent to the WebContent process in the IPC message
`MediaPlayerPrivateRemote::SizeChanged`. However, `RemoteMediaPlayerProxy` won't update
`m_cachedState.naturalSize`. So the next `MediaPlayerPrivateRemote::UpdateCachedState`
message will use the old `naturalSize` and the WebContent process will drop the correct value
after receiving the message.

* GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerSizeChanged):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (279890 => 279891)


--- trunk/Source/WebKit/ChangeLog	2021-07-13 20:56:39 UTC (rev 279890)
+++ trunk/Source/WebKit/ChangeLog	2021-07-13 21:08:25 UTC (rev 279891)
@@ -1,3 +1,20 @@
+2021-07-13  Peng Liu  <[email protected]>
+
+        [GPUP] RemoteMediaPlayerProxy may not send the latest "naturalSize" to MediaPlayerPrivateRemote
+        https://bugs.webkit.org/show_bug.cgi?id=227894
+
+        Reviewed by Jer Noble.
+
+        When a `MediaPlayerPrivateMediaSourceAVFObjC` in the GPU process changes its `naturalSize`,
+        the new value will be sent to the WebContent process in the IPC message
+        `MediaPlayerPrivateRemote::SizeChanged`. However, `RemoteMediaPlayerProxy` won't update
+        `m_cachedState.naturalSize`. So the next `MediaPlayerPrivateRemote::UpdateCachedState`
+        message will use the old `naturalSize` and the WebContent process will drop the correct value
+        after receiving the message.
+
+        * GPUProcess/media/RemoteMediaPlayerProxy.cpp:
+        (WebKit::RemoteMediaPlayerProxy::mediaPlayerSizeChanged):
+
 2021-07-13  Alex Christensen  <[email protected]>
 
         Unreviewed, reverting r279647.

Modified: trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp (279890 => 279891)


--- trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp	2021-07-13 20:56:39 UTC (rev 279890)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp	2021-07-13 21:08:25 UTC (rev 279891)
@@ -659,7 +659,8 @@
 
 void RemoteMediaPlayerProxy::mediaPlayerSizeChanged()
 {
-    m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::SizeChanged(m_player->naturalSize()), m_id);
+    m_cachedState.naturalSize = m_player->naturalSize();
+    m_webProcessConnection->send(Messages::MediaPlayerPrivateRemote::SizeChanged(m_cachedState.naturalSize), m_id);
 }
 
 void RemoteMediaPlayerProxy::mediaPlayerActiveSourceBuffersChanged()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to