Changeset 231931 in webkit
- Timestamp:
- May 17, 2018 4:58:01 PM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 33 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r231926 r231931 1 2018-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 1 111 2018-05-17 Jer Noble <jer.noble@apple.com> 2 112 -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
r231282 r231931 250 250 } 251 251 252 void NetworkConnectionToWebProcess::performSynchronousLoad(NetworkResourceLoadParameters&& loadParameters, Ref<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& reply)252 void NetworkConnectionToWebProcess::performSynchronousLoad(NetworkResourceLoadParameters&& loadParameters, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply) 253 253 { 254 254 auto identifier = loadParameters.identifier; -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
r231282 r231931 132 132 133 133 void scheduleResourceLoad(NetworkResourceLoadParameters&&); 134 void performSynchronousLoad(NetworkResourceLoadParameters&&, Ref<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&&);134 void performSynchronousLoad(NetworkResourceLoadParameters&&, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&&); 135 135 void loadPing(NetworkResourceLoadParameters&&); 136 136 void prefetchDNS(const String&); -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
r231730 r231931 75 75 76 76 struct NetworkResourceLoader::SynchronousLoadData { 77 SynchronousLoadData( RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& reply)77 SynchronousLoadData(Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply) 78 78 : delayedReply(WTFMove(reply)) 79 79 { … … 81 81 } 82 82 ResourceRequest currentRequest; 83 RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>delayedReply;83 Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply delayedReply; 84 84 ResourceResponse response; 85 85 ResourceError error; … … 95 95 responseBuffer.append(buffer->data(), buffer->size()); 96 96 97 data.delayedReply ->send(data.error, data.response, responseBuffer);97 data.delayedReply(data.error, data.response, responseBuffer); 98 98 data.delayedReply = nullptr; 99 99 } 100 100 101 NetworkResourceLoader::NetworkResourceLoader(NetworkResourceLoadParameters&& parameters, NetworkConnectionToWebProcess& connection, RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& synchronousReply)101 NetworkResourceLoader::NetworkResourceLoader(NetworkResourceLoadParameters&& parameters, NetworkConnectionToWebProcess& connection, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& synchronousReply) 102 102 : m_parameters { WTFMove(parameters) } 103 103 , m_connection { connection } -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h
r231479 r231931 63 63 , public WebCore::ContentSecurityPolicyClient { 64 64 public: 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) 66 66 { 67 67 return adoptRef(*new NetworkResourceLoader(WTFMove(parameters), connection, WTFMove(reply))); … … 124 124 125 125 private: 126 NetworkResourceLoader(NetworkResourceLoadParameters&&, NetworkConnectionToWebProcess&, RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&&);126 NetworkResourceLoader(NetworkResourceLoadParameters&&, NetworkConnectionToWebProcess&, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&&); 127 127 128 128 // IPC::MessageSender -
trunk/Source/WebKit/Platform/IPC/HandleMessage.h
r230293 r231931 27 27 28 28 #include "ArgumentCoders.h" 29 #include <wtf/CompletionHandler.h> 29 30 #include <wtf/StdLibExtras.h> 30 31 … … 63 64 // Dispatch functions with delayed reply arguments. 64 65 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...>)66 template <typename C, typename MF, typename CH, typename ArgsTuple, size_t... ArgsIndex> 67 void callMemberFunctionImpl(C* object, MF function, CompletionHandler<CH>&& completionHandler, ArgsTuple&& args, std::index_sequence<ArgsIndex...>) 67 68 { 68 (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))..., WTFMove( delayedReply));69 (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))..., WTFMove(completionHandler)); 69 70 } 70 71 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)72 template<typename C, typename MF, typename CH, typename ArgsTuple, typename ArgsIndicies = std::make_index_sequence<std::tuple_size<ArgsTuple>::value>> 73 void callMemberFunction(ArgsTuple&& args, CompletionHandler<CH>&& completionHandler, C* object, MF function) 73 74 { 74 callMemberFunctionImpl(object, function, WTFMove( delayedReply), std::forward<ArgsTuple>(args), ArgsIndicies());75 callMemberFunctionImpl(object, function, WTFMove(completionHandler), std::forward<ArgsTuple>(args), ArgsIndicies()); 75 76 } 76 77 … … 175 176 } 176 177 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); 179 182 } 180 183 -
trunk/Source/WebKit/PluginProcess/PluginControllerProxy.cpp
r230293 r231931 92 92 } 93 93 94 void PluginControllerProxy::setInitializationReply( Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&& reply)94 void PluginControllerProxy::setInitializationReply(Messages::WebProcessConnection::CreatePlugin::DelayedReply&& reply) 95 95 { 96 96 ASSERT(!m_initializationReply); … … 98 98 } 99 99 100 RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply>PluginControllerProxy::takeInitializationReply()101 { 102 return m_initializationReply;100 Messages::WebProcessConnection::CreatePlugin::DelayedReply PluginControllerProxy::takeInitializationReply() 101 { 102 return std::exchange(m_initializationReply, nullptr); 103 103 } 104 104 -
trunk/Source/WebKit/PluginProcess/PluginControllerProxy.h
r230293 r231931 75 75 bool isInitializing() const { return m_isInitializing; } 76 76 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(); 79 79 80 80 private: … … 184 184 bool m_isWindowVisible; 185 185 186 RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply>m_initializationReply;186 Messages::WebProcessConnection::CreatePlugin::DelayedReply m_initializationReply; 187 187 188 188 RefPtr<Plugin> m_plugin; -
trunk/Source/WebKit/PluginProcess/WebProcessConnection.cpp
r230293 r231931 180 180 } 181 181 182 void WebProcessConnection::destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Ref<Messages::WebProcessConnection::DestroyPlugin::DelayedReply>&& reply)182 void WebProcessConnection::destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Messages::WebProcessConnection::DestroyPlugin::DelayedReply&& reply) 183 183 { 184 184 // We return immediately from this synchronous IPC. We want to make sure the plugin destruction is just about to start so audio playback 185 185 // 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(); 187 187 188 188 // Ensure we don't clamp any timers during destruction … … 233 233 } 234 234 235 void WebProcessConnection::createPlugin(const PluginCreationParameters& creationParameters, Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&& reply)235 void WebProcessConnection::createPlugin(const PluginCreationParameters& creationParameters, Messages::WebProcessConnection::CreatePlugin::DelayedReply&& reply) 236 236 { 237 237 // Ensure we don't clamp any timers during initialization … … 250 250 // If its initialization is complete then we need to respond to this message with the correct information about its creation. 251 251 #if PLATFORM(COCOA) 252 reply ->send(true, pluginControllerProxy->wantsWheelEvents(), pluginControllerProxy->remoteLayerClientID());252 reply(true, pluginControllerProxy->wantsWheelEvents(), pluginControllerProxy->remoteLayerClientID()); 253 253 #else 254 reply ->send(true, pluginControllerProxy->wantsWheelEvents(), 0);254 reply(true, pluginControllerProxy->wantsWheelEvents(), 0); 255 255 #endif 256 256 return; … … 267 267 createPluginInternal(creationParameters, result, wantsWheelEvents, remoteLayerClientID); 268 268 269 reply ->send(result, wantsWheelEvents, remoteLayerClientID);269 reply(result, wantsWheelEvents, remoteLayerClientID); 270 270 } 271 271 … … 312 312 PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(creationParameters.pluginInstanceID); 313 313 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); 316 316 return; 317 317 } -
trunk/Source/WebKit/PluginProcess/WebProcessConnection.h
r230293 r231931 70 70 void didReceiveWebProcessConnectionMessage(IPC::Connection&, IPC::Decoder&); 71 71 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&&); 73 73 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&&); 75 75 76 76 void createPluginInternal(const PluginCreationParameters&, bool& result, bool& wantsWheelEvents, uint32_t& remoteLayerClientID); -
trunk/Source/WebKit/Scripts/webkit/LegacyMessageReceiver-expected.cpp
r230108 r231931 60 60 namespace WebPage { 61 61 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; 62 void 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 68 void TestMultipleAttributes::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection) 69 { 70 connection.sendSyncReply(WTFMove(encoder)); 99 71 } 100 72 -
trunk/Source/WebKit/Scripts/webkit/LegacyMessages-expected.h
r230097 r231931 359 359 static const bool isSync = true; 360 360 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); 372 363 typedef std::tuple<IPC::Connection::Handle&> Reply; 373 364 explicit GetPluginProcessConnection(const String& pluginPath) … … 393 384 static const bool isSync = true; 394 385 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&); 406 388 typedef std::tuple<> Reply; 407 389 const Arguments& arguments() const -
trunk/Source/WebKit/Scripts/webkit/MessageReceiver-expected.cpp
r230108 r231931 60 60 namespace WebPage { 61 61 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; 62 void 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 68 void TestMultipleAttributes::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection) 69 { 70 connection.sendSyncReply(WTFMove(encoder)); 99 71 } 100 72 -
trunk/Source/WebKit/Scripts/webkit/Messages-expected.h
r230097 r231931 359 359 static const bool isSync = true; 360 360 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); 372 363 typedef std::tuple<IPC::Connection::Handle&> Reply; 373 364 explicit GetPluginProcessConnection(const String& pluginPath) … … 393 384 static const bool isSync = true; 394 385 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&); 406 388 typedef std::tuple<> Reply; 407 389 const Arguments& arguments() const -
trunk/Source/WebKit/Scripts/webkit/messages.py
r231588 r231931 119 119 if message.has_attribute(DELAYED_ATTRIBUTE): 120 120 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') 131 129 132 130 result.append(' typedef %s Reply;\n' % reply_type(message)) … … 537 535 result.append('#if %s\n\n' % message.condition) 538 536 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') 557 543 result.append('}\n') 558 544 result.append('\n') -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
r231536 r231931 116 116 } 117 117 118 void NetworkProcessProxy::getNetworkProcessConnection( Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply)118 void NetworkProcessProxy::getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply) 119 119 { 120 120 m_pendingConnectionReplies.append(WTFMove(reply)); … … 194 194 clearCallbackStates(); 195 195 196 Vector< Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>> pendingReplies;196 Vector<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> pendingReplies; 197 197 pendingReplies.reserveInitialCapacity(m_pendingConnectionReplies.size()); 198 198 for (auto& reply : m_pendingConnectionReplies) … … 207 207 // The network process must have crashed or exited, send any pending sync replies we might have. 208 208 while (!m_pendingConnectionReplies.isEmpty()) { 209 Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>reply = m_pendingConnectionReplies.takeFirst();209 auto reply = m_pendingConnectionReplies.takeFirst(); 210 210 211 211 #if USE(UNIX_DOMAIN_SOCKETS) || OS(WINDOWS) 212 reply ->send(IPC::Attachment());212 reply(IPC::Attachment()); 213 213 #elif OS(DARWIN) 214 reply ->send(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND));214 reply(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND)); 215 215 #else 216 216 notImplemented(); … … 286 286 287 287 // Grab the first pending connection reply. 288 RefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>reply = m_pendingConnectionReplies.takeFirst();288 auto reply = m_pendingConnectionReplies.takeFirst(); 289 289 290 290 #if USE(UNIX_DOMAIN_SOCKETS) || OS(WINDOWS) 291 reply ->send(connectionIdentifier);291 reply(connectionIdentifier); 292 292 #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)); 294 294 #else 295 295 notImplemented(); -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
r231771 r231931 69 69 ~NetworkProcessProxy(); 70 70 71 void getNetworkProcessConnection( Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&);71 void getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&&); 72 72 73 73 DownloadProxy* createDownloadProxy(const WebCore::ResourceRequest&); … … 155 155 156 156 unsigned m_numPendingConnectionRequests; 157 Deque< Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>> m_pendingConnectionReplies;157 Deque<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> m_pendingConnectionReplies; 158 158 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; 162 162 163 163 std::unique_ptr<DownloadProxyMap> m_downloadProxyMap; -
trunk/Source/WebKit/UIProcess/Plugins/PluginProcessManager.cpp
r230293 r231931 82 82 } 83 83 84 void PluginProcessManager::getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&& reply)84 void PluginProcessManager::getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply) 85 85 { 86 86 ASSERT(pluginProcessToken); -
trunk/Source/WebKit/UIProcess/Plugins/PluginProcessManager.h
r230293 r231931 58 58 uint64_t pluginProcessToken(const PluginModuleInfo&, PluginProcessType, PluginProcessSandboxPolicy); 59 59 60 void getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&&);60 void getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&&); 61 61 void removePluginProcessProxy(PluginProcessProxy*); 62 62 -
trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.cpp
r230293 r231931 103 103 // Asks the plug-in process to create a new connection to a web process. The connection identifier will be 104 104 // 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)105 void PluginProcessProxy::getPluginProcessConnection(Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply) 106 106 { 107 107 m_pendingConnectionReplies.append(WTFMove(reply)); … … 160 160 // The plug-in process must have crashed or exited, send any pending sync replies we might have. 161 161 while (!m_pendingConnectionReplies.isEmpty()) { 162 RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>reply = m_pendingConnectionReplies.takeFirst();162 auto reply = m_pendingConnectionReplies.takeFirst(); 163 163 164 164 #if USE(UNIX_DOMAIN_SOCKETS) 165 reply ->send(IPC::Attachment(), false);165 reply(IPC::Attachment(), false); 166 166 #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); 168 168 #else 169 169 notImplemented(); … … 277 277 278 278 // Grab the first pending connection reply. 279 RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>reply = m_pendingConnectionReplies.takeFirst();279 auto reply = m_pendingConnectionReplies.takeFirst(); 280 280 281 281 #if USE(UNIX_DOMAIN_SOCKETS) 282 reply ->send(connectionIdentifier, supportsAsynchronousPluginInitialization);282 reply(connectionIdentifier, supportsAsynchronousPluginInitialization); 283 283 #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); 285 285 #else 286 286 notImplemented(); -
trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.h
r231771 r231931 77 77 // Asks the plug-in process to create a new connection to a web process. The connection identifier will be 78 78 // 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&&); 80 80 81 81 void fetchWebsiteData(WTF::Function<void (Vector<String>)>&& completionHandler); … … 145 145 RefPtr<IPC::Connection> m_connection; 146 146 147 Deque< RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>> m_pendingConnectionReplies;147 Deque<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> m_pendingConnectionReplies; 148 148 149 149 Vector<uint64_t> m_pendingFetchWebsiteDataRequests; -
trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp
r230293 r231931 113 113 } 114 114 115 void StorageProcessProxy::getStorageProcessConnection(WebProcessProxy& webProcessProxy, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&& reply)115 void StorageProcessProxy::getStorageProcessConnection(WebProcessProxy& webProcessProxy, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply) 116 116 { 117 117 m_pendingConnectionReplies.append(WTFMove(reply)); … … 141 141 142 142 #if USE(UNIX_DOMAIN_SOCKETS) 143 reply ->send(IPC::Attachment());143 reply(IPC::Attachment()); 144 144 #elif OS(DARWIN) 145 reply ->send(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND));145 reply(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND)); 146 146 #else 147 147 notImplemented(); … … 173 173 ASSERT(!m_pendingConnectionReplies.isEmpty()); 174 174 175 RefPtr<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>reply = m_pendingConnectionReplies.takeFirst();175 auto reply = m_pendingConnectionReplies.takeFirst(); 176 176 177 177 #if USE(UNIX_DOMAIN_SOCKETS) 178 reply ->send(connectionIdentifier);178 reply(connectionIdentifier); 179 179 #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)); 181 181 #else 182 182 notImplemented(); -
trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h
r230293 r231931 57 57 void deleteWebsiteDataForOrigins(PAL::SessionID, OptionSet<WebsiteDataType>, const Vector<WebCore::SecurityOriginData>&, WTF::Function<void()>&& completionHandler); 58 58 59 void getStorageProcessConnection(WebProcessProxy&, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&&);59 void getStorageProcessConnection(WebProcessProxy&, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&&); 60 60 61 61 private: … … 92 92 93 93 unsigned m_numPendingConnectionRequests; 94 Deque< Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>> m_pendingConnectionReplies;94 Deque<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply> m_pendingConnectionReplies; 95 95 96 96 HashMap<uint64_t, WTF::Function<void (WebsiteData)>> m_pendingFetchWebsiteDataCallbacks; -
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
r231821 r231931 239 239 uint64_t currentDatabaseUsage; 240 240 uint64_t expectedUsage; 241 RefPtr<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>reply;241 Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply reply; 242 242 }; 243 243 … … 247 247 String databaseName, String displayName, uint64_t currentQuota, 248 248 uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, 249 Ref<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>&&);249 Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply&&); 250 250 251 251 void add(std::unique_ptr<Record>); … … 270 270 uint64_t frameID, String originIdentifier, String databaseName, String displayName, 271 271 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) 273 273 { 274 274 auto record = std::make_unique<Record>(); … … 2445 2445 2446 2446 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)); 2448 2448 return; 2449 2449 } … … 4034 4034 } 4035 4035 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)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, Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply&& reply) 4037 4037 { 4038 4038 ASSERT(!m_syncNavigationActionPolicyReply); … … 4043 4043 // If the client did not respond synchronously, proceed with the load. 4044 4044 if (auto syncNavigationActionPolicyReply = WTFMove(m_syncNavigationActionPolicyReply)) 4045 syncNavigationActionPolicyReply ->send(navigationID, PolicyAction::Use, { }, { });4045 syncNavigationActionPolicyReply(navigationID, PolicyAction::Use, { }, { }); 4046 4046 } 4047 4047 … … 4206 4206 // UIClient 4207 4207 4208 void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, ResourceRequest&& request, WindowFeatures&& windowFeatures, NavigationActionData&& navigationActionData, Ref<Messages::WebPageProxy::CreateNewPage::DelayedReply>&& reply)4208 void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, ResourceRequest&& request, WindowFeatures&& windowFeatures, NavigationActionData&& navigationActionData, Messages::WebPageProxy::CreateNewPage::DelayedReply&& reply) 4209 4209 { 4210 4210 MESSAGE_CHECK(m_process->webFrame(originatingFrameInfoData.frameID)); … … 4213 4213 auto mainFrameURL = m_mainFrame->url(); 4214 4214 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) { 4216 4216 if (!newPage) { 4217 reply ->send(0, { });4217 reply(0, { }); 4218 4218 return; 4219 4219 } 4220 4220 4221 reply ->send(newPage->pageID(), newPage->creationParameters());4221 reply(newPage->pageID(), newPage->creationParameters()); 4222 4222 4223 4223 WebsiteDataStore::cloneSessionData(*this, *newPage); … … 4255 4255 } 4256 4256 4257 void WebPageProxy::runJavaScriptAlert(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Ref<Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply>&& reply)4257 void WebPageProxy::runJavaScriptAlert(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply&& reply) 4258 4258 { 4259 4259 WebFrameProxy* frame = m_process->webFrame(frameID); … … 4267 4267 automationSession->willShowJavaScriptDialog(*this); 4268 4268 } 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 4272 void WebPageProxy::runJavaScriptConfirm(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply&& reply) 4275 4273 { 4276 4274 WebFrameProxy* frame = m_process->webFrame(frameID); … … 4285 4283 } 4286 4284 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 4288 void WebPageProxy::runJavaScriptPrompt(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, const String& defaultValue, Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply&& reply) 4293 4289 { 4294 4290 WebFrameProxy* frame = m_process->webFrame(frameID); … … 4303 4299 } 4304 4300 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)); 4308 4302 } 4309 4303 … … 4373 4367 4374 4368 #if ENABLE(WEBGL) 4375 void WebPageProxy::webGLPolicyForURL(URL&& url, Ref<Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply>&& reply)4369 void WebPageProxy::webGLPolicyForURL(URL&& url, Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply&& reply) 4376 4370 { 4377 4371 if (m_navigationClient) { 4378 4372 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)); 4380 4374 }); 4381 4375 } 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 4379 void WebPageProxy::resolveWebGLPolicyForURL(URL&& url, Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply&& reply) 4386 4380 { 4387 4381 if (m_navigationClient) { 4388 4382 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)); 4390 4384 }); 4391 4385 } else 4392 reply ->send(static_cast<uint32_t>(m_loaderClient->resolveWebGLLoadPolicy(*this, url)));4386 reply(static_cast<uint32_t>(m_loaderClient->resolveWebGLLoadPolicy(*this, url))); 4393 4387 } 4394 4388 #endif // ENABLE(WEBGL) … … 4399 4393 } 4400 4394 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 }); 4395 void WebPageProxy::getToolbarsAreVisible(Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply&& reply) 4396 { 4397 m_uiClient->toolbarsAreVisible(*this, WTFMove(reply)); 4406 4398 } 4407 4399 … … 4411 4403 } 4412 4404 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 }); 4405 void WebPageProxy::getMenuBarIsVisible(Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply&& reply) 4406 { 4407 m_uiClient->menuBarIsVisible(*this, WTFMove(reply)); 4418 4408 } 4419 4409 … … 4423 4413 } 4424 4414 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 }); 4415 void WebPageProxy::getStatusBarIsVisible(Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply&& reply) 4416 { 4417 m_uiClient->statusBarIsVisible(*this, WTFMove(reply)); 4430 4418 } 4431 4419 … … 4440 4428 } 4441 4429 4442 void WebPageProxy::getWindowFrame( Ref<Messages::WebPageProxy::GetWindowFrame::DelayedReply>&& reply)4430 void WebPageProxy::getWindowFrame(Messages::WebPageProxy::GetWindowFrame::DelayedReply&& reply) 4443 4431 { 4444 4432 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)); 4446 4434 }); 4447 4435 } … … 4454 4442 } 4455 4443 4456 void WebPageProxy::screenToRootView(const IntPoint& screenPoint, Ref<Messages::WebPageProxy::ScreenToRootView::DelayedReply>&& reply)4457 { 4458 reply ->send(m_pageClient.screenToRootView(screenPoint));4444 void WebPageProxy::screenToRootView(const IntPoint& screenPoint, Messages::WebPageProxy::ScreenToRootView::DelayedReply&& reply) 4445 { 4446 reply(m_pageClient.screenToRootView(screenPoint)); 4459 4447 } 4460 4448 4461 void WebPageProxy::rootViewToScreen(const IntRect& viewRect, Ref<Messages::WebPageProxy::RootViewToScreen::DelayedReply>&& reply)4462 { 4463 reply ->send(m_pageClient.rootViewToScreen(viewRect));4449 void WebPageProxy::rootViewToScreen(const IntRect& viewRect, Messages::WebPageProxy::RootViewToScreen::DelayedReply&& reply) 4450 { 4451 reply(m_pageClient.rootViewToScreen(viewRect)); 4464 4452 } 4465 4453 … … 4476 4464 #endif 4477 4465 4478 void WebPageProxy::runBeforeUnloadConfirmPanel(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, RefPtr<Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply>reply)4466 void WebPageProxy::runBeforeUnloadConfirmPanel(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply&& reply) 4479 4467 { 4480 4468 WebFrameProxy* frame = m_process->webFrame(frameID); … … 4489 4477 } 4490 4478 4491 m_uiClient->runBeforeUnloadConfirmPanel(this, message, frame, securityOrigin, [reply](bool result) { reply->send(result); });4479 m_uiClient->runBeforeUnloadConfirmPanel(this, message, frame, securityOrigin, WTFMove(reply)); 4492 4480 } 4493 4481 … … 6207 6195 } 6208 6196 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)6197 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, Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply&& reply) 6210 6198 { 6211 6199 ExceededDatabaseQuotaRecords& records = ExceededDatabaseQuotaRecords::singleton(); … … 6223 6211 MESSAGE_CHECK(frame); 6224 6212 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)); 6232 6215 record = records.next(); 6233 6216 } 6234 6217 } 6235 6218 6236 void WebPageProxy::reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Ref<Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply>&& reply)6219 void WebPageProxy::reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply&& reply) 6237 6220 { 6238 6221 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)); 6240 6223 } 6241 6224 -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r231795 r231931 1241 1241 void setFocus(bool focused); 1242 1242 void setWindowFrame(const WebCore::FloatRect&); 1243 void getWindowFrame( Ref<Messages::WebPageProxy::GetWindowFrame::DelayedReply>&&);1243 void getWindowFrame(Messages::WebPageProxy::GetWindowFrame::DelayedReply&&); 1244 1244 void getWindowFrameWithCallback(Function<void(WebCore::FloatRect)>&&); 1245 1245 … … 1392 1392 1393 1393 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&&); 1395 1395 void decidePolicyForNewWindowAction(uint64_t frameID, const WebCore::SecurityOriginData& frameSecurityOrigin, NavigationActionData&&, WebCore::ResourceRequest&&, const String& frameName, uint64_t listenerID, const UserData&); 1396 1396 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&); … … 1408 1408 1409 1409 // 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&&); 1411 1411 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&&); 1415 1415 void setStatusText(const String&); 1416 1416 void mouseDidMoveOverElement(WebHitTestResultData&&, uint32_t modifiers, UserData&&); … … 1420 1420 #endif // ENABLE(NETSCAPE_PLUGIN_API) 1421 1421 #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&&); 1424 1424 #endif // ENABLE(WEBGL) 1425 1425 void setToolbarsAreVisible(bool toolbarsAreVisible); 1426 void getToolbarsAreVisible( Ref<Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply>&&);1426 void getToolbarsAreVisible(Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply&&); 1427 1427 void setMenuBarIsVisible(bool menuBarIsVisible); 1428 void getMenuBarIsVisible( Ref<Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply>&&);1428 void getMenuBarIsVisible(Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply&&); 1429 1429 void setStatusBarIsVisible(bool statusBarIsVisible); 1430 void getStatusBarIsVisible( Ref<Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply>&&);1430 void getStatusBarIsVisible(Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply&&); 1431 1431 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&&); 1434 1434 #if PLATFORM(IOS) 1435 1435 void accessibilityScreenToRootView(const WebCore::IntPoint& screenPoint, WebCore::IntPoint& windowPoint); 1436 1436 void rootViewToAccessibilityScreen(const WebCore::IntRect& viewRect, WebCore::IntRect& result); 1437 1437 #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&&); 1439 1439 void didChangeViewportProperties(const WebCore::ViewportAttributes&); 1440 1440 void pageDidScroll(); 1441 1441 void runOpenPanel(uint64_t frameID, const WebCore::SecurityOriginData&, const WebCore::FileChooserSettings&); 1442 1442 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&&); 1445 1445 void requestGeolocationPermissionForFrame(uint64_t geolocationID, uint64_t frameID, String originIdentifier); 1446 1446 … … 1962 1962 1963 1963 // Synchronous navigation policy decision. 1964 RefPtr<Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply>m_syncNavigationActionPolicyReply;1964 Messages::WebPageProxy::DecidePolicyForNavigationActionSync::DelayedReply m_syncNavigationActionPolicyReply; 1965 1965 1966 1966 WebCore::ResourceRequest m_decidePolicyForResponseRequest; -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r231850 r231931 539 539 } 540 540 541 void WebProcessPool::networkProcessCrashed(NetworkProcessProxy& networkProcessProxy, Vector< Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>>&& pendingReplies)541 void WebProcessPool::networkProcessCrashed(NetworkProcessProxy& networkProcessProxy, Vector<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& pendingReplies) 542 542 { 543 543 networkProcessFailedToLaunch(networkProcessProxy); … … 565 565 } 566 566 567 void WebProcessPool::getNetworkProcessConnection( Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply)567 void WebProcessPool::getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply) 568 568 { 569 569 ensureNetworkProcess(); … … 612 612 } 613 613 614 void WebProcessPool::getStorageProcessConnection(WebProcessProxy& webProcessProxy, PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&& reply)614 void WebProcessPool::getStorageProcessConnection(WebProcessProxy& webProcessProxy, PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply) 615 615 { 616 616 ensureStorageProcessAndWebsiteDataStore(WebsiteDataStore::existingNonDefaultDataStoreForSessionID(initialSessionID)); -
trunk/Source/WebKit/UIProcess/WebProcessPool.h
r231648 r231931 327 327 NetworkProcessProxy& ensureNetworkProcess(WebsiteDataStore* withWebsiteDataStore = nullptr); 328 328 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>&&); 330 330 void networkProcessFailedToLaunch(NetworkProcessProxy&); 331 331 332 void getNetworkProcessConnection( Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&);332 void getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&&); 333 333 334 334 void ensureStorageProcessAndWebsiteDataStore(WebsiteDataStore* relevantDataStore); 335 335 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&&); 337 337 void storageProcessCrashed(StorageProcessProxy*); 338 338 #if ENABLE(SERVICE_WORKER) -
trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp
r231321 r231931 585 585 586 586 #if ENABLE(NETSCAPE_PLUGIN_API) 587 void WebProcessProxy::getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&& reply)587 void WebProcessProxy::getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply) 588 588 { 589 589 PluginProcessManager::singleton().getPluginProcessConnection(pluginProcessToken, WTFMove(reply)); … … 591 591 #endif 592 592 593 void WebProcessProxy::getNetworkProcessConnection( Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply)593 void WebProcessProxy::getNetworkProcessConnection(Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply) 594 594 { 595 595 m_processPool->getNetworkProcessConnection(WTFMove(reply)); 596 596 } 597 597 598 void WebProcessProxy::getStorageProcessConnection(PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&& reply)598 void WebProcessProxy::getStorageProcessConnection(PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply) 599 599 { 600 600 m_processPool->getStorageProcessConnection(*this, initialSessionID, WTFMove(reply)); -
trunk/Source/WebKit/UIProcess/WebProcessProxy.h
r231771 r231931 262 262 #endif // ENABLE(NETSCAPE_PLUGIN_API) 263 263 #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&&); 268 268 269 269 bool platformIsBeingDebugged() const; -
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp
r231709 r231931 245 245 } 246 246 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 }); 247 void WebSWContextManagerConnection::syncTerminateWorker(ServiceWorkerIdentifier identifier, Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply&& reply) 248 { 249 SWContextManager::singleton().terminateWorker(identifier, syncWorkerTerminationTimeout, WTFMove(reply)); 252 250 } 253 251 -
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h
r231588 r231931 83 83 void fireActivateEvent(WebCore::ServiceWorkerIdentifier); 84 84 void terminateWorker(WebCore::ServiceWorkerIdentifier); 85 void syncTerminateWorker(WebCore::ServiceWorkerIdentifier, Ref<Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply>&&);85 void syncTerminateWorker(WebCore::ServiceWorkerIdentifier, Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply&&); 86 86 void findClientByIdentifierCompleted(uint64_t requestIdentifier, std::optional<WebCore::ServiceWorkerClientData>&&, bool hasSecurityError); 87 87 void matchAllCompleted(uint64_t matchAllRequestIdentifier, Vector<WebCore::ServiceWorkerClientData>&&); -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r231779 r231931 815 815 816 816 #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&&); 818 818 #endif 819 819 -
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
r231606 r231931 2991 2991 #endif 2992 2992 2993 void WebPage::computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo& printInfo, CallbackID callbackID, Ref<Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply>&& reply)2993 void WebPage::computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo& printInfo, CallbackID callbackID, Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply&& reply) 2994 2994 { 2995 2995 if (printInfo.snapshotFirstPage) { 2996 reply ->send(1);2996 reply(1); 2997 2997 IntSize snapshotSize { FloatSize { printInfo.availablePaperWidth, printInfo.availablePaperHeight } }; 2998 2998 IntRect snapshotRect { {0, 0}, snapshotSize }; … … 3009 3009 std::size_t pageCount = pageRects.size(); 3010 3010 ASSERT(pageCount <= std::numeric_limits<uint32_t>::max()); 3011 reply ->send(pageCount);3011 reply(pageCount); 3012 3012 3013 3013 RetainPtr<CFMutableDataRef> pdfPageData;
Note: See TracChangeset
for help on using the changeset viewer.