WebKit Bugzilla
Attachment 370423 Details for
Bug 198134
: Use modern async IPC for EngineRepresentationCompleted and ClearMemoryRepresentationCompleted
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-198134-20190522110356.patch (text/plain), 10.19 KB, created by
youenn fablet
on 2019-05-22 11:03:57 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
youenn fablet
Created:
2019-05-22 11:03:57 PDT
Size:
10.19 KB
patch
obsolete
>Subversion Revision: 245568 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index da3c2437a7f353bd45220dfda5ad597b4ca2098f..1e7bb92a6773c644965d123379279822c75c7f47 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,23 @@ >+2019-05-22 Youenn Fablet <youenn@apple.com> >+ >+ Use modern async IPC for EngineRepresentationCompleted and ClearMemoryRepresentationCompleted >+ https://bugs.webkit.org/show_bug.cgi?id=198134 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * 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 Youenn Fablet <youenn@apple.com> > > Set default WebsiteDataStore storage quota based on StorageQuotaManager >diff --git a/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp b/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp >index 5a222344320362aa198c17d16a7b7f6dd7f78b2a..dd2b12ebe24dc6357c5c8c9c44dad957f056b458 100644 >--- a/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp >+++ b/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp >@@ -149,18 +149,14 @@ void CacheStorageEngineConnection::dereference(PAL::SessionID sessionID, uint64_ > 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)); > } > > } >diff --git a/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h b/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h >index 6a3ddc63d2a0885ca4c51425e56c3a5cc9683a51..79a5371b806e0ecbcb557127a9b0b40dd3683232 100644 >--- a/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h >+++ b/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h >@@ -61,8 +61,8 @@ private: > 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; >diff --git a/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in b/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in >index 60e39aa2c405dcc98aaa920094ae10d8eab543c1..d9975d4cd837252d4828c9a206066eda614dbad6 100644 >--- a/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in >+++ b/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in >@@ -28,8 +28,8 @@ messages -> CacheStorageEngineConnection { > 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); >diff --git a/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp b/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp >index 0b8ffb16440d30bdabf5529cd363af9797d31c48..1bd2060cd61aeab3fda71314105ed815dc938a0c 100644 >--- a/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp >+++ b/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp >@@ -128,28 +128,12 @@ void WebCacheStorageConnection::putRecordsCompleted(uint64_t requestIdentifier, > > 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); >-} >- >-void WebCacheStorageConnection::clearMemoryRepresentationCompleted(uint64_t requestIdentifier, Optional<Error>&& result) >-{ >- if (auto callback = m_clearRepresentationCallbacks.take(requestIdentifier)) >- callback(WTFMove(result)); >+ connection().sendWithAsyncReply(Messages::CacheStorageEngineConnection::ClearMemoryRepresentation { m_sessionID, origin }, WTFMove(callback)); > } > > 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); >-} >- >-void WebCacheStorageConnection::engineRepresentationCompleted(uint64_t requestIdentifier, const String& result) >-{ >- if (auto callback = m_engineRepresentationCallbacks.take(requestIdentifier)) >- callback(result); >+ connection().sendWithAsyncReply(Messages::CacheStorageEngineConnection::EngineRepresentation { m_sessionID }, WTFMove(callback)); > } > > void WebCacheStorageConnection::updateQuotaBasedOnSpaceUsage(const WebCore::ClientOrigin& origin) >diff --git a/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h b/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h >index c47fc74a26153fb13f426a8ebeb932c123515c91..c16f310edf3802351c8731d7266982ed8e33b518 100644 >--- a/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h >+++ b/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h >@@ -75,14 +75,8 @@ private: > 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; > }; > > } >diff --git a/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in b/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in >index 6ea5a149a17fbbbe08afd6d3c420a6f672b51400..5e67ec914753deff01fb927cf1c8a85b6c4a442d 100644 >--- a/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in >+++ b/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in >@@ -28,7 +28,4 @@ messages -> WebCacheStorageConnection { > 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); > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 198134
: 370423