[webkit-changes] [WebKit/WebKit] b88d5c: Allow to easily convert IPC NativePromises
youennf
noreply at github.com
Mon Jun 3 05:33:57 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: b88d5c1970f976abeb9fe6d74e0433a922613818
https://github.com/WebKit/WebKit/commit/b88d5c1970f976abeb9fe6d74e0433a922613818
Author: Youenn Fablet <youenn at apple.com>
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
More information about the webkit-changes
mailing list