⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 245670 in webkit


Ignore:
Timestamp:
May 22, 2019, 7:17:52 PM (7 years ago)
Author:
youenn@apple.com
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:
Location:
trunk/Source/WebKit
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r245661 r245670  
     12019-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
    1212019-05-22  Ryosuke Niwa  <rniwa@webkit.org>
    222
  • trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.cpp

    r243276 r245670  
    150150}
    151151
    152 void CacheStorageEngineConnection::clearMemoryRepresentation(PAL::SessionID sessionID, uint64_t requestIdentifier, WebCore::ClientOrigin&& origin)
     152void CacheStorageEngineConnection::clearMemoryRepresentation(PAL::SessionID sessionID, WebCore::ClientOrigin&& origin, CompletionHandler<void(Optional<Error>&&)>&& completionHandler)
    153153{
    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));
    157155}
    158156
    159 void CacheStorageEngineConnection::engineRepresentation(PAL::SessionID sessionID, uint64_t requestIdentifier)
     157void CacheStorageEngineConnection::engineRepresentation(PAL::SessionID sessionID , CompletionHandler<void(String&&)>&& completionHandler)
    160158{
    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));
    164160}
    165161
  • trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.h

    r238771 r245670  
    6262    void dereference(PAL::SessionID, uint64_t cacheIdentifier);
    6363
    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&&)>&&);
    6666
    6767    NetworkConnectionToWebProcess& m_connection;
  • trunk/Source/WebKit/NetworkProcess/cache/CacheStorageEngineConnection.messages.in

    r238771 r245670  
    2929    Caches(PAL::SessionID sessionID, uint64_t requestIdentifier, struct WebCore::ClientOrigin origin, uint64_t updateCounter);
    3030
    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
    3333
    3434    RetrieveRecords(PAL::SessionID sessionID, uint64_t requestIdentifier, uint64_t cacheIdentifier, URL url);
  • trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.cpp

    r244225 r245670  
    129129void WebCacheStorageConnection::clearMemoryRepresentation(const WebCore::ClientOrigin& origin, CompletionCallback&& callback)
    130130{
    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));
    140132}
    141133
    142134void WebCacheStorageConnection::engineRepresentation(WTF::Function<void(const String&)>&& callback)
    143135{
    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));
    153137}
    154138
  • trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.h

    r243276 r245670  
    7676    void putRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError&&);
    7777
    78     void engineRepresentationCompleted(uint64_t requestIdentifier, const String& representation);
    79     void clearMemoryRepresentationCompleted(uint64_t requestIdentifier, Optional<WebCore::DOMCacheEngine::Error>&&);
    80 
    8178    WebCacheStorageProvider& m_provider;
    8279    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;
    8680};
    8781
  • trunk/Source/WebKit/WebProcess/Cache/WebCacheStorageConnection.messages.in

    r239427 r245670  
    2929    DeleteRecordsCompleted(uint64_t requestIdentifier, WebCore::DOMCacheEngine::RecordIdentifiersOrError result);
    3030    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);
    3431}
Note: See TracChangeset for help on using the changeset viewer.