Diff
Modified: trunk/Source/WebKit/ChangeLog (245669 => 245670)
--- trunk/Source/WebKit/ChangeLog 2019-05-23 01:47:29 UTC (rev 245669)
+++ trunk/Source/WebKit/ChangeLog 2019-05-23 02:17:52 UTC (rev 245670)
@@ -1,3 +1,23 @@
+2019-05-22 Youenn Fablet <you...@apple.com>
+
+ Use modern async IPC for EngineRepresentationCompleted and ClearMemoryRepresentationCompleted
+ https://bugs.webkit.org/show_bug.cgi?id=198134
+
+ Reviewed by Alex Christensen.
+
+ * NetworkProcess/cache/CacheStorageEngineConnection.cpp:
+ (WebKit::CacheStorageEngineConnection::clearMemoryRepresentation):
+ (WebKit::CacheStorageEngineConnection::engineRepresentation):
+ * NetworkProcess/cache/CacheStorageEngineConnection.h:
+ * NetworkProcess/cache/CacheStorageEngineConnection.messages.in:
+ * WebProcess/Cache/WebCacheStorageConnection.cpp:
+ (WebKit::WebCacheStorageConnection::clearMemoryRepresentation):
+ (WebKit::WebCacheStorageConnection::engineRepresentation):
+ (WebKit::WebCacheStorageConnection::clearMemoryRepresentationCompleted): Deleted.
+ (WebKit::WebCacheStorageConnection::engineRepresentationCompleted): Deleted.
+ * WebProcess/Cache/WebCacheStorageConnection.h:
+ * WebProcess/Cache/WebCacheStorageConnection.messages.in:
+
2019-05-22 Ryosuke Niwa <rn...@webkit.org>
REGRESSION(r245148): Removing inputmode="none" does not bring up software keyboard
Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp (245669 => 245670)
--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp 2019-05-23 01:47:29 UTC (rev 245669)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp 2019-05-23 02:17:52 UTC (rev 245670)
@@ -149,18 +149,14 @@
references.remove(referenceResult);
}
-void CacheStorageEngineConnection::clearMemoryRepresentation(PAL::SessionID sessionID, uint64_t requestIdentifier, WebCore::ClientOrigin&& origin)
+void CacheStorageEngineConnection::clearMemoryRepresentation(PAL::SessionID sessionID, WebCore::ClientOrigin&& origin, CompletionHandler<void(Optional<Error>&&)>&& completionHandler)
{
- Engine::clearMemoryRepresentation(m_connection.networkProcess(), sessionID, WTFMove(origin), [connection = makeRef(m_connection.connection()), sessionID, requestIdentifier] (Optional<Error>&& error) {
- connection->send(Messages::WebCacheStorageConnection::ClearMemoryRepresentationCompleted(requestIdentifier, error), sessionID.sessionID());
- });
+ Engine::clearMemoryRepresentation(m_connection.networkProcess(), sessionID, WTFMove(origin), WTFMove(completionHandler));
}
-void CacheStorageEngineConnection::engineRepresentation(PAL::SessionID sessionID, uint64_t requestIdentifier)
+void CacheStorageEngineConnection::engineRepresentation(PAL::SessionID sessionID , CompletionHandler<void(String&&)>&& completionHandler)
{
- Engine::representation(m_connection.networkProcess(), sessionID, [connection = makeRef(m_connection.connection()), sessionID, requestIdentifier] (auto&& representation) {
- connection->send(Messages::WebCacheStorageConnection::EngineRepresentationCompleted { requestIdentifier, representation }, sessionID.sessionID());
- });
+ Engine::representation(m_connection.networkProcess(), sessionID, WTFMove(completionHandler));
}
}
Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h (245669 => 245670)
--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h 2019-05-23 01:47:29 UTC (rev 245669)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h 2019-05-23 02:17:52 UTC (rev 245670)
@@ -61,8 +61,8 @@
void reference(PAL::SessionID, uint64_t cacheIdentifier);
void dereference(PAL::SessionID, uint64_t cacheIdentifier);
- void clearMemoryRepresentation(PAL::SessionID, uint64_t requestIdentifier, WebCore::ClientOrigin&&);
- void engineRepresentation(PAL::SessionID, uint64_t requestIdentifier);
+ void clearMemoryRepresentation(PAL::SessionID, WebCore::ClientOrigin&&, CompletionHandler<void(Optional<WebCore::DOMCacheEngine::Error>&&)>&&);
+ void engineRepresentation(PAL::SessionID, CompletionHandler<void(String&&)>&&);
NetworkConnectionToWebProcess& m_connection;
HashMap<PAL::SessionID, HashMap<CacheStorage::CacheIdentifier, CacheStorage::LockCount>> m_cachesLocks;
Modified: trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in (245669 => 245670)
--- trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in 2019-05-23 01:47:29 UTC (rev 245669)
+++ trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in 2019-05-23 02:17:52 UTC (rev 245670)
@@ -28,8 +28,8 @@
Remove(PAL::SessionID sessionID, uint64_t requestIdentifier, uint64_t cacheIdentifier);
Caches(PAL::SessionID sessionID, uint64_t requestIdentifier, struct WebCore::ClientOrigin origin, uint64_t updateCounter);
- ClearMemoryRepresentation(PAL::SessionID sessionID, uint64_t requestIdentifier, struct WebCore::ClientOrigin origin);
- EngineRepresentation(PAL::SessionID sessionID, uint64_t requestIdentifier);
+ ClearMemoryRepresentation(PAL::SessionID sessionID, struct WebCore::ClientOrigin origin) -> (Optional<WebCore::DOMCacheEngine::Error> error) Async
+ EngineRepresentation(PAL::SessionID sessionID) -> (String representation) Async
RetrieveRecords(PAL::SessionID sessionID, uint64_t requestIdentifier, uint64_t cacheIdentifier, URL url);
DeleteMatchingRecords(PAL::SessionID sessionID, uint64_t requestIdentifier, uint64_t cacheIdentifier, WebCore::ResourceRequest request, struct WebCore::CacheQueryOptions options);
Modified: trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp (245669 => 245670)
--- trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp 2019-05-23 01:47:29 UTC (rev 245669)
+++ trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp 2019-05-23 02:17:52 UTC (rev 245670)
@@ -128,30 +128,14 @@
void WebCacheStorageConnection::clearMemoryRepresentation(const WebCore::ClientOrigin& origin, CompletionCallback&& callback)
{
- uint64_t requestIdentifier = ++m_engineRepresentationNextIdentifier;
- m_clearRepresentationCallbacks.set(requestIdentifier, WTFMove(callback));
- connection().send(Messages::CacheStorageEngineConnection::ClearMemoryRepresentation(m_sessionID, requestIdentifier, origin), 0);
+ connection().sendWithAsyncReply(Messages::CacheStorageEngineConnection::ClearMemoryRepresentation { m_sessionID, origin }, WTFMove(callback));
}
-void WebCacheStorageConnection::clearMemoryRepresentationCompleted(uint64_t requestIdentifier, Optional<Error>&& result)
-{
- if (auto callback = m_clearRepresentationCallbacks.take(requestIdentifier))
- callback(WTFMove(result));
-}
-
void WebCacheStorageConnection::engineRepresentation(WTF::Function<void(const String&)>&& callback)
{
- uint64_t requestIdentifier = ++m_engineRepresentationNextIdentifier;
- m_engineRepresentationCallbacks.set(requestIdentifier, WTFMove(callback));
- connection().send(Messages::CacheStorageEngineConnection::EngineRepresentation(m_sessionID, requestIdentifier), 0);
+ connection().sendWithAsyncReply(Messages::CacheStorageEngineConnection::EngineRepresentation { m_sessionID }, WTFMove(callback));
}
-void WebCacheStorageConnection::engineRepresentationCompleted(uint64_t requestIdentifier, const String& result)
-{
- if (auto callback = m_engineRepresentationCallbacks.take(requestIdentifier))
- callback(result);
-}
-
void WebCacheStorageConnection::updateQuotaBasedOnSpaceUsage(const WebCore::ClientOrigin& origin)
{
connection().send(Messages::NetworkProcess::UpdateQuotaBasedOnSpaceUsageForTesting(m_sessionID, origin), 0);
Modified: trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h (245669 => 245670)
--- trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h 2019-05-23 01:47:29 UTC (rev 245669)
+++ trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h 2019-05-23 02:17:52 UTC (rev 245670)
@@ -75,14 +75,8 @@
void deleteRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError&&);
void putRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError&&);
- void engineRepresentationCompleted(uint64_t requestIdentifier, const String& representation);
- void clearMemoryRepresentationCompleted(uint64_t requestIdentifier, Optional<WebCore::DOMCacheEngine::Error>&&);
-
WebCacheStorageProvider& m_provider;
PAL::SessionID m_sessionID;
- uint64_t m_engineRepresentationNextIdentifier { 0 };
- HashMap<uint64_t, WTF::Function<void(const String&)>> m_engineRepresentationCallbacks;
- HashMap<uint64_t, WebCore::DOMCacheEngine::CompletionCallback> m_clearRepresentationCallbacks;
};
}
Modified: trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in (245669 => 245670)
--- trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in 2019-05-23 01:47:29 UTC (rev 245669)
+++ trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in 2019-05-23 02:17:52 UTC (rev 245670)
@@ -28,7 +28,4 @@
UpdateRecords(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordsOrError result);
DeleteRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError result);
PutRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError result);
-
- EngineRepresentationCompleted(uint64_t requestIdentifier, String representation);
- ClearMemoryRepresentationCompleted(uint64_t requestIdentifier, Optional<WebCore::DOMCacheEngine::Error> error);
}