Changeset 245670 in webkit
- Timestamp:
- May 22, 2019, 7:17:52 PM (7 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 7 edited
-
ChangeLog (modified) (1 diff)
-
NetworkProcess/cache/CacheStorageEngineConnection.cpp (modified) (1 diff)
-
NetworkProcess/cache/CacheStorageEngineConnection.h (modified) (1 diff)
-
NetworkProcess/cache/CacheStorageEngineConnection.messages.in (modified) (1 diff)
-
WebProcess/Cache/WebCacheStorageConnection.cpp (modified) (1 diff)
-
WebProcess/Cache/WebCacheStorageConnection.h (modified) (1 diff)
-
WebProcess/Cache/WebCacheStorageConnection.messages.in (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r245661 r245670 1 2019-05-22 Youenn Fablet <youenn@apple.com> 2 3 Use modern async IPC for EngineRepresentationCompleted and ClearMemoryRepresentationCompleted 4 https://bugs.webkit.org/show_bug.cgi?id=198134 5 6 Reviewed by Alex Christensen. 7 8 * NetworkProcess/cache/CacheStorageEngineConnection.cpp: 9 (WebKit::CacheStorageEngineConnection::clearMemoryRepresentation): 10 (WebKit::CacheStorageEngineConnection::engineRepresentation): 11 * NetworkProcess/cache/CacheStorageEngineConnection.h: 12 * NetworkProcess/cache/CacheStorageEngineConnection.messages.in: 13 * WebProcess/Cache/WebCacheStorageConnection.cpp: 14 (WebKit::WebCacheStorageConnection::clearMemoryRepresentation): 15 (WebKit::WebCacheStorageConnection::engineRepresentation): 16 (WebKit::WebCacheStorageConnection::clearMemoryRepresentationCompleted): Deleted. 17 (WebKit::WebCacheStorageConnection::engineRepresentationCompleted): Deleted. 18 * WebProcess/Cache/WebCacheStorageConnection.h: 19 * WebProcess/Cache/WebCacheStorageConnection.messages.in: 20 1 21 2019-05-22 Ryosuke Niwa <rniwa@webkit.org> 2 22 -
trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp
r243276 r245670 150 150 } 151 151 152 void CacheStorageEngineConnection::clearMemoryRepresentation(PAL::SessionID sessionID, uint64_t requestIdentifier, WebCore::ClientOrigin&& origin)152 void CacheStorageEngineConnection::clearMemoryRepresentation(PAL::SessionID sessionID, WebCore::ClientOrigin&& origin, CompletionHandler<void(Optional<Error>&&)>&& completionHandler) 153 153 { 154 Engine::clearMemoryRepresentation(m_connection.networkProcess(), sessionID, WTFMove(origin), [connection = makeRef(m_connection.connection()), sessionID, requestIdentifier] (Optional<Error>&& error) { 155 connection->send(Messages::WebCacheStorageConnection::ClearMemoryRepresentationCompleted(requestIdentifier, error), sessionID.sessionID()); 156 }); 154 Engine::clearMemoryRepresentation(m_connection.networkProcess(), sessionID, WTFMove(origin), WTFMove(completionHandler)); 157 155 } 158 156 159 void CacheStorageEngineConnection::engineRepresentation(PAL::SessionID sessionID , uint64_t requestIdentifier)157 void CacheStorageEngineConnection::engineRepresentation(PAL::SessionID sessionID , CompletionHandler<void(String&&)>&& completionHandler) 160 158 { 161 Engine::representation(m_connection.networkProcess(), sessionID, [connection = makeRef(m_connection.connection()), sessionID, requestIdentifier] (auto&& representation) { 162 connection->send(Messages::WebCacheStorageConnection::EngineRepresentationCompleted { requestIdentifier, representation }, sessionID.sessionID()); 163 }); 159 Engine::representation(m_connection.networkProcess(), sessionID, WTFMove(completionHandler)); 164 160 } 165 161 -
trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h
r238771 r245670 62 62 void dereference(PAL::SessionID, uint64_t cacheIdentifier); 63 63 64 void clearMemoryRepresentation(PAL::SessionID, uint64_t requestIdentifier, WebCore::ClientOrigin&&);65 void engineRepresentation(PAL::SessionID, uint64_t requestIdentifier);64 void clearMemoryRepresentation(PAL::SessionID, WebCore::ClientOrigin&&, CompletionHandler<void(Optional<WebCore::DOMCacheEngine::Error>&&)>&&); 65 void engineRepresentation(PAL::SessionID, CompletionHandler<void(String&&)>&&); 66 66 67 67 NetworkConnectionToWebProcess& m_connection; -
trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in
r238771 r245670 29 29 Caches(PAL::SessionID sessionID, uint64_t requestIdentifier, struct WebCore::ClientOrigin origin, uint64_t updateCounter); 30 30 31 ClearMemoryRepresentation(PAL::SessionID sessionID, uint64_t requestIdentifier, struct WebCore::ClientOrigin origin);32 EngineRepresentation(PAL::SessionID sessionID , uint64_t requestIdentifier);31 ClearMemoryRepresentation(PAL::SessionID sessionID, struct WebCore::ClientOrigin origin) -> (Optional<WebCore::DOMCacheEngine::Error> error) Async 32 EngineRepresentation(PAL::SessionID sessionID) -> (String representation) Async 33 33 34 34 RetrieveRecords(PAL::SessionID sessionID, uint64_t requestIdentifier, uint64_t cacheIdentifier, URL url); -
trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp
r244225 r245670 129 129 void WebCacheStorageConnection::clearMemoryRepresentation(const WebCore::ClientOrigin& origin, CompletionCallback&& callback) 130 130 { 131 uint64_t requestIdentifier = ++m_engineRepresentationNextIdentifier; 132 m_clearRepresentationCallbacks.set(requestIdentifier, WTFMove(callback)); 133 connection().send(Messages::CacheStorageEngineConnection::ClearMemoryRepresentation(m_sessionID, requestIdentifier, origin), 0); 134 } 135 136 void WebCacheStorageConnection::clearMemoryRepresentationCompleted(uint64_t requestIdentifier, Optional<Error>&& result) 137 { 138 if (auto callback = m_clearRepresentationCallbacks.take(requestIdentifier)) 139 callback(WTFMove(result)); 131 connection().sendWithAsyncReply(Messages::CacheStorageEngineConnection::ClearMemoryRepresentation { m_sessionID, origin }, WTFMove(callback)); 140 132 } 141 133 142 134 void WebCacheStorageConnection::engineRepresentation(WTF::Function<void(const String&)>&& callback) 143 135 { 144 uint64_t requestIdentifier = ++m_engineRepresentationNextIdentifier; 145 m_engineRepresentationCallbacks.set(requestIdentifier, WTFMove(callback)); 146 connection().send(Messages::CacheStorageEngineConnection::EngineRepresentation(m_sessionID, requestIdentifier), 0); 147 } 148 149 void WebCacheStorageConnection::engineRepresentationCompleted(uint64_t requestIdentifier, const String& result) 150 { 151 if (auto callback = m_engineRepresentationCallbacks.take(requestIdentifier)) 152 callback(result); 136 connection().sendWithAsyncReply(Messages::CacheStorageEngineConnection::EngineRepresentation { m_sessionID }, WTFMove(callback)); 153 137 } 154 138 -
trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h
r243276 r245670 76 76 void putRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError&&); 77 77 78 void engineRepresentationCompleted(uint64_t requestIdentifier, const String& representation);79 void clearMemoryRepresentationCompleted(uint64_t requestIdentifier, Optional<WebCore::DOMCacheEngine::Error>&&);80 81 78 WebCacheStorageProvider& m_provider; 82 79 PAL::SessionID m_sessionID; 83 uint64_t m_engineRepresentationNextIdentifier { 0 };84 HashMap<uint64_t, WTF::Function<void(const String&)>> m_engineRepresentationCallbacks;85 HashMap<uint64_t, WebCore::DOMCacheEngine::CompletionCallback> m_clearRepresentationCallbacks;86 80 }; 87 81 -
trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in
r239427 r245670 29 29 DeleteRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError result); 30 30 PutRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError result); 31 32 EngineRepresentationCompleted(uint64_t requestIdentifier, String representation);33 ClearMemoryRepresentationCompleted(uint64_t requestIdentifier, Optional<WebCore::DOMCacheEngine::Error> error);34 31 }
Note:
See TracChangeset
for help on using the changeset viewer.