Title: [245670] trunk/Source/WebKit
Revision
245670
Author
you...@apple.com
Date
2019-05-22 19:17:52 -0700 (Wed, 22 May 2019)

Log Message

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:

Modified Paths

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);
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to