Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b88d5c1970f976abeb9fe6d74e0433a922613818
      
https://github.com/WebKit/WebKit/commit/b88d5c1970f976abeb9fe6d74e0433a922613818
  Author: Youenn Fablet <[email protected]>
  Date:   2024-06-03 (Mon, 03 Jun 2024)

  Changed paths:
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h
    M Source/WebKit/NetworkProcess/storage/NetworkStorageManager.messages.in
    M Source/WebKit/Platform/IPC/Connection.h
    M Source/WebKit/Platform/IPC/MessageSenderInlines.h
    M Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp
    M Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h
    M Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp
    M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp
    M Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h
    M Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp
    M Tools/TestWebKitAPI/Tests/IPC/MessageSenderTests.cpp

  Log Message:
  -----------
  Allow to easily convert IPC NativePromises
https://bugs.webkit.org/show_bug.cgi?id=274957
rdar://129054558

Reviewed by Jean-Yves Avenard.

We sometimes use NativePromise in WebCore code and end up creating IPC 
NativePromises.
But the types between the two may not always match, for instance due to the 
handling of IPC::Error.
We used to use settle to adapt but it is more convenient to be able to convert 
directly before resolving/rejecting the promise.

We use this in WebCacheStorageConnection that has Promises defined in 
WebCore::CacheStorageConnection.
We use this for RemoteRealtimeMediaSourceProxy which has promises defined in 
WebCore::RemoteRealtimeMediaSource.

We update NetworkStorageManager::cacheStorageClearMemoryRepresentation as it is 
not returning any error.
We use a void completion handler instead.

* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::cacheStorageClearMemoryRepresentation):
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.h:
* Source/WebKit/NetworkProcess/storage/NetworkStorageManager.messages.in:
* Source/WebKit/Platform/IPC/Connection.h:
(IPC::Connection::PromiseConverter::convertResult):
(IPC::Connection::PromiseConverter::convertError):
(IPC::Connection::sendWithPromisedReply):
(IPC::Connection::makeAsyncReplyHandlerWithDispatcher):
* Source/WebKit/Platform/IPC/MessageSenderInlines.h:
(IPC::MessageSender::sendWithPromisedReply):
* Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp:
(WebKit::WebCacheStorageConnection::PromiseConverter::convertResult):
(WebKit::WebCacheStorageConnection::PromiseConverter::convertError):
(WebKit::WebCacheStorageConnection::open):
(WebKit::WebCacheStorageConnection::remove):
(WebKit::WebCacheStorageConnection::retrieveCaches):
(WebKit::WebCacheStorageConnection::retrieveRecords):
(WebKit::WebCacheStorageConnection::batchDeleteOperation):
(WebKit::WebCacheStorageConnection::batchPutOperation):
(WebKit::WebCacheStorageConnection::clearMemoryRepresentation):
(WebKit::WebCacheStorageConnection::engineRepresentation):
* Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h:
* Source/WebKit/WebProcess/GPU/webrtc/LibWebRTCCodecs.cpp:
(WebKit::LibWebRTCCodecs::encodeFrameInternal):
(WebKit::LibWebRTCCodecs::flushEncoder):
* Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.cpp:
(WebKit::RemoteRealtimeMediaSourceProxy::PromiseConverter::convertResult):
(WebKit::RemoteRealtimeMediaSourceProxy::PromiseConverter::convertError):
(WebKit::RemoteRealtimeMediaSourceProxy::takePhoto):
(WebKit::RemoteRealtimeMediaSourceProxy::getPhotoCapabilities):
(WebKit::RemoteRealtimeMediaSourceProxy::getPhotoSettings):
* Source/WebKit/WebProcess/cocoa/RemoteRealtimeMediaSourceProxy.h:
* Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp:
(TestWebKitAPI::TEST_P):
* Tools/TestWebKitAPI/Tests/IPC/MessageSenderTests.cpp:
(TestWebKitAPI::TEST_P):

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



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

Reply via email to