Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: a6f08a128028cea1a82e0b4ce7ed08e14b712b6d
      
https://github.com/WebKit/WebKit/commit/a6f08a128028cea1a82e0b4ce7ed08e14b712b6d
  Author: Jean-Yves Avenard <j...@apple.com>
  Date:   2024-06-06 (Thu, 06 Jun 2024)

  Changed paths:
    M Source/WebCore/Modules/mediasource/SourceBuffer.h
    M Source/WebCore/platform/MediaPromiseTypes.h
    M Source/WebCore/platform/graphics/SourceBufferPrivate.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp
    M Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp
    M Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp
    M Source/WebKit/Platform/IPC/Connection.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp
    M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h
    M Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp

  Log Message:
  -----------
  Use PromiseConverter for Media IPC promises where useful
https://bugs.webkit.org/show_bug.cgi?id=275056
rdar://129161680

Reviewed by Youenn Fablet.

We use PromiseConverter in Media code so as to translate to media NativePromise 
from IPC ones.
We introduce a MediaPromiseConverter for that purpose.

We use it in Remote objects.
We update SourceBuffer::SamplesPromise to take a PlatformMediaError instead of 
an int.
This allows to reuse MediaPromiseConverter a bit more.
We update Internals::bufferedSamplesForTrackId and 
Internals::enqueuedSamplesForTrackID to test for potential errors and reject 
the JS promise accordingly.

We also update SourceBufferPrivateRemote::bufferedSamplesForTrackId and 
SourceBufferPrivateRemote::enqueuedSamplesForTrackID to reject in case of IPC 
error.
This is ok as this is a testing API only.

Fly-by: remove no longer used Connection::sendWithPromisedReplyOnDispatcher

* Source/WebCore/Modules/mediasource/SourceBuffer.h:
* Source/WebCore/platform/MediaPromiseTypes.h:
(WebCore::MediaErrorPromiseConverter::convertError):
* Source/WebCore/platform/graphics/SourceBufferPrivate.h:
* Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::bufferedSamplesForTrackId):
(WebCore::Internals::enqueuedSamplesForTrackID):
* Source/WebKit/GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::commitAllTransactions):
* Source/WebKit/GPUProcess/media/RemoteMediaSourceProxy.cpp:
(WebKit::RemoteMediaSourceProxy::waitForTarget):
(WebKit::RemoteMediaSourceProxy::seekToTime):
* Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDidReceiveInitializationSegment):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateDurationChanged):
(WebKit::RemoteSourceBufferProxy::sourceBufferPrivateBufferedChanged):
* Source/WebKit/Platform/IPC/Connection.h:
(IPC::Connection::sendWithPromisedReply):
(IPC::Connection::sendWithPromisedReplyOnDispatcher): Deleted.
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::removeCodedFrames):
(WebKit::SourceBufferPrivateRemote::setMaximumBufferSize):
(WebKit::SourceBufferPrivateRemote::computeSeekTime):
(WebKit::SourceBufferPrivateRemote::bufferedSamplesForTrackId):
(WebKit::SourceBufferPrivateRemote::enqueuedSamplesForTrackID):
* Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h:
* Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to