Title: [293073] branches/safari-613-branch/Source/WebKit
- Revision
- 293073
- Author
- [email protected]
- Date
- 2022-04-19 22:38:30 -0700 (Tue, 19 Apr 2022)
Log Message
Cherry-pick r292044. rdar://problem/86662565
Don't send sync RemoteMediaPlayerProxy messages that we know will fail
https://bugs.webkit.org/show_bug.cgi?id=238467
rdar://86662565
Reviewed by Jer Noble.
* WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime): Return early if
readyState is less than HaveCurrentData, or if the first frame is not available.
* WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
(WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime): Ditto.
(WebKit::MediaPlayerPrivateRemote::colorSpace): Ditto.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Modified Paths
Diff
Modified: branches/safari-613-branch/Source/WebKit/ChangeLog (293072 => 293073)
--- branches/safari-613-branch/Source/WebKit/ChangeLog 2022-04-20 05:38:27 UTC (rev 293072)
+++ branches/safari-613-branch/Source/WebKit/ChangeLog 2022-04-20 05:38:30 UTC (rev 293073)
@@ -1,5 +1,41 @@
2022-04-19 Alan Coon <[email protected]>
+ Cherry-pick r292044. rdar://problem/86662565
+
+ Don't send sync RemoteMediaPlayerProxy messages that we know will fail
+ https://bugs.webkit.org/show_bug.cgi?id=238467
+ rdar://86662565
+
+ Reviewed by Jer Noble.
+
+ * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
+ (WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime): Return early if
+ readyState is less than HaveCurrentData, or if the first frame is not available.
+
+ * WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
+ (WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime): Ditto.
+ (WebKit::MediaPlayerPrivateRemote::colorSpace): Ditto.
+
+ git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292044 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+ 2022-03-29 Eric Carlson <[email protected]>
+
+ Don't send sync RemoteMediaPlayerProxy messages that we know will fail
+ https://bugs.webkit.org/show_bug.cgi?id=238467
+ rdar://86662565
+
+ Reviewed by Jer Noble.
+
+ * WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
+ (WebKit::MediaPlayerPrivateRemote::videoFrameForCurrentTime): Return early if
+ readyState is less than HaveCurrentData, or if the first frame is not available.
+
+ * WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm:
+ (WebKit::MediaPlayerPrivateRemote::nativeImageForCurrentTime): Ditto.
+ (WebKit::MediaPlayerPrivateRemote::colorSpace): Ditto.
+
+2022-04-19 Alan Coon <[email protected]>
+
Cherry-pick r291606. rdar://problem/91446317
Website policies are not respected when doing COOP based process swap
Modified: branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp (293072 => 293073)
--- branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp 2022-04-20 05:38:27 UTC (rev 293072)
+++ branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp 2022-04-20 05:38:30 UTC (rev 293073)
@@ -1011,6 +1011,9 @@
std::optional<WebCore::MediaSampleVideoFrame> MediaPlayerPrivateRemote::videoFrameForCurrentTime()
{
+ if (readyState() < MediaPlayer::ReadyState::HaveCurrentData)
+ return { };
+
std::optional<WebCore::MediaSampleVideoFrame> result;
bool changed = false;
if (!connection().sendSync(Messages::RemoteMediaPlayerProxy::VideoFrameForCurrentTimeIfChanged(), Messages::RemoteMediaPlayerProxy::VideoFrameForCurrentTimeIfChanged::Reply(result, changed), m_id))
Modified: branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm (293072 => 293073)
--- branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm 2022-04-20 05:38:27 UTC (rev 293072)
+++ branches/safari-613-branch/Source/WebKit/WebProcess/GPU/media/cocoa/MediaPlayerPrivateRemoteCocoa.mm 2022-04-20 05:38:30 UTC (rev 293073)
@@ -59,6 +59,9 @@
RefPtr<NativeImage> MediaPlayerPrivateRemote::nativeImageForCurrentTime()
{
+ if (readyState() < MediaPlayer::ReadyState::HaveCurrentData)
+ return { };
+
if (m_pixelBufferGatheredWithVideoFrameMetadata) {
if (!m_pixelBufferConformer)
m_pixelBufferConformer = makeUnique<PixelBufferConformerCV>((__bridge CFDictionaryRef)@{ (__bridge NSString *)kCVPixelBufferPixelFormatTypeKey: @(kCVPixelFormatType_32BGRA) });
@@ -90,6 +93,9 @@
WebCore::DestinationColorSpace MediaPlayerPrivateRemote::colorSpace()
{
auto colorSpace = DestinationColorSpace::SRGB();
+ if (readyState() < MediaPlayer::ReadyState::HaveCurrentData)
+ return colorSpace;
+
connection().sendSync(Messages::RemoteMediaPlayerProxy::ColorSpace(), Messages::RemoteMediaPlayerProxy::ColorSpace::Reply(colorSpace), m_id);
return colorSpace;
}
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes