Changeset 231931 in webkit


Ignore:
Timestamp:
May 17, 2018 4:58:01 PM (6 years ago)
Author:
commit-queue@webkit.org
Message:

Use CompletionHandlers for DelayedReplies
https://bugs.webkit.org/show_bug.cgi?id=182269

Patch by Alex Christensen <achristensen@webkit.org> on 2018-05-17
Reviewed by Youenn Fablet.

DelayedReplies should be a noncopyable, non-refcountable type. They should be
called once and only once. This is what CompletionHandlers are for.

No change in behavior. Just cleaner code.

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
(WebKit::sendReplyToSynchronousRequest):
(WebKit::NetworkResourceLoader::NetworkResourceLoader):

  • NetworkProcess/NetworkResourceLoader.h:
  • Platform/IPC/HandleMessage.h:

(IPC::callMemberFunctionImpl):
(IPC::callMemberFunction):
(IPC::handleMessageDelayed):

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::setInitializationReply):
(WebKit::PluginControllerProxy::takeInitializationReply):

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::destroyPlugin):
(WebKit::WebProcessConnection::createPlugin):
(WebKit::WebProcessConnection::createPluginAsynchronously):

  • PluginProcess/WebProcessConnection.h:
  • Scripts/webkit/LegacyMessageReceiver-expected.cpp:

(Messages::WebPage::GetPluginProcessConnection::send):
(Messages::WebPage::TestMultipleAttributes::send):
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply): Deleted.
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::~DelayedReply): Deleted.
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::~DelayedReply): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::send): Deleted.

  • Scripts/webkit/LegacyMessages-expected.h:
  • Scripts/webkit/MessageReceiver-expected.cpp:

(Messages::WebPage::GetPluginProcessConnection::send):
(Messages::WebPage::TestMultipleAttributes::send):
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply): Deleted.
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::~DelayedReply): Deleted.
(Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::~DelayedReply): Deleted.
(Messages::WebPage::TestMultipleAttributes::DelayedReply::send): Deleted.

  • Scripts/webkit/Messages-expected.h:
  • Scripts/webkit/messages.py:
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::getNetworkProcessConnection):
(WebKit::NetworkProcessProxy::networkProcessCrashed):
(WebKit::NetworkProcessProxy::networkProcessFailedToLaunch):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Plugins/PluginProcessManager.cpp:

(WebKit::PluginProcessManager::getPluginProcessConnection):

  • UIProcess/Plugins/PluginProcessManager.h:
  • UIProcess/Plugins/PluginProcessProxy.cpp:

(WebKit::PluginProcessProxy::getPluginProcessConnection):
(WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
(WebKit::PluginProcessProxy::didCreateWebProcessConnection):

  • UIProcess/Plugins/PluginProcessProxy.h:
  • UIProcess/Storage/StorageProcessProxy.cpp:

(WebKit::StorageProcessProxy::getStorageProcessConnection):
(WebKit::StorageProcessProxy::didClose):
(WebKit::StorageProcessProxy::didCreateStorageToWebProcessConnection):

  • UIProcess/Storage/StorageProcessProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::ExceededDatabaseQuotaRecords::createRecord):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
(WebKit::WebPageProxy::createNewPage):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::webGLPolicyForURL):
(WebKit::WebPageProxy::resolveWebGLPolicyForURL):
(WebKit::WebPageProxy::getToolbarsAreVisible):
(WebKit::WebPageProxy::getMenuBarIsVisible):
(WebKit::WebPageProxy::getStatusBarIsVisible):
(WebKit::WebPageProxy::getWindowFrame):
(WebKit::WebPageProxy::screenToRootView):
(WebKit::WebPageProxy::rootViewToScreen):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::exceededDatabaseQuota):
(WebKit::WebPageProxy::reachedApplicationCacheOriginQuota):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::networkProcessCrashed):
(WebKit::WebProcessPool::getNetworkProcessConnection):
(WebKit::WebProcessPool::getStorageProcessConnection):

  • UIProcess/WebProcessPool.h:
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::getPluginProcessConnection):
(WebKit::WebProcessProxy::getNetworkProcessConnection):
(WebKit::WebProcessProxy::getStorageProcessConnection):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/Storage/WebSWContextManagerConnection.cpp:

(WebKit::WebSWContextManagerConnection::syncTerminateWorker):

  • WebProcess/Storage/WebSWContextManagerConnection.h:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::computePagesForPrintingAndDrawToPDF):

Location:
trunk/Source/WebKit
Files:
33 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r231926 r231931  
     12018-05-17  Alex Christensen  <achristensen@webkit.org>
     2
     3        Use CompletionHandlers for DelayedReplies
     4        https://bugs.webkit.org/show_bug.cgi?id=182269
     5
     6        Reviewed by Youenn Fablet.
     7
     8        DelayedReplies should be a noncopyable, non-refcountable type.  They should be
     9        called once and only once.  This is what CompletionHandlers are for.
     10
     11        No change in behavior.  Just cleaner code.
     12
     13        * NetworkProcess/NetworkConnectionToWebProcess.cpp:
     14        (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
     15        * NetworkProcess/NetworkConnectionToWebProcess.h:
     16        * NetworkProcess/NetworkResourceLoader.cpp:
     17        (WebKit::NetworkResourceLoader::SynchronousLoadData::SynchronousLoadData):
     18        (WebKit::sendReplyToSynchronousRequest):
     19        (WebKit::NetworkResourceLoader::NetworkResourceLoader):
     20        * NetworkProcess/NetworkResourceLoader.h:
     21        * Platform/IPC/HandleMessage.h:
     22        (IPC::callMemberFunctionImpl):
     23        (IPC::callMemberFunction):
     24        (IPC::handleMessageDelayed):
     25        * PluginProcess/PluginControllerProxy.cpp:
     26        (WebKit::PluginControllerProxy::setInitializationReply):
     27        (WebKit::PluginControllerProxy::takeInitializationReply):
     28        * PluginProcess/PluginControllerProxy.h:
     29        * PluginProcess/WebProcessConnection.cpp:
     30        (WebKit::WebProcessConnection::destroyPlugin):
     31        (WebKit::WebProcessConnection::createPlugin):
     32        (WebKit::WebProcessConnection::createPluginAsynchronously):
     33        * PluginProcess/WebProcessConnection.h:
     34        * Scripts/webkit/LegacyMessageReceiver-expected.cpp:
     35        (Messages::WebPage::GetPluginProcessConnection::send):
     36        (Messages::WebPage::TestMultipleAttributes::send):
     37        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply): Deleted.
     38        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::~DelayedReply): Deleted.
     39        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): Deleted.
     40        (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply): Deleted.
     41        (Messages::WebPage::TestMultipleAttributes::DelayedReply::~DelayedReply): Deleted.
     42        (Messages::WebPage::TestMultipleAttributes::DelayedReply::send): Deleted.
     43        * Scripts/webkit/LegacyMessages-expected.h:
     44        * Scripts/webkit/MessageReceiver-expected.cpp:
     45        (Messages::WebPage::GetPluginProcessConnection::send):
     46        (Messages::WebPage::TestMultipleAttributes::send):
     47        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::DelayedReply): Deleted.
     48        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::~DelayedReply): Deleted.
     49        (Messages::WebPage::GetPluginProcessConnection::DelayedReply::send): Deleted.
     50        (Messages::WebPage::TestMultipleAttributes::DelayedReply::DelayedReply): Deleted.
     51        (Messages::WebPage::TestMultipleAttributes::DelayedReply::~DelayedReply): Deleted.
     52        (Messages::WebPage::TestMultipleAttributes::DelayedReply::send): Deleted.
     53        * Scripts/webkit/Messages-expected.h:
     54        * Scripts/webkit/messages.py:
     55        * UIProcess/Network/NetworkProcessProxy.cpp:
     56        (WebKit::NetworkProcessProxy::getNetworkProcessConnection):
     57        (WebKit::NetworkProcessProxy::networkProcessCrashed):
     58        (WebKit::NetworkProcessProxy::networkProcessFailedToLaunch):
     59        (WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):
     60        * UIProcess/Network/NetworkProcessProxy.h:
     61        * UIProcess/Plugins/PluginProcessManager.cpp:
     62        (WebKit::PluginProcessManager::getPluginProcessConnection):
     63        * UIProcess/Plugins/PluginProcessManager.h:
     64        * UIProcess/Plugins/PluginProcessProxy.cpp:
     65        (WebKit::PluginProcessProxy::getPluginProcessConnection):
     66        (WebKit::PluginProcessProxy::pluginProcessCrashedOrFailedToLaunch):
     67        (WebKit::PluginProcessProxy::didCreateWebProcessConnection):
     68        * UIProcess/Plugins/PluginProcessProxy.h:
     69        * UIProcess/Storage/StorageProcessProxy.cpp:
     70        (WebKit::StorageProcessProxy::getStorageProcessConnection):
     71        (WebKit::StorageProcessProxy::didClose):
     72        (WebKit::StorageProcessProxy::didCreateStorageToWebProcessConnection):
     73        * UIProcess/Storage/StorageProcessProxy.h:
     74        * UIProcess/WebPageProxy.cpp:
     75        (WebKit::ExceededDatabaseQuotaRecords::createRecord):
     76        (WebKit::WebPageProxy::receivedPolicyDecision):
     77        (WebKit::WebPageProxy::decidePolicyForNavigationActionSync):
     78        (WebKit::WebPageProxy::createNewPage):
     79        (WebKit::WebPageProxy::runJavaScriptAlert):
     80        (WebKit::WebPageProxy::runJavaScriptConfirm):
     81        (WebKit::WebPageProxy::runJavaScriptPrompt):
     82        (WebKit::WebPageProxy::webGLPolicyForURL):
     83        (WebKit::WebPageProxy::resolveWebGLPolicyForURL):
     84        (WebKit::WebPageProxy::getToolbarsAreVisible):
     85        (WebKit::WebPageProxy::getMenuBarIsVisible):
     86        (WebKit::WebPageProxy::getStatusBarIsVisible):
     87        (WebKit::WebPageProxy::getWindowFrame):
     88        (WebKit::WebPageProxy::screenToRootView):
     89        (WebKit::WebPageProxy::rootViewToScreen):
     90        (WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
     91        (WebKit::WebPageProxy::exceededDatabaseQuota):
     92        (WebKit::WebPageProxy::reachedApplicationCacheOriginQuota):
     93        * UIProcess/WebPageProxy.h:
     94        * UIProcess/WebProcessPool.cpp:
     95        (WebKit::WebProcessPool::networkProcessCrashed):
     96        (WebKit::WebProcessPool::getNetworkProcessConnection):
     97        (WebKit::WebProcessPool::getStorageProcessConnection):
     98        * UIProcess/WebProcessPool.h:
     99        * UIProcess/WebProcessProxy.cpp:
     100        (WebKit::WebProcessProxy::getPluginProcessConnection):
     101        (WebKit::WebProcessProxy::getNetworkProcessConnection):
     102        (WebKit::WebProcessProxy::getStorageProcessConnection):
     103        * UIProcess/WebProcessProxy.h:
     104        * WebProcess/Storage/WebSWContextManagerConnection.cpp:
     105        (WebKit::WebSWContextManagerConnection::syncTerminateWorker):
     106        * WebProcess/Storage/WebSWContextManagerConnection.h:
     107        * WebProcess/WebPage/WebPage.h:
     108        * WebProcess/WebPage/ios/WebPageIOS.mm:
     109        (WebKit::WebPage::computePagesForPrintingAndDrawToPDF):
     110
    11112018-05-17  Jer Noble  <jer.noble@apple.com>
    2112
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp

    r231282 r231931  
    250250}
    251251
    252 void NetworkConnectionToWebProcess::performSynchronousLoad(NetworkResourceLoadParameters&& loadParameters, Ref<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& reply)
     252void NetworkConnectionToWebProcess::performSynchronousLoad(NetworkResourceLoadParameters&& loadParameters, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply)
    253253{
    254254    auto identifier = loadParameters.identifier;
  • trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h

    r231282 r231931  
    132132
    133133    void scheduleResourceLoad(NetworkResourceLoadParameters&&);
    134     void performSynchronousLoad(NetworkResourceLoadParameters&&, Ref<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&&);
     134    void performSynchronousLoad(NetworkResourceLoadParameters&&, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&&);
    135135    void loadPing(NetworkResourceLoadParameters&&);
    136136    void prefetchDNS(const String&);
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp

    r231730 r231931  
    7575
    7676struct NetworkResourceLoader::SynchronousLoadData {
    77     SynchronousLoadData(RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& reply)
     77    SynchronousLoadData(Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply)
    7878        : delayedReply(WTFMove(reply))
    7979    {
     
    8181    }
    8282    ResourceRequest currentRequest;
    83     RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply> delayedReply;
     83    Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply delayedReply;
    8484    ResourceResponse response;
    8585    ResourceError error;
     
    9595        responseBuffer.append(buffer->data(), buffer->size());
    9696
    97     data.delayedReply->send(data.error, data.response, responseBuffer);
     97    data.delayedReply(data.error, data.response, responseBuffer);
    9898    data.delayedReply = nullptr;
    9999}
    100100
    101 NetworkResourceLoader::NetworkResourceLoader(NetworkResourceLoadParameters&& parameters, NetworkConnectionToWebProcess& connection, RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& synchronousReply)
     101NetworkResourceLoader::NetworkResourceLoader(NetworkResourceLoadParameters&& parameters, NetworkConnectionToWebProcess& connection, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& synchronousReply)
    102102    : m_parameters { WTFMove(parameters) }
    103103    , m_connection { connection }
  • trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h

    r231479 r231931  
    6363    , public WebCore::ContentSecurityPolicyClient {
    6464public:
    65     static Ref<NetworkResourceLoader> create(NetworkResourceLoadParameters&& parameters, NetworkConnectionToWebProcess& connection, RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& reply = nullptr)
     65    static Ref<NetworkResourceLoader> create(NetworkResourceLoadParameters&& parameters, NetworkConnectionToWebProcess& connection, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply = nullptr)
    6666    {
    6767        return adoptRef(*new NetworkResourceLoader(WTFMove(parameters), connection, WTFMove(reply)));
     
    124124
    125125private:
    126     NetworkResourceLoader(NetworkResourceLoadParameters&&, NetworkConnectionToWebProcess&, RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&&);
     126    NetworkResourceLoader(NetworkResourceLoadParameters&&, NetworkConnectionToWebProcess&, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&&);
    127127
    128128    // IPC::MessageSender
  • trunk/Source/WebKit/Platform/IPC/HandleMessage.h

    r230293 r231931  
    2727
    2828#include "ArgumentCoders.h"
     29#include <wtf/CompletionHandler.h>
    2930#include <wtf/StdLibExtras.h>
    3031
     
    6364// Dispatch functions with delayed reply arguments.
    6465
    65 template <typename C, typename MF, typename R, typename ArgsTuple, size_t... ArgsIndex>
    66 void callMemberFunctionImpl(C* object, MF function, Ref<R>&& delayedReply, ArgsTuple&& args, std::index_sequence<ArgsIndex...>)
     66template <typename C, typename MF, typename CH, typename ArgsTuple, size_t... ArgsIndex>
     67void callMemberFunctionImpl(C* object, MF function, CompletionHandler<CH>&& completionHandler, ArgsTuple&& args, std::index_sequence<ArgsIndex...>)
    6768{
    68     (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))..., WTFMove(delayedReply));
     69    (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))..., WTFMove(completionHandler));
    6970}
    7071
    71 template<typename C, typename MF, typename R, typename ArgsTuple, typename ArgsIndicies = std::make_index_sequence<std::tuple_size<ArgsTuple>::value>>
    72 void callMemberFunction(ArgsTuple&& args, Ref<R>&& delayedReply, C* object, MF function)
     72template<typename C, typename MF, typename CH, typename ArgsTuple, typename ArgsIndicies = std::make_index_sequence<std::tuple_size<ArgsTuple>::value>>
     73void callMemberFunction(ArgsTuple&& args, CompletionHandler<CH>&& completionHandler, C* object, MF function)
    7374{
    74     callMemberFunctionImpl(object, function, WTFMove(delayedReply), std::forward<ArgsTuple>(args), ArgsIndicies());
     75    callMemberFunctionImpl(object, function, WTFMove(completionHandler), std::forward<ArgsTuple>(args), ArgsIndicies());
    7576}
    7677
     
    175176    }
    176177
    177     Ref<typename T::DelayedReply> delayedReply = adoptRef(*new typename T::DelayedReply(connection, WTFMove(replyEncoder)));
    178     callMemberFunction(WTFMove(arguments), WTFMove(delayedReply), object, function);
     178    typename T::DelayedReply completionHandler = [replyEncoder = WTFMove(replyEncoder), connection = makeRef(connection)] (auto&&... args) mutable {
     179        T::send(WTFMove(replyEncoder), WTFMove(connection), args...);
     180    };
     181    callMemberFunction(WTFMove(arguments), WTFMove(completionHandler), object, function);
    179182}
    180183
  • trunk/Source/WebKit/PluginProcess/PluginControllerProxy.cpp

    r230293 r231931  
    9292}
    9393
    94 void PluginControllerProxy::setInitializationReply(Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&& reply)
     94void PluginControllerProxy::setInitializationReply(Messages::WebProcessConnection::CreatePlugin::DelayedReply&& reply)
    9595{
    9696    ASSERT(!m_initializationReply);
     
    9898}
    9999
    100 RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> PluginControllerProxy::takeInitializationReply()
    101 {
    102     return m_initializationReply;
     100Messages::WebProcessConnection::CreatePlugin::DelayedReply PluginControllerProxy::takeInitializationReply()
     101{
     102    return std::exchange(m_initializationReply, nullptr);
    103103}
    104104
  • trunk/Source/WebKit/PluginProcess/PluginControllerProxy.h

    r230293 r231931  
    7575    bool isInitializing() const { return m_isInitializing; }
    7676   
    77     void setInitializationReply(Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&&);
    78     RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> takeInitializationReply();
     77    void setInitializationReply(Messages::WebProcessConnection::CreatePlugin::DelayedReply&&);
     78    Messages::WebProcessConnection::CreatePlugin::DelayedReply takeInitializationReply();
    7979
    8080private:
     
    184184    bool m_isWindowVisible;
    185185
    186     RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> m_initializationReply;
     186    Messages::WebProcessConnection::CreatePlugin::DelayedReply m_initializationReply;
    187187
    188188    RefPtr<Plugin> m_plugin;
  • trunk/Source/WebKit/PluginProcess/WebProcessConnection.cpp

    r230293 r231931  
    180180}
    181181
    182 void WebProcessConnection::destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Ref<Messages::WebProcessConnection::DestroyPlugin::DelayedReply>&& reply)
     182void WebProcessConnection::destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Messages::WebProcessConnection::DestroyPlugin::DelayedReply&& reply)
    183183{
    184184    // We return immediately from this synchronous IPC. We want to make sure the plugin destruction is just about to start so audio playback
    185185    // will finish soon after returning. However we don't want to wait for destruction to complete fully as that may take a while.
    186     reply->send();
     186    reply();
    187187
    188188    // Ensure we don't clamp any timers during destruction
     
    233233}
    234234
    235 void WebProcessConnection::createPlugin(const PluginCreationParameters& creationParameters, Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&& reply)
     235void WebProcessConnection::createPlugin(const PluginCreationParameters& creationParameters, Messages::WebProcessConnection::CreatePlugin::DelayedReply&& reply)
    236236{
    237237    // Ensure we don't clamp any timers during initialization
     
    250250        // If its initialization is complete then we need to respond to this message with the correct information about its creation.
    251251#if PLATFORM(COCOA)
    252         reply->send(true, pluginControllerProxy->wantsWheelEvents(), pluginControllerProxy->remoteLayerClientID());
     252        reply(true, pluginControllerProxy->wantsWheelEvents(), pluginControllerProxy->remoteLayerClientID());
    253253#else
    254         reply->send(true, pluginControllerProxy->wantsWheelEvents(), 0);
     254        reply(true, pluginControllerProxy->wantsWheelEvents(), 0);
    255255#endif
    256256        return;
     
    267267    createPluginInternal(creationParameters, result, wantsWheelEvents, remoteLayerClientID);
    268268   
    269     reply->send(result, wantsWheelEvents, remoteLayerClientID);
     269    reply(result, wantsWheelEvents, remoteLayerClientID);
    270270}
    271271
     
    312312    PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(creationParameters.pluginInstanceID);
    313313    ASSERT(pluginControllerProxy);
    314     if (RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> delayedSyncReply = pluginControllerProxy->takeInitializationReply()) {
    315         delayedSyncReply->send(result, wantsWheelEvents, remoteLayerClientID);
     314    if (auto delayedSyncReply = pluginControllerProxy->takeInitializationReply()) {
     315        delayedSyncReply(result, wantsWheelEvents, remoteLayerClientID);
    316316        return;
    317317    }
  • trunk/Source/WebKit/PluginProcess/WebProcessConnection.h

    r230293 r231931  
    7070    void didReceiveWebProcessConnectionMessage(IPC::Connection&, IPC::Decoder&);
    7171    void didReceiveSyncWebProcessConnectionMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&);
    72     void createPlugin(const PluginCreationParameters&, Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&&);
     72    void createPlugin(const PluginCreationParameters&, Messages::WebProcessConnection::CreatePlugin::DelayedReply&&);
    7373    void createPluginAsynchronously(const PluginCreationParameters&);
    74     void destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Ref<Messages::WebProcessConnection::DestroyPlugin::DelayedReply>&&);
     74    void destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Messages::WebProcessConnection::DestroyPlugin::DelayedReply&&);
    7575   
    7676    void createPluginInternal(const PluginCreationParameters&, bool& result, bool& wantsWheelEvents, uint32_t& remoteLayerClientID);
  • trunk/Source/WebKit/Scripts/webkit/LegacyMessageReceiver-expected.cpp

    r230108 r231931  
    6060namespace WebPage {
    6161
    62 GetPluginProcessConnection::DelayedReply::DelayedReply(Ref<IPC::Connection>&& connection, std::unique_ptr<IPC::Encoder> encoder)
    63     : m_connection(WTFMove(connection))
    64     , m_encoder(WTFMove(encoder))
    65 {
    66 }
    67 
    68 GetPluginProcessConnection::DelayedReply::~DelayedReply()
    69 {
    70     ASSERT(!m_connection);
    71 }
    72 
    73 bool GetPluginProcessConnection::DelayedReply::send(const IPC::Connection::Handle& connectionHandle)
    74 {
    75     ASSERT(m_encoder);
    76     *m_encoder << connectionHandle;
    77     bool _result = m_connection->sendSyncReply(WTFMove(m_encoder));
    78     m_connection = nullptr;
    79     return _result;
    80 }
    81 
    82 TestMultipleAttributes::DelayedReply::DelayedReply(Ref<IPC::Connection>&& connection, std::unique_ptr<IPC::Encoder> encoder)
    83     : m_connection(WTFMove(connection))
    84     , m_encoder(WTFMove(encoder))
    85 {
    86 }
    87 
    88 TestMultipleAttributes::DelayedReply::~DelayedReply()
    89 {
    90     ASSERT(!m_connection);
    91 }
    92 
    93 bool TestMultipleAttributes::DelayedReply::send()
    94 {
    95     ASSERT(m_encoder);
    96     bool _result = m_connection->sendSyncReply(WTFMove(m_encoder));
    97     m_connection = nullptr;
    98     return _result;
     62void GetPluginProcessConnection::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection, const IPC::Connection::Handle& connectionHandle)
     63{
     64    *encoder << connectionHandle;
     65    connection.sendSyncReply(WTFMove(encoder));
     66}
     67
     68void TestMultipleAttributes::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection)
     69{
     70    connection.sendSyncReply(WTFMove(encoder));
    9971}
    10072
  • trunk/Source/WebKit/Scripts/webkit/LegacyMessages-expected.h

    r230097 r231931  
    359359    static const bool isSync = true;
    360360
    361     struct DelayedReply : public ThreadSafeRefCounted<DelayedReply> {
    362         DelayedReply(Ref<IPC::Connection>&&, std::unique_ptr<IPC::Encoder>);
    363         ~DelayedReply();
    364 
    365         bool send(const IPC::Connection::Handle& connectionHandle);
    366 
    367     private:
    368         RefPtr<IPC::Connection> m_connection;
    369         std::unique_ptr<IPC::Encoder> m_encoder;
    370     };
    371 
     361    using DelayedReply = CompletionHandler<void(const IPC::Connection::Handle& connectionHandle)>;
     362    static void send(std::unique_ptr<IPC::Encoder>&&, IPC::Connection&, const IPC::Connection::Handle& connectionHandle);
    372363    typedef std::tuple<IPC::Connection::Handle&> Reply;
    373364    explicit GetPluginProcessConnection(const String& pluginPath)
     
    393384    static const bool isSync = true;
    394385
    395     struct DelayedReply : public ThreadSafeRefCounted<DelayedReply> {
    396         DelayedReply(Ref<IPC::Connection>&&, std::unique_ptr<IPC::Encoder>);
    397         ~DelayedReply();
    398 
    399         bool send();
    400 
    401     private:
    402         RefPtr<IPC::Connection> m_connection;
    403         std::unique_ptr<IPC::Encoder> m_encoder;
    404     };
    405 
     386    using DelayedReply = CompletionHandler<void()>;
     387    static void send(std::unique_ptr<IPC::Encoder>&&, IPC::Connection&);
    406388    typedef std::tuple<> Reply;
    407389    const Arguments& arguments() const
  • trunk/Source/WebKit/Scripts/webkit/MessageReceiver-expected.cpp

    r230108 r231931  
    6060namespace WebPage {
    6161
    62 GetPluginProcessConnection::DelayedReply::DelayedReply(Ref<IPC::Connection>&& connection, std::unique_ptr<IPC::Encoder> encoder)
    63     : m_connection(WTFMove(connection))
    64     , m_encoder(WTFMove(encoder))
    65 {
    66 }
    67 
    68 GetPluginProcessConnection::DelayedReply::~DelayedReply()
    69 {
    70     ASSERT(!m_connection);
    71 }
    72 
    73 bool GetPluginProcessConnection::DelayedReply::send(const IPC::Connection::Handle& connectionHandle)
    74 {
    75     ASSERT(m_encoder);
    76     *m_encoder << connectionHandle;
    77     bool _result = m_connection->sendSyncReply(WTFMove(m_encoder));
    78     m_connection = nullptr;
    79     return _result;
    80 }
    81 
    82 TestMultipleAttributes::DelayedReply::DelayedReply(Ref<IPC::Connection>&& connection, std::unique_ptr<IPC::Encoder> encoder)
    83     : m_connection(WTFMove(connection))
    84     , m_encoder(WTFMove(encoder))
    85 {
    86 }
    87 
    88 TestMultipleAttributes::DelayedReply::~DelayedReply()
    89 {
    90     ASSERT(!m_connection);
    91 }
    92 
    93 bool TestMultipleAttributes::DelayedReply::send()
    94 {
    95     ASSERT(m_encoder);
    96     bool _result = m_connection->sendSyncReply(WTFMove(m_encoder));
    97     m_connection = nullptr;
    98     return _result;
     62void GetPluginProcessConnection::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection, const IPC::Connection::Handle& connectionHandle)
     63{
     64    *encoder << connectionHandle;
     65    connection.sendSyncReply(WTFMove(encoder));
     66}
     67
     68void TestMultipleAttributes::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection)
     69{
     70    connection.sendSyncReply(WTFMove(encoder));
    9971}
    10072
  • trunk/Source/WebKit/Scripts/webkit/Messages-expected.h

    r230097 r231931  
    359359    static const bool isSync = true;
    360360
    361     struct DelayedReply : public ThreadSafeRefCounted<DelayedReply> {
    362         DelayedReply(Ref<IPC::Connection>&&, std::unique_ptr<IPC::Encoder>);
    363         ~DelayedReply();
    364 
    365         bool send(const IPC::Connection::Handle& connectionHandle);
    366 
    367     private:
    368         RefPtr<IPC::Connection> m_connection;
    369         std::unique_ptr<IPC::Encoder> m_encoder;
    370     };
    371 
     361    using DelayedReply = CompletionHandler<void(const IPC::Connection::Handle& connectionHandle)>;
     362    static void send(std::unique_ptr<IPC::Encoder>&&, IPC::Connection&, const IPC::Connection::Handle& connectionHandle);
    372363    typedef std::tuple<IPC::Connection::Handle&> Reply;
    373364    explicit GetPluginProcessConnection(const String& pluginPath)
     
    393384    static const bool isSync = true;
    394385
    395     struct DelayedReply : public ThreadSafeRefCounted<DelayedReply> {
    396         DelayedReply(Ref<IPC::Connection>&&, std::unique_ptr<IPC::Encoder>);
    397         ~DelayedReply();
    398 
    399         bool send();
    400 
    401     private:
    402         RefPtr<IPC::Connection> m_connection;
    403         std::unique_ptr<IPC::Encoder> m_encoder;
    404     };
    405 
     386    using DelayedReply = CompletionHandler<void()>;
     387    static void send(std::unique_ptr<IPC::Encoder>&&, IPC::Connection&);
    406388    typedef std::tuple<> Reply;
    407389    const Arguments& arguments() const
  • trunk/Source/WebKit/Scripts/webkit/messages.py

    r231588 r231931  
    119119        if message.has_attribute(DELAYED_ATTRIBUTE):
    120120            send_parameters = [(function_parameter_type(x.type, x.kind), x.name) for x in message.reply_parameters]
    121             result.append('    struct DelayedReply : public ThreadSafeRefCounted<DelayedReply> {\n')
    122             result.append('        DelayedReply(Ref<IPC::Connection>&&, std::unique_ptr<IPC::Encoder>);\n')
    123             result.append('        ~DelayedReply();\n')
    124             result.append('\n')
    125             result.append('        bool send(%s);\n' % ', '.join([' '.join(x) for x in send_parameters]))
    126             result.append('\n')
    127             result.append('    private:\n')
    128             result.append('        RefPtr<IPC::Connection> m_connection;\n')
    129             result.append('        std::unique_ptr<IPC::Encoder> m_encoder;\n')
    130             result.append('    };\n\n')
     121            result.append('    using DelayedReply = CompletionHandler<void(')
     122            if len(send_parameters):
     123                result.append('%s' % ', '.join([' '.join(x) for x in send_parameters]))
     124            result.append(')>;\n')
     125            result.append('    static void send(std::unique_ptr<IPC::Encoder>&&, IPC::Connection&')
     126            if len(send_parameters):
     127                result.append(', %s' % ', '.join([' '.join(x) for x in send_parameters]))
     128            result.append(');\n')
    131129
    132130        result.append('    typedef %s Reply;\n' % reply_type(message))
     
    537535                result.append('#if %s\n\n' % message.condition)
    538536
    539             result.append('%s::DelayedReply::DelayedReply(Ref<IPC::Connection>&& connection, std::unique_ptr<IPC::Encoder> encoder)\n' % message.name)
    540             result.append('    : m_connection(WTFMove(connection))\n')
    541             result.append('    , m_encoder(WTFMove(encoder))\n')
    542             result.append('{\n')
    543             result.append('}\n')
    544             result.append('\n')
    545             result.append('%s::DelayedReply::~DelayedReply()\n' % message.name)
    546             result.append('{\n')
    547             result.append('    ASSERT(!m_connection);\n')
    548             result.append('}\n')
    549             result.append('\n')
    550             result.append('bool %s::DelayedReply::send(%s)\n' % (message.name, ', '.join([' '.join(x) for x in send_parameters])))
    551             result.append('{\n')
    552             result.append('    ASSERT(m_encoder);\n')
    553             result += ['    *m_encoder << %s;\n' % x.name for x in message.reply_parameters]
    554             result.append('    bool _result = m_connection->sendSyncReply(WTFMove(m_encoder));\n')
    555             result.append('    m_connection = nullptr;\n')
    556             result.append('    return _result;\n')
     537            result.append('void %s::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection' % (message.name))
     538            if len(send_parameters):
     539                result.append(', %s' % ', '.join([' '.join(x) for x in send_parameters]))
     540            result.append(')\n{\n')
     541            result += ['    *encoder << %s;\n' % x.name for x in message.reply_parameters]
     542            result.append('    connection.sendSyncReply(WTFMove(encoder));\n')
    557543            result.append('}\n')
    558544            result.append('\n')
  • trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp

    r231536 r231931  
    116116}
    117117
    118 void NetworkProcessProxy::getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply)
     118void NetworkProcessProxy::getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply)
    119119{
    120120    m_pendingConnectionReplies.append(WTFMove(reply));
     
    194194    clearCallbackStates();
    195195
    196     Vector<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>> pendingReplies;
     196    Vector<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> pendingReplies;
    197197    pendingReplies.reserveInitialCapacity(m_pendingConnectionReplies.size());
    198198    for (auto& reply : m_pendingConnectionReplies)
     
    207207    // The network process must have crashed or exited, send any pending sync replies we might have.
    208208    while (!m_pendingConnectionReplies.isEmpty()) {
    209         Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst();
     209        auto reply = m_pendingConnectionReplies.takeFirst();
    210210
    211211#if USE(UNIX_DOMAIN_SOCKETS) || OS(WINDOWS)
    212         reply->send(IPC::Attachment());
     212        reply(IPC::Attachment());
    213213#elif OS(DARWIN)
    214         reply->send(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND));
     214        reply(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND));
    215215#else
    216216        notImplemented();
     
    286286
    287287    // Grab the first pending connection reply.
    288     RefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst();
     288    auto reply = m_pendingConnectionReplies.takeFirst();
    289289
    290290#if USE(UNIX_DOMAIN_SOCKETS) || OS(WINDOWS)
    291     reply->send(connectionIdentifier);
     291    reply(connectionIdentifier);
    292292#elif OS(DARWIN)
    293     reply->send(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND));
     293    reply(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND));
    294294#else
    295295    notImplemented();
  • trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h

    r231771 r231931  
    6969    ~NetworkProcessProxy();
    7070
    71     void getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&);
     71    void getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&&);
    7272
    7373    DownloadProxy* createDownloadProxy(const WebCore::ResourceRequest&);
     
    155155   
    156156    unsigned m_numPendingConnectionRequests;
    157     Deque<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>> m_pendingConnectionReplies;
     157    Deque<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> m_pendingConnectionReplies;
    158158
    159     HashMap<uint64_t, WTF::Function<void (WebsiteData)>> m_pendingFetchWebsiteDataCallbacks;
    160     HashMap<uint64_t, WTF::Function<void ()>> m_pendingDeleteWebsiteDataCallbacks;
    161     HashMap<uint64_t, WTF::Function<void ()>> m_pendingDeleteWebsiteDataForOriginsCallbacks;
     159    HashMap<uint64_t, Function<void(WebsiteData)>> m_pendingFetchWebsiteDataCallbacks;
     160    HashMap<uint64_t, Function<void()>> m_pendingDeleteWebsiteDataCallbacks;
     161    HashMap<uint64_t, Function<void()>> m_pendingDeleteWebsiteDataForOriginsCallbacks;
    162162
    163163    std::unique_ptr<DownloadProxyMap> m_downloadProxyMap;
  • trunk/Source/WebKit/UIProcess/Plugins/PluginProcessManager.cpp

    r230293 r231931  
    8282}
    8383
    84 void PluginProcessManager::getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&& reply)
     84void PluginProcessManager::getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply)
    8585{
    8686    ASSERT(pluginProcessToken);
  • trunk/Source/WebKit/UIProcess/Plugins/PluginProcessManager.h

    r230293 r231931  
    5858    uint64_t pluginProcessToken(const PluginModuleInfo&, PluginProcessType, PluginProcessSandboxPolicy);
    5959
    60     void getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&&);
     60    void getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&&);
    6161    void removePluginProcessProxy(PluginProcessProxy*);
    6262
  • trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.cpp

    r230293 r231931  
    103103// Asks the plug-in process to create a new connection to a web process. The connection identifier will be
    104104// encoded in the given argument encoder and sent back to the connection of the given web process.
    105 void PluginProcessProxy::getPluginProcessConnection(Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&& reply)
     105void PluginProcessProxy::getPluginProcessConnection(Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply)
    106106{
    107107    m_pendingConnectionReplies.append(WTFMove(reply));
     
    160160    // The plug-in process must have crashed or exited, send any pending sync replies we might have.
    161161    while (!m_pendingConnectionReplies.isEmpty()) {
    162         RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst();
     162        auto reply = m_pendingConnectionReplies.takeFirst();
    163163
    164164#if USE(UNIX_DOMAIN_SOCKETS)
    165         reply->send(IPC::Attachment(), false);
     165        reply(IPC::Attachment(), false);
    166166#elif OS(DARWIN)
    167         reply->send(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND), false);
     167        reply(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND), false);
    168168#else
    169169        notImplemented();
     
    277277
    278278    // Grab the first pending connection reply.
    279     RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst();
     279    auto reply = m_pendingConnectionReplies.takeFirst();
    280280
    281281#if USE(UNIX_DOMAIN_SOCKETS)
    282     reply->send(connectionIdentifier, supportsAsynchronousPluginInitialization);
     282    reply(connectionIdentifier, supportsAsynchronousPluginInitialization);
    283283#elif OS(DARWIN)
    284     reply->send(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND), supportsAsynchronousPluginInitialization);
     284    reply(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND), supportsAsynchronousPluginInitialization);
    285285#else
    286286    notImplemented();
  • trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.h

    r231771 r231931  
    7777    // Asks the plug-in process to create a new connection to a web process. The connection identifier will be
    7878    // encoded in the given argument encoder and sent back to the connection of the given web process.
    79     void getPluginProcessConnection(Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&&);
     79    void getPluginProcessConnection(Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&&);
    8080
    8181    void fetchWebsiteData(WTF::Function<void (Vector<String>)>&& completionHandler);
     
    145145    RefPtr<IPC::Connection> m_connection;
    146146
    147     Deque<RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>> m_pendingConnectionReplies;
     147    Deque<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> m_pendingConnectionReplies;
    148148
    149149    Vector<uint64_t> m_pendingFetchWebsiteDataRequests;
  • trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp

    r230293 r231931  
    113113}
    114114
    115 void StorageProcessProxy::getStorageProcessConnection(WebProcessProxy& webProcessProxy, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&& reply)
     115void StorageProcessProxy::getStorageProcessConnection(WebProcessProxy& webProcessProxy, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply)
    116116{
    117117    m_pendingConnectionReplies.append(WTFMove(reply));
     
    141141
    142142#if USE(UNIX_DOMAIN_SOCKETS)
    143         reply->send(IPC::Attachment());
     143        reply(IPC::Attachment());
    144144#elif OS(DARWIN)
    145         reply->send(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND));
     145        reply(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND));
    146146#else
    147147        notImplemented();
     
    173173    ASSERT(!m_pendingConnectionReplies.isEmpty());
    174174
    175     RefPtr<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst();
     175    auto reply = m_pendingConnectionReplies.takeFirst();
    176176
    177177#if USE(UNIX_DOMAIN_SOCKETS)
    178     reply->send(connectionIdentifier);
     178    reply(connectionIdentifier);
    179179#elif OS(DARWIN)
    180     reply->send(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND));
     180    reply(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND));
    181181#else
    182182    notImplemented();
  • trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h

    r230293 r231931  
    5757    void deleteWebsiteDataForOrigins(PAL::SessionID, OptionSet<WebsiteDataType>, const Vector<WebCore::SecurityOriginData>&, WTF::Function<void()>&& completionHandler);
    5858
    59     void getStorageProcessConnection(WebProcessProxy&, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&&);
     59    void getStorageProcessConnection(WebProcessProxy&, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&&);
    6060
    6161private:
     
    9292
    9393    unsigned m_numPendingConnectionRequests;
    94     Deque<Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>> m_pendingConnectionReplies;
     94    Deque<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply> m_pendingConnectionReplies;
    9595
    9696    HashMap<uint64_t, WTF::Function<void (WebsiteData)>> m_pendingFetchWebsiteDataCallbacks;
  • trunk/Source/WebKit/UIProcess/WebPageProxy.cpp

    r231821 r231931  
    239239        uint64_t currentDatabaseUsage;
    240240        uint64_t expectedUsage;
    241         RefPtr<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply> reply;
     241        Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply reply;
    242242    };
    243243
     
    247247        String databaseName, String displayName, uint64_t currentQuota,
    248248        uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage,
    249         Ref<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>&&);
     249        Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply&&);
    250250
    251251    void add(std::unique_ptr<Record>);
     
    270270    uint64_t frameID, String originIdentifier, String databaseName, String displayName,
    271271    uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage,
    272     uint64_t expectedUsage, Ref<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>&& reply)
     272    uint64_t expectedUsage, Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply&& reply)
    273273{
    274274    auto record = std::make_unique<Record>();
     
    24452445
    24462446    if (auto syncNavigationActionPolicyReply = WTFMove(m_syncNavigationActionPolicyReply)) {
    2447         syncNavigationActionPolicyReply->send(navigation ? navigation->navigationID() : 0, action, downloadID, WTFMove(websitePolicies));
     2447        syncNavigationActionPolicyReply(navigation ? navigation->navigationID() : 0, action, downloadID, WTFMove(websitePolicies));
    24482448        return;
    24492449    }
     
    40344034}
    40354035
    4036 void WebPageProxy::decidePolicyForNavigationActionSync(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&& navigationActionData, const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, uint64_t listenerID, const UserData& userData, Ref<Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply>&& reply)
     4036void WebPageProxy::decidePolicyForNavigationActionSync(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&& navigationActionData, const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&& request, uint64_t listenerID, const UserData& userData, Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply&& reply)
    40374037{
    40384038    ASSERT(!m_syncNavigationActionPolicyReply);
     
    40434043    // If the client did not respond synchronously, proceed with the load.
    40444044    if (auto syncNavigationActionPolicyReply = WTFMove(m_syncNavigationActionPolicyReply))
    4045         syncNavigationActionPolicyReply->send(navigationID, PolicyAction::Use, { }, { });
     4045        syncNavigationActionPolicyReply(navigationID, PolicyAction::Use, { }, { });
    40464046}
    40474047
     
    42064206// UIClient
    42074207
    4208 void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, ResourceRequest&& request, WindowFeatures&& windowFeatures, NavigationActionData&& navigationActionData, Ref<Messages::WebPageProxy::CreateNewPage::DelayedReply>&& reply)
     4208void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, ResourceRequest&& request, WindowFeatures&& windowFeatures, NavigationActionData&& navigationActionData, Messages::WebPageProxy::CreateNewPage::DelayedReply&& reply)
    42094209{
    42104210    MESSAGE_CHECK(m_process->webFrame(originatingFrameInfoData.frameID));
     
    42134213    auto mainFrameURL = m_mainFrame->url();
    42144214
    4215     m_uiClient->createNewPage(*this, WTFMove(originatingFrameInfo), WTFMove(request), WTFMove(windowFeatures), WTFMove(navigationActionData), [this, protectedThis = RefPtr<WebPageProxy>(this), mainFrameURL, request, reply = WTFMove(reply)](RefPtr<WebPageProxy> newPage) {
     4215    m_uiClient->createNewPage(*this, WTFMove(originatingFrameInfo), WTFMove(request), WTFMove(windowFeatures), WTFMove(navigationActionData), [this, protectedThis = makeRef(*this), mainFrameURL, request, reply = WTFMove(reply)](RefPtr<WebPageProxy> newPage) {
    42164216        if (!newPage) {
    4217             reply->send(0, { });
     4217            reply(0, { });
    42184218            return;
    42194219        }
    42204220
    4221         reply->send(newPage->pageID(), newPage->creationParameters());
     4221        reply(newPage->pageID(), newPage->creationParameters());
    42224222
    42234223        WebsiteDataStore::cloneSessionData(*this, *newPage);
     
    42554255}
    42564256
    4257 void WebPageProxy::runJavaScriptAlert(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Ref<Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply>&& reply)
     4257void WebPageProxy::runJavaScriptAlert(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply&& reply)
    42584258{
    42594259    WebFrameProxy* frame = m_process->webFrame(frameID);
     
    42674267            automationSession->willShowJavaScriptDialog(*this);
    42684268    }
    4269     m_uiClient->runJavaScriptAlert(this, message, frame, securityOrigin, [reply = WTFMove(reply)] {
    4270         reply->send();
    4271     });
    4272 }
    4273 
    4274 void WebPageProxy::runJavaScriptConfirm(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Ref<Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply>&& reply)
     4269    m_uiClient->runJavaScriptAlert(this, message, frame, securityOrigin, WTFMove(reply));
     4270}
     4271
     4272void WebPageProxy::runJavaScriptConfirm(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply&& reply)
    42754273{
    42764274    WebFrameProxy* frame = m_process->webFrame(frameID);
     
    42854283    }
    42864284
    4287     m_uiClient->runJavaScriptConfirm(this, message, frame, securityOrigin, [reply = WTFMove(reply)](bool result) {
    4288         reply->send(result);
    4289     });
    4290 }
    4291 
    4292 void WebPageProxy::runJavaScriptPrompt(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, const String& defaultValue, Ref<Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply>&& reply)
     4285    m_uiClient->runJavaScriptConfirm(this, message, frame, securityOrigin, WTFMove(reply));
     4286}
     4287
     4288void WebPageProxy::runJavaScriptPrompt(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, const String& defaultValue, Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply&& reply)
    42934289{
    42944290    WebFrameProxy* frame = m_process->webFrame(frameID);
     
    43034299    }
    43044300
    4305     m_uiClient->runJavaScriptPrompt(this, message, defaultValue, frame, securityOrigin, [reply = WTFMove(reply)](const String& result) {
    4306         reply->send(result);
    4307     });
     4301    m_uiClient->runJavaScriptPrompt(this, message, defaultValue, frame, securityOrigin, WTFMove(reply));
    43084302}
    43094303
     
    43734367
    43744368#if ENABLE(WEBGL)
    4375 void WebPageProxy::webGLPolicyForURL(URL&& url, Ref<Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply>&& reply)
     4369void WebPageProxy::webGLPolicyForURL(URL&& url, Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply&& reply)
    43764370{
    43774371    if (m_navigationClient) {
    43784372        m_navigationClient->webGLLoadPolicy(*this, url, [reply = WTFMove(reply)](WebGLLoadPolicy policy) {
    4379             reply->send(static_cast<uint32_t>(policy));
     4373            reply(static_cast<uint32_t>(policy));
    43804374        });
    43814375    } else
    4382         reply->send(static_cast<uint32_t>(m_loaderClient->webGLLoadPolicy(*this, url)));
    4383 }
    4384 
    4385 void WebPageProxy::resolveWebGLPolicyForURL(URL&& url, Ref<Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply>&& reply)
     4376        reply(static_cast<uint32_t>(m_loaderClient->webGLLoadPolicy(*this, url)));
     4377}
     4378
     4379void WebPageProxy::resolveWebGLPolicyForURL(URL&& url, Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply&& reply)
    43864380{
    43874381    if (m_navigationClient) {
    43884382        m_navigationClient->resolveWebGLLoadPolicy(*this, url, [reply = WTFMove(reply)](WebGLLoadPolicy policy) {
    4389             reply->send(static_cast<uint32_t>(policy));
     4383            reply(static_cast<uint32_t>(policy));
    43904384        });
    43914385    } else
    4392         reply->send(static_cast<uint32_t>(m_loaderClient->resolveWebGLLoadPolicy(*this, url)));
     4386        reply(static_cast<uint32_t>(m_loaderClient->resolveWebGLLoadPolicy(*this, url)));
    43934387}
    43944388#endif // ENABLE(WEBGL)
     
    43994393}
    44004394
    4401 void WebPageProxy::getToolbarsAreVisible(Ref<Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply>&& reply)
    4402 {
    4403     m_uiClient->toolbarsAreVisible(*this, [reply = WTFMove(reply)](bool visible) {
    4404         reply->send(visible);
    4405     });
     4395void WebPageProxy::getToolbarsAreVisible(Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply&& reply)
     4396{
     4397    m_uiClient->toolbarsAreVisible(*this, WTFMove(reply));
    44064398}
    44074399
     
    44114403}
    44124404
    4413 void WebPageProxy::getMenuBarIsVisible(Ref<Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply>&& reply)
    4414 {
    4415     m_uiClient->menuBarIsVisible(*this, [reply = WTFMove(reply)] (bool visible) {
    4416         reply->send(visible);
    4417     });
     4405void WebPageProxy::getMenuBarIsVisible(Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply&& reply)
     4406{
     4407    m_uiClient->menuBarIsVisible(*this, WTFMove(reply));
    44184408}
    44194409
     
    44234413}
    44244414
    4425 void WebPageProxy::getStatusBarIsVisible(Ref<Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply>&& reply)
    4426 {
    4427     m_uiClient->statusBarIsVisible(*this, [reply = WTFMove(reply)] (bool visible) {
    4428         reply->send(visible);
    4429     });
     4415void WebPageProxy::getStatusBarIsVisible(Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply&& reply)
     4416{
     4417    m_uiClient->statusBarIsVisible(*this, WTFMove(reply));
    44304418}
    44314419
     
    44404428}
    44414429
    4442 void WebPageProxy::getWindowFrame(Ref<Messages::WebPageProxy::GetWindowFrame::DelayedReply>&& reply)
     4430void WebPageProxy::getWindowFrame(Messages::WebPageProxy::GetWindowFrame::DelayedReply&& reply)
    44434431{
    44444432    m_uiClient->windowFrame(*this, [this, protectedThis = makeRef(*this), reply = WTFMove(reply)] (FloatRect frame) {
    4445         reply->send(m_pageClient.convertToUserSpace(frame));
     4433        reply(m_pageClient.convertToUserSpace(frame));
    44464434    });
    44474435}
     
    44544442}
    44554443
    4456 void WebPageProxy::screenToRootView(const IntPoint& screenPoint, Ref<Messages::WebPageProxy::ScreenToRootView::DelayedReply>&& reply)
    4457 {
    4458     reply->send(m_pageClient.screenToRootView(screenPoint));
     4444void WebPageProxy::screenToRootView(const IntPoint& screenPoint, Messages::WebPageProxy::ScreenToRootView::DelayedReply&& reply)
     4445{
     4446    reply(m_pageClient.screenToRootView(screenPoint));
    44594447}
    44604448   
    4461 void WebPageProxy::rootViewToScreen(const IntRect& viewRect, Ref<Messages::WebPageProxy::RootViewToScreen::DelayedReply>&& reply)
    4462 {
    4463     reply->send(m_pageClient.rootViewToScreen(viewRect));
     4449void WebPageProxy::rootViewToScreen(const IntRect& viewRect, Messages::WebPageProxy::RootViewToScreen::DelayedReply&& reply)
     4450{
     4451    reply(m_pageClient.rootViewToScreen(viewRect));
    44644452}
    44654453   
     
    44764464#endif
    44774465
    4478 void WebPageProxy::runBeforeUnloadConfirmPanel(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, RefPtr<Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply> reply)
     4466void WebPageProxy::runBeforeUnloadConfirmPanel(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply&& reply)
    44794467{
    44804468    WebFrameProxy* frame = m_process->webFrame(frameID);
     
    44894477    }
    44904478
    4491     m_uiClient->runBeforeUnloadConfirmPanel(this, message, frame, securityOrigin, [reply](bool result) { reply->send(result); });
     4479    m_uiClient->runBeforeUnloadConfirmPanel(this, message, frame, securityOrigin, WTFMove(reply));
    44924480}
    44934481
     
    62076195}
    62086196
    6209 void WebPageProxy::exceededDatabaseQuota(uint64_t frameID, const String& originIdentifier, const String& databaseName, const String& displayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, Ref<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>&& reply)
     6197void WebPageProxy::exceededDatabaseQuota(uint64_t frameID, const String& originIdentifier, const String& databaseName, const String& displayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply&& reply)
    62106198{
    62116199    ExceededDatabaseQuotaRecords& records = ExceededDatabaseQuotaRecords::singleton();
     
    62236211        MESSAGE_CHECK(frame);
    62246212
    6225         RefPtr<API::SecurityOrigin> origin = API::SecurityOrigin::create(SecurityOriginData::fromDatabaseIdentifier(record->originIdentifier)->securityOrigin());
    6226         auto currentReply = record->reply;
    6227         m_uiClient->exceededDatabaseQuota(this, frame, origin.get(),
    6228             record->databaseName, record->displayName, record->currentQuota,
    6229             record->currentOriginUsage, record->currentDatabaseUsage, record->expectedUsage,
    6230             [currentReply](unsigned long long newQuota) { currentReply->send(newQuota); });
    6231 
     6213        auto origin = API::SecurityOrigin::create(SecurityOriginData::fromDatabaseIdentifier(record->originIdentifier)->securityOrigin());
     6214        m_uiClient->exceededDatabaseQuota(this, frame, origin.ptr(), record->databaseName, record->displayName, record->currentQuota, record->currentOriginUsage, record->currentDatabaseUsage, record->expectedUsage, WTFMove(record->reply));
    62326215        record = records.next();
    62336216    }
    62346217}
    62356218
    6236 void WebPageProxy::reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Ref<Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply>&& reply)
     6219void WebPageProxy::reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply&& reply)
    62376220{
    62386221    Ref<SecurityOrigin> securityOrigin = SecurityOriginData::fromDatabaseIdentifier(originIdentifier)->securityOrigin();
    6239     m_uiClient->reachedApplicationCacheOriginQuota(this, securityOrigin.get(), currentQuota, totalBytesNeeded, [reply = WTFMove(reply)](unsigned long long newQuota) { reply->send(newQuota); });
     6222    m_uiClient->reachedApplicationCacheOriginQuota(this, securityOrigin.get(), currentQuota, totalBytesNeeded, WTFMove(reply));
    62406223}
    62416224
  • trunk/Source/WebKit/UIProcess/WebPageProxy.h

    r231795 r231931  
    12411241    void setFocus(bool focused);
    12421242    void setWindowFrame(const WebCore::FloatRect&);
    1243     void getWindowFrame(Ref<Messages::WebPageProxy::GetWindowFrame::DelayedReply>&&);
     1243    void getWindowFrame(Messages::WebPageProxy::GetWindowFrame::DelayedReply&&);
    12441244    void getWindowFrameWithCallback(Function<void(WebCore::FloatRect)>&&);
    12451245
     
    13921392
    13931393    void decidePolicyForNavigationAction(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, const FrameInfoData&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, uint64_t listenerID, const UserData&);
    1394     void decidePolicyForNavigationActionSync(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, const FrameInfoData&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, uint64_t listenerID, const UserData&, Ref<Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply>&&);
     1394    void decidePolicyForNavigationActionSync(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, NavigationActionData&&, const FrameInfoData&, uint64_t originatingPageID, const WebCore::ResourceRequest& originalRequest, WebCore::ResourceRequest&&, uint64_t listenerID, const UserData&, Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply&&);
    13951395    void decidePolicyForNewWindowAction(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, NavigationActionData&&, WebCore::ResourceRequest&&, const String& frameName, uint64_t listenerID, const UserData&);
    13961396    void decidePolicyForResponse(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, uint64_t navigationID, const WebCore::ResourceResponse&, const WebCore::ResourceRequest&, bool canShowMIMEType, uint64_t listenerID, const UserData&);
     
    14081408
    14091409    // UI client
    1410     void createNewPage(const FrameInfoData&, uint64_t originatingPageID, WebCore::ResourceRequest&&, WebCore::WindowFeatures&&, NavigationActionData&&, Ref<Messages::WebPageProxy::CreateNewPage::DelayedReply>&&);
     1410    void createNewPage(const FrameInfoData&, uint64_t originatingPageID, WebCore::ResourceRequest&&, WebCore::WindowFeatures&&, NavigationActionData&&, Messages::WebPageProxy::CreateNewPage::DelayedReply&&);
    14111411    void showPage();
    1412     void runJavaScriptAlert(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, Ref<Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply>&&);
    1413     void runJavaScriptConfirm(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, Ref<Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply>&&);
    1414     void runJavaScriptPrompt(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, const String&, Ref<Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply>&&);
     1412    void runJavaScriptAlert(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply&&);
     1413    void runJavaScriptConfirm(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply&&);
     1414    void runJavaScriptPrompt(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, const String&, Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply&&);
    14151415    void setStatusText(const String&);
    14161416    void mouseDidMoveOverElement(WebHitTestResultData&&, uint32_t modifiers, UserData&&);
     
    14201420#endif // ENABLE(NETSCAPE_PLUGIN_API)
    14211421#if ENABLE(WEBGL)
    1422     void webGLPolicyForURL(WebCore::URL&&, Ref<Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply>&&);
    1423     void resolveWebGLPolicyForURL(WebCore::URL&&, Ref<Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply>&&);
     1422    void webGLPolicyForURL(WebCore::URL&&, Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply&&);
     1423    void resolveWebGLPolicyForURL(WebCore::URL&&, Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply&&);
    14241424#endif // ENABLE(WEBGL)
    14251425    void setToolbarsAreVisible(bool toolbarsAreVisible);
    1426     void getToolbarsAreVisible(Ref<Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply>&&);
     1426    void getToolbarsAreVisible(Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply&&);
    14271427    void setMenuBarIsVisible(bool menuBarIsVisible);
    1428     void getMenuBarIsVisible(Ref<Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply>&&);
     1428    void getMenuBarIsVisible(Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply&&);
    14291429    void setStatusBarIsVisible(bool statusBarIsVisible);
    1430     void getStatusBarIsVisible(Ref<Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply>&&);
     1430    void getStatusBarIsVisible(Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply&&);
    14311431    void setIsResizable(bool isResizable);
    1432     void screenToRootView(const WebCore::IntPoint& screenPoint, Ref<Messages::WebPageProxy::ScreenToRootView::DelayedReply>&&);
    1433     void rootViewToScreen(const WebCore::IntRect& viewRect, Ref<Messages::WebPageProxy::RootViewToScreen::DelayedReply>&&);
     1432    void screenToRootView(const WebCore::IntPoint& screenPoint, Messages::WebPageProxy::ScreenToRootView::DelayedReply&&);
     1433    void rootViewToScreen(const WebCore::IntRect& viewRect, Messages::WebPageProxy::RootViewToScreen::DelayedReply&&);
    14341434#if PLATFORM(IOS)
    14351435    void accessibilityScreenToRootView(const WebCore::IntPoint& screenPoint, WebCore::IntPoint& windowPoint);
    14361436    void rootViewToAccessibilityScreen(const WebCore::IntRect& viewRect, WebCore::IntRect& result);
    14371437#endif
    1438     void runBeforeUnloadConfirmPanel(uint64_t frameID, const WebCore::SecurityOriginData&, const String& message, RefPtr<Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply>);
     1438    void runBeforeUnloadConfirmPanel(uint64_t frameID, const WebCore::SecurityOriginData&, const String& message, Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply&&);
    14391439    void didChangeViewportProperties(const WebCore::ViewportAttributes&);
    14401440    void pageDidScroll();
    14411441    void runOpenPanel(uint64_t frameID, const WebCore::SecurityOriginData&, const WebCore::FileChooserSettings&);
    14421442    void printFrame(uint64_t frameID);
    1443     void exceededDatabaseQuota(uint64_t frameID, const String& originIdentifier, const String& databaseName, const String& displayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, Ref<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>&&);
    1444     void reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Ref<Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply>&&);
     1443    void exceededDatabaseQuota(uint64_t frameID, const String& originIdentifier, const String& databaseName, const String& displayName, uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply&&);
     1444    void reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply&&);
    14451445    void requestGeolocationPermissionForFrame(uint64_t geolocationID, uint64_t frameID, String originIdentifier);
    14461446
     
    19621962
    19631963    // Synchronous navigation policy decision.
    1964     RefPtr<Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply> m_syncNavigationActionPolicyReply;
     1964    Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply m_syncNavigationActionPolicyReply;
    19651965
    19661966    WebCore::ResourceRequest m_decidePolicyForResponseRequest;
  • trunk/Source/WebKit/UIProcess/WebProcessPool.cpp

    r231850 r231931  
    539539}
    540540
    541 void WebProcessPool::networkProcessCrashed(NetworkProcessProxy& networkProcessProxy, Vector<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>>&& pendingReplies)
     541void WebProcessPool::networkProcessCrashed(NetworkProcessProxy& networkProcessProxy, Vector<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& pendingReplies)
    542542{
    543543    networkProcessFailedToLaunch(networkProcessProxy);
     
    565565}
    566566
    567 void WebProcessPool::getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply)
     567void WebProcessPool::getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply)
    568568{
    569569    ensureNetworkProcess();
     
    612612}
    613613
    614 void WebProcessPool::getStorageProcessConnection(WebProcessProxy& webProcessProxy, PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&& reply)
     614void WebProcessPool::getStorageProcessConnection(WebProcessProxy& webProcessProxy, PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply)
    615615{
    616616    ensureStorageProcessAndWebsiteDataStore(WebsiteDataStore::existingNonDefaultDataStoreForSessionID(initialSessionID));
  • trunk/Source/WebKit/UIProcess/WebProcessPool.h

    r231648 r231931  
    327327    NetworkProcessProxy& ensureNetworkProcess(WebsiteDataStore* withWebsiteDataStore = nullptr);
    328328    NetworkProcessProxy* networkProcess() { return m_networkProcess.get(); }
    329     void networkProcessCrashed(NetworkProcessProxy&, Vector<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>>&&);
     329    void networkProcessCrashed(NetworkProcessProxy&, Vector<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&);
    330330    void networkProcessFailedToLaunch(NetworkProcessProxy&);
    331331
    332     void getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&);
     332    void getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&&);
    333333
    334334    void ensureStorageProcessAndWebsiteDataStore(WebsiteDataStore* relevantDataStore);
    335335    StorageProcessProxy* storageProcess() { return m_storageProcess.get(); }
    336     void getStorageProcessConnection(WebProcessProxy&, PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&&);
     336    void getStorageProcessConnection(WebProcessProxy&, PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&&);
    337337    void storageProcessCrashed(StorageProcessProxy*);
    338338#if ENABLE(SERVICE_WORKER)
  • trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp

    r231321 r231931  
    585585
    586586#if ENABLE(NETSCAPE_PLUGIN_API)
    587 void WebProcessProxy::getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&& reply)
     587void WebProcessProxy::getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply)
    588588{
    589589    PluginProcessManager::singleton().getPluginProcessConnection(pluginProcessToken, WTFMove(reply));
     
    591591#endif
    592592
    593 void WebProcessProxy::getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply)
     593void WebProcessProxy::getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply)
    594594{
    595595    m_processPool->getNetworkProcessConnection(WTFMove(reply));
    596596}
    597597
    598 void WebProcessProxy::getStorageProcessConnection(PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&& reply)
     598void WebProcessProxy::getStorageProcessConnection(PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply)
    599599{
    600600    m_processPool->getStorageProcessConnection(*this, initialSessionID, WTFMove(reply));
  • trunk/Source/WebKit/UIProcess/WebProcessProxy.h

    r231771 r231931  
    262262#endif // ENABLE(NETSCAPE_PLUGIN_API)
    263263#if ENABLE(NETSCAPE_PLUGIN_API)
    264     void getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&&);
    265 #endif
    266     void getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&);
    267     void getStorageProcessConnection(PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&&);
     264    void getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&&);
     265#endif
     266    void getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&&);
     267    void getStorageProcessConnection(PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&&);
    268268
    269269    bool platformIsBeingDebugged() const;
  • trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp

    r231709 r231931  
    245245}
    246246
    247 void WebSWContextManagerConnection::syncTerminateWorker(ServiceWorkerIdentifier identifier, Ref<Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply>&& reply)
    248 {
    249     SWContextManager::singleton().terminateWorker(identifier, syncWorkerTerminationTimeout, [reply = WTFMove(reply)] {
    250         reply->send();
    251     });
     247void WebSWContextManagerConnection::syncTerminateWorker(ServiceWorkerIdentifier identifier, Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply&& reply)
     248{
     249    SWContextManager::singleton().terminateWorker(identifier, syncWorkerTerminationTimeout, WTFMove(reply));
    252250}
    253251
  • trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h

    r231588 r231931  
    8383    void fireActivateEvent(WebCore::ServiceWorkerIdentifier);
    8484    void terminateWorker(WebCore::ServiceWorkerIdentifier);
    85     void syncTerminateWorker(WebCore::ServiceWorkerIdentifier, Ref<Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply>&&);
     85    void syncTerminateWorker(WebCore::ServiceWorkerIdentifier, Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply&&);
    8686    void findClientByIdentifierCompleted(uint64_t requestIdentifier, std::optional<WebCore::ServiceWorkerClientData>&&, bool hasSecurityError);
    8787    void matchAllCompleted(uint64_t matchAllRequestIdentifier, Vector<WebCore::ServiceWorkerClientData>&&);
  • trunk/Source/WebKit/WebProcess/WebPage/WebPage.h

    r231779 r231931  
    815815
    816816#if PLATFORM(IOS)
    817     void computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo&, CallbackID, Ref<Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply>&&);
     817    void computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo&, CallbackID, Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply&&);
    818818#endif
    819819
  • trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm

    r231606 r231931  
    29912991#endif
    29922992
    2993 void WebPage::computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo& printInfo, CallbackID callbackID, Ref<Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply>&& reply)
     2993void WebPage::computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo& printInfo, CallbackID callbackID, Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply&& reply)
    29942994{
    29952995    if (printInfo.snapshotFirstPage) {
    2996         reply->send(1);
     2996        reply(1);
    29972997        IntSize snapshotSize { FloatSize { printInfo.availablePaperWidth, printInfo.availablePaperHeight } };
    29982998        IntRect snapshotRect { {0, 0}, snapshotSize };
     
    30093009    std::size_t pageCount = pageRects.size();
    30103010    ASSERT(pageCount <= std::numeric_limits<uint32_t>::max());
    3011     reply->send(pageCount);
     3011    reply(pageCount);
    30123012
    30133013    RetainPtr<CFMutableDataRef> pdfPageData;
Note: See TracChangeset for help on using the changeset viewer.