Changeset 230293 in webkit
- Timestamp:
- Apr 4, 2018 8:15:46 PM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r230292 r230293 1 2018-04-04 Ryan Haddad <ryanhaddad@apple.com> 2 3 Unreviewed, rolling out r230283. 4 5 Caused webkitpy test failures. 6 7 Reverted changeset: 8 9 "Use CompletionHandlers for DelayedReplies" 10 https://bugs.webkit.org/show_bug.cgi?id=182269 11 https://trac.webkit.org/changeset/230283 12 1 13 2018-04-04 Youenn Fablet <youenn@apple.com> 2 14 -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.cpp
r230290 r230293 229 229 } 230 230 231 void NetworkConnectionToWebProcess::scheduleResourceLoad( NetworkResourceLoadParameters&& loadParameters)232 { 233 auto loader = NetworkResourceLoader::create( WTFMove(loadParameters), *this);231 void NetworkConnectionToWebProcess::scheduleResourceLoad(const NetworkResourceLoadParameters& loadParameters) 232 { 233 auto loader = NetworkResourceLoader::create(loadParameters, *this); 234 234 m_networkResourceLoaders.add(loadParameters.identifier, loader.ptr()); 235 235 loader->start(); 236 236 } 237 237 238 void NetworkConnectionToWebProcess::performSynchronousLoad( NetworkResourceLoadParameters&& loadParameters, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply)239 { 240 auto loader = NetworkResourceLoader::create( WTFMove(loadParameters), *this, WTFMove(reply));238 void NetworkConnectionToWebProcess::performSynchronousLoad(const NetworkResourceLoadParameters& loadParameters, Ref<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& reply) 239 { 240 auto loader = NetworkResourceLoader::create(loadParameters, *this, WTFMove(reply)); 241 241 m_networkResourceLoaders.add(loadParameters.identifier, loader.ptr()); 242 242 loader->start(); -
trunk/Source/WebKit/NetworkProcess/NetworkConnectionToWebProcess.h
r230290 r230293 91 91 void didReceiveSyncNetworkConnectionToWebProcessMessage(IPC::Connection&, IPC::Decoder&, std::unique_ptr<IPC::Encoder>&); 92 92 93 void scheduleResourceLoad( NetworkResourceLoadParameters&&);94 void performSynchronousLoad( NetworkResourceLoadParameters&&, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&&);93 void scheduleResourceLoad(const NetworkResourceLoadParameters&); 94 void performSynchronousLoad(const NetworkResourceLoadParameters&, Ref<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&&); 95 95 void loadPing(NetworkResourceLoadParameters&&, WebCore::HTTPHeaderMap&& originalRequestHeaders); 96 96 void prefetchDNS(const String&); -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.cpp
r230283 r230293 63 63 64 64 struct NetworkResourceLoader::SynchronousLoadData { 65 SynchronousLoadData( Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply)65 SynchronousLoadData(RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& reply) 66 66 : delayedReply(WTFMove(reply)) 67 67 { … … 69 69 } 70 70 ResourceRequest currentRequest; 71 Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReplydelayedReply;71 RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply> delayedReply; 72 72 ResourceResponse response; 73 73 ResourceError error; … … 83 83 responseBuffer.append(buffer->data(), buffer->size()); 84 84 85 data.delayedReply (data.error, data.response, responseBuffer);85 data.delayedReply->send(data.error, data.response, responseBuffer); 86 86 data.delayedReply = nullptr; 87 87 } 88 88 89 NetworkResourceLoader::NetworkResourceLoader( NetworkResourceLoadParameters&& parameters, NetworkConnectionToWebProcess& connection, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& synchronousReply)90 : m_parameters { WTFMove(parameters)}89 NetworkResourceLoader::NetworkResourceLoader(const NetworkResourceLoadParameters& parameters, NetworkConnectionToWebProcess& connection, RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& synchronousReply) 90 : m_parameters { parameters } 91 91 , m_connection { connection } 92 , m_defersLoading { m_parameters.defersLoading }93 , m_isAllowedToAskUserForCredentials { m_parameters.clientCredentialPolicy == ClientCredentialPolicy::MayAskClientForCredentials }92 , m_defersLoading { parameters.defersLoading } 93 , m_isAllowedToAskUserForCredentials { parameters.clientCredentialPolicy == ClientCredentialPolicy::MayAskClientForCredentials } 94 94 , m_bufferingTimer { *this, &NetworkResourceLoader::bufferingTimerFired } 95 95 , m_cache { sessionID().isEphemeral() ? nullptr : NetworkProcess::singleton().cache() } -
trunk/Source/WebKit/NetworkProcess/NetworkResourceLoader.h
r230283 r230293 24 24 */ 25 25 26 #pragma once 26 #ifndef NetworkResourceLoader_h 27 #define NetworkResourceLoader_h 27 28 28 29 #include "DownloadID.h" … … 52 53 class NetworkResourceLoader final : public RefCounted<NetworkResourceLoader>, public NetworkLoadClient, public IPC::MessageSender { 53 54 public: 54 static Ref<NetworkResourceLoader> create( NetworkResourceLoadParameters&& parameters, NetworkConnectionToWebProcess& connection, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&& reply = nullptr)55 static Ref<NetworkResourceLoader> create(const NetworkResourceLoadParameters& parameters, NetworkConnectionToWebProcess& connection, RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&& reply = nullptr) 55 56 { 56 return adoptRef(*new NetworkResourceLoader( WTFMove(parameters), connection, WTFMove(reply)));57 return adoptRef(*new NetworkResourceLoader(parameters, connection, WTFMove(reply))); 57 58 } 58 59 virtual ~NetworkResourceLoader(); … … 111 112 112 113 private: 113 NetworkResourceLoader( NetworkResourceLoadParameters&&, NetworkConnectionToWebProcess&, Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply&&);114 NetworkResourceLoader(const NetworkResourceLoadParameters&, NetworkConnectionToWebProcess&, RefPtr<Messages::NetworkConnectionToWebProcess::PerformSynchronousLoad::DelayedReply>&&); 114 115 115 116 // IPC::MessageSender … … 181 182 182 183 } // namespace WebKit 184 185 #endif // NetworkResourceLoader_h -
trunk/Source/WebKit/Platform/IPC/Connection.h
r230283 r230293 55 55 namespace IPC { 56 56 57 template<typename> struct CodingType;58 59 57 enum class SendOption { 60 58 // Whether this message should be dispatched when waiting for a sync reply. -
trunk/Source/WebKit/Platform/IPC/HandleMessage.h
r230283 r230293 27 27 28 28 #include "ArgumentCoders.h" 29 #include <wtf/CompletionHandler.h>30 29 #include <wtf/StdLibExtras.h> 31 30 … … 64 63 // Dispatch functions with delayed reply arguments. 65 64 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...>)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...>) 68 67 { 69 (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))..., WTFMove( completionHandler));68 (object->*function)(std::get<ArgsIndex>(std::forward<ArgsTuple>(args))..., WTFMove(delayedReply)); 70 69 } 71 70 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)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) 74 73 { 75 callMemberFunctionImpl(object, function, WTFMove( completionHandler), std::forward<ArgsTuple>(args), ArgsIndicies());74 callMemberFunctionImpl(object, function, WTFMove(delayedReply), std::forward<ArgsTuple>(args), ArgsIndicies()); 76 75 } 77 76 … … 176 175 } 177 176 178 typename T::DelayedReply completionHandler = [replyEncoder = WTFMove(replyEncoder), connection = makeRef(connection)] (auto&&... args) mutable { 179 T::send(WTFMove(replyEncoder), WTFMove(connection), args...); 180 }; 181 182 callMemberFunction(WTFMove(arguments), WTFMove(completionHandler), object, function); 177 Ref<typename T::DelayedReply> delayedReply = adoptRef(*new typename T::DelayedReply(connection, WTFMove(replyEncoder))); 178 callMemberFunction(WTFMove(arguments), WTFMove(delayedReply), object, function); 183 179 } 184 180 -
trunk/Source/WebKit/PluginProcess/PluginControllerProxy.cpp
r230283 r230293 92 92 } 93 93 94 void PluginControllerProxy::setInitializationReply( Messages::WebProcessConnection::CreatePlugin::DelayedReply&& reply)94 void PluginControllerProxy::setInitializationReply(Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&& reply) 95 95 { 96 96 ASSERT(!m_initializationReply); … … 98 98 } 99 99 100 Messages::WebProcessConnection::CreatePlugin::DelayedReply PluginControllerProxy::takeInitializationReply() 101 { 102 ASSERT(m_initializationReply); 103 return WTFMove(m_initializationReply); 100 RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> PluginControllerProxy::takeInitializationReply() 101 { 102 return m_initializationReply; 104 103 } 105 104 -
trunk/Source/WebKit/PluginProcess/PluginControllerProxy.h
r230283 r230293 75 75 bool isInitializing() const { return m_isInitializing; } 76 76 77 void setInitializationReply( Messages::WebProcessConnection::CreatePlugin::DelayedReply&&);78 Messages::WebProcessConnection::CreatePlugin::DelayedReplytakeInitializationReply();77 void setInitializationReply(Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&&); 78 RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> takeInitializationReply(); 79 79 80 80 private: … … 184 184 bool m_isWindowVisible; 185 185 186 Messages::WebProcessConnection::CreatePlugin::DelayedReplym_initializationReply;186 RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> m_initializationReply; 187 187 188 188 RefPtr<Plugin> m_plugin; -
trunk/Source/WebKit/PluginProcess/WebProcessConnection.cpp
r230283 r230293 180 180 } 181 181 182 void WebProcessConnection::destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Messages::WebProcessConnection::DestroyPlugin::DelayedReply&& reply)182 void WebProcessConnection::destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Ref<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 ();186 reply->send(); 187 187 188 188 // Ensure we don't clamp any timers during destruction … … 233 233 } 234 234 235 void WebProcessConnection::createPlugin(const PluginCreationParameters& creationParameters, Messages::WebProcessConnection::CreatePlugin::DelayedReply&& reply)235 void WebProcessConnection::createPlugin(const PluginCreationParameters& creationParameters, Ref<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 (true, pluginControllerProxy->wantsWheelEvents(), pluginControllerProxy->remoteLayerClientID());252 reply->send(true, pluginControllerProxy->wantsWheelEvents(), pluginControllerProxy->remoteLayerClientID()); 253 253 #else 254 reply (true, pluginControllerProxy->wantsWheelEvents(), 0);254 reply->send(true, pluginControllerProxy->wantsWheelEvents(), 0); 255 255 #endif 256 256 return; … … 267 267 createPluginInternal(creationParameters, result, wantsWheelEvents, remoteLayerClientID); 268 268 269 reply (result, wantsWheelEvents, remoteLayerClientID);269 reply->send(result, wantsWheelEvents, remoteLayerClientID); 270 270 } 271 271 … … 312 312 PluginControllerProxy* pluginControllerProxy = m_pluginControllers.get(creationParameters.pluginInstanceID); 313 313 ASSERT(pluginControllerProxy); 314 if ( autodelayedSyncReply = pluginControllerProxy->takeInitializationReply()) {315 delayedSyncReply (result, wantsWheelEvents, remoteLayerClientID);314 if (RefPtr<Messages::WebProcessConnection::CreatePlugin::DelayedReply> delayedSyncReply = pluginControllerProxy->takeInitializationReply()) { 315 delayedSyncReply->send(result, wantsWheelEvents, remoteLayerClientID); 316 316 return; 317 317 } -
trunk/Source/WebKit/PluginProcess/WebProcessConnection.h
r230283 r230293 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&, Messages::WebProcessConnection::CreatePlugin::DelayedReply&&);72 void createPlugin(const PluginCreationParameters&, Ref<Messages::WebProcessConnection::CreatePlugin::DelayedReply>&&); 73 73 void createPluginAsynchronously(const PluginCreationParameters&); 74 void destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Messages::WebProcessConnection::DestroyPlugin::DelayedReply&&);74 void destroyPlugin(uint64_t pluginInstanceID, bool asynchronousCreationIncomplete, Ref<Messages::WebProcessConnection::DestroyPlugin::DelayedReply>&&); 75 75 76 76 void createPluginInternal(const PluginCreationParameters&, bool& result, bool& wantsWheelEvents, uint32_t& remoteLayerClientID); -
trunk/Source/WebKit/Scripts/webkit/messages.py
r230283 r230293 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(' using DelayedReply = CompletionHandler<void(') 122 if len(send_parameters): 123 result.append('%s' % ', '.join([' '.join(x) for x in send_parameters])) 124 result.append(')>;') 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') 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') 129 131 130 132 result.append(' typedef %s Reply;\n' % reply_type(message)) … … 529 531 result.append('#if %s\n\n' % message.condition) 530 532 531 result.append('void %s::send(std::unique_ptr<IPC::Encoder>&& encoder, IPC::Connection& connection' % (message.name)) 532 if len(send_parameters): 533 result.append(', %s' % ', '.join([' '.join(x) for x in send_parameters])) 534 result.append(')\n{\n') 535 result += [' *encoder << %s;\n' % x.name for x in message.reply_parameters] 536 result.append(' connection.sendSyncReply(WTFMove(encoder));\n') 533 result.append('%s::DelayedReply::DelayedReply(Ref<IPC::Connection>&& connection, std::unique_ptr<IPC::Encoder> encoder)\n' % message.name) 534 result.append(' : m_connection(WTFMove(connection))\n') 535 result.append(' , m_encoder(WTFMove(encoder))\n') 536 result.append('{\n') 537 result.append('}\n') 538 result.append('\n') 539 result.append('%s::DelayedReply::~DelayedReply()\n' % message.name) 540 result.append('{\n') 541 result.append(' ASSERT(!m_connection);\n') 542 result.append('}\n') 543 result.append('\n') 544 result.append('bool %s::DelayedReply::send(%s)\n' % (message.name, ', '.join([' '.join(x) for x in send_parameters]))) 545 result.append('{\n') 546 result.append(' ASSERT(m_encoder);\n') 547 result += [' *m_encoder << %s;\n' % x.name for x in message.reply_parameters] 548 result.append(' bool _result = m_connection->sendSyncReply(WTFMove(m_encoder));\n') 549 result.append(' m_connection = nullptr;\n') 550 result.append(' return _result;\n') 537 551 result.append('}\n') 538 552 result.append('\n') -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
r230283 r230293 116 116 } 117 117 118 void NetworkProcessProxy::getNetworkProcessConnection( Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply)118 void NetworkProcessProxy::getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply) 119 119 { 120 120 m_pendingConnectionReplies.append(WTFMove(reply)); … … 194 194 clearCallbackStates(); 195 195 196 Vector< Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> pendingReplies;196 Vector<Ref<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 autoreply = m_pendingConnectionReplies.takeFirst();209 Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); 210 210 211 211 #if USE(UNIX_DOMAIN_SOCKETS) 212 reply (IPC::Attachment());212 reply->send(IPC::Attachment()); 213 213 #elif OS(DARWIN) 214 reply (IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND));214 reply->send(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND)); 215 215 #else 216 216 notImplemented(); … … 283 283 284 284 // Grab the first pending connection reply. 285 autoreply = m_pendingConnectionReplies.takeFirst();285 RefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); 286 286 287 287 #if USE(UNIX_DOMAIN_SOCKETS) 288 reply (connectionIdentifier);288 reply->send(connectionIdentifier); 289 289 #elif OS(DARWIN) 290 reply (IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND));290 reply->send(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND)); 291 291 #else 292 292 notImplemented(); -
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
r230283 r230293 69 69 ~NetworkProcessProxy(); 70 70 71 void getNetworkProcessConnection( Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&&);71 void getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&); 72 72 73 73 DownloadProxy* createDownloadProxy(const WebCore::ResourceRequest&); … … 156 156 157 157 unsigned m_numPendingConnectionRequests; 158 Deque< Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> m_pendingConnectionReplies;158 Deque<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>> m_pendingConnectionReplies; 159 159 160 160 HashMap<uint64_t, WTF::Function<void (WebsiteData)>> m_pendingFetchWebsiteDataCallbacks; -
trunk/Source/WebKit/UIProcess/Plugins/PluginProcessManager.cpp
r230283 r230293 82 82 } 83 83 84 void PluginProcessManager::getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply)84 void PluginProcessManager::getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&& reply) 85 85 { 86 86 ASSERT(pluginProcessToken); -
trunk/Source/WebKit/UIProcess/Plugins/PluginProcessManager.h
r230283 r230293 58 58 uint64_t pluginProcessToken(const PluginModuleInfo&, PluginProcessType, PluginProcessSandboxPolicy); 59 59 60 void getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&&);60 void getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&&); 61 61 void removePluginProcessProxy(PluginProcessProxy*); 62 62 -
trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.cpp
r230283 r230293 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( Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply)105 void PluginProcessProxy::getPluginProcessConnection(Ref<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 autoreply = m_pendingConnectionReplies.takeFirst();162 RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); 163 163 164 164 #if USE(UNIX_DOMAIN_SOCKETS) 165 reply (IPC::Attachment(), false);165 reply->send(IPC::Attachment(), false); 166 166 #elif OS(DARWIN) 167 reply (IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND), false);167 reply->send(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 autoreply = m_pendingConnectionReplies.takeFirst();279 RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); 280 280 281 281 #if USE(UNIX_DOMAIN_SOCKETS) 282 reply (connectionIdentifier, supportsAsynchronousPluginInitialization);282 reply->send(connectionIdentifier, supportsAsynchronousPluginInitialization); 283 283 #elif OS(DARWIN) 284 reply (IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND), supportsAsynchronousPluginInitialization);284 reply->send(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND), supportsAsynchronousPluginInitialization); 285 285 #else 286 286 notImplemented(); -
trunk/Source/WebKit/UIProcess/Plugins/PluginProcessProxy.h
r230283 r230293 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( Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&&);79 void getPluginProcessConnection(Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&&); 80 80 81 81 void fetchWebsiteData(WTF::Function<void (Vector<String>)>&& completionHandler); … … 150 150 RefPtr<IPC::Connection> m_connection; 151 151 152 Deque< Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply> m_pendingConnectionReplies;152 Deque<RefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>> m_pendingConnectionReplies; 153 153 154 154 Vector<uint64_t> m_pendingFetchWebsiteDataRequests; -
trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.cpp
r230283 r230293 113 113 } 114 114 115 void StorageProcessProxy::getStorageProcessConnection(WebProcessProxy& webProcessProxy, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply)115 void StorageProcessProxy::getStorageProcessConnection(WebProcessProxy& webProcessProxy, Ref<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 (IPC::Attachment());143 reply->send(IPC::Attachment()); 144 144 #elif OS(DARWIN) 145 reply (IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND));145 reply->send(IPC::Attachment(0, MACH_MSG_TYPE_MOVE_SEND)); 146 146 #else 147 147 notImplemented(); … … 173 173 ASSERT(!m_pendingConnectionReplies.isEmpty()); 174 174 175 autoreply = m_pendingConnectionReplies.takeFirst();175 RefPtr<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply> reply = m_pendingConnectionReplies.takeFirst(); 176 176 177 177 #if USE(UNIX_DOMAIN_SOCKETS) 178 reply (connectionIdentifier);178 reply->send(connectionIdentifier); 179 179 #elif OS(DARWIN) 180 reply (IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND));180 reply->send(IPC::Attachment(connectionIdentifier.port(), MACH_MSG_TYPE_MOVE_SEND)); 181 181 #else 182 182 notImplemented(); -
trunk/Source/WebKit/UIProcess/Storage/StorageProcessProxy.h
r230283 r230293 57 57 void deleteWebsiteDataForOrigins(PAL::SessionID, OptionSet<WebsiteDataType>, const Vector<WebCore::SecurityOriginData>&, WTF::Function<void()>&& completionHandler); 58 58 59 void getStorageProcessConnection(WebProcessProxy&, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&&);59 void getStorageProcessConnection(WebProcessProxy&, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&&); 60 60 61 61 private: … … 92 92 93 93 unsigned m_numPendingConnectionRequests; 94 Deque< Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply> m_pendingConnectionReplies;94 Deque<Ref<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
r230283 r230293 232 232 uint64_t currentDatabaseUsage; 233 233 uint64_t expectedUsage; 234 Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReplyreply;234 RefPtr<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply> reply; 235 235 }; 236 236 … … 240 240 String databaseName, String displayName, uint64_t currentQuota, 241 241 uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, uint64_t expectedUsage, 242 Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply&&);242 Ref<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>&&); 243 243 244 244 void add(std::unique_ptr<Record>); … … 263 263 uint64_t frameID, String originIdentifier, String databaseName, String displayName, 264 264 uint64_t currentQuota, uint64_t currentOriginUsage, uint64_t currentDatabaseUsage, 265 uint64_t expectedUsage, Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply&& reply)265 uint64_t expectedUsage, Ref<Messages::WebPageProxy::ExceededDatabaseQuota::DelayedReply>&& reply) 266 266 { 267 267 auto record = std::make_unique<Record>(); … … 4043 4043 // UIClient 4044 4044 4045 void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, ResourceRequest&& request, WindowFeatures&& windowFeatures, NavigationActionData&& navigationActionData, Messages::WebPageProxy::CreateNewPage::DelayedReply&& reply)4045 void WebPageProxy::createNewPage(const FrameInfoData& originatingFrameInfoData, uint64_t originatingPageID, ResourceRequest&& request, WindowFeatures&& windowFeatures, NavigationActionData&& navigationActionData, Ref<Messages::WebPageProxy::CreateNewPage::DelayedReply>&& reply) 4046 4046 { 4047 4047 MESSAGE_CHECK(m_process->webFrame(originatingFrameInfoData.frameID)); … … 4050 4050 auto mainFrameURL = m_mainFrame->url(); 4051 4051 4052 m_uiClient->createNewPage(*this, WTFMove(originatingFrameInfo), WTFMove(request), WTFMove(windowFeatures), WTFMove(navigationActionData), [this, protectedThis = makeRef(*this), mainFrameURL, request, reply = WTFMove(reply)](RefPtr<WebPageProxy> newPage) {4052 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) { 4053 4053 if (!newPage) { 4054 reply (0, { });4054 reply->send(0, { }); 4055 4055 return; 4056 4056 } 4057 4057 4058 reply (newPage->pageID(), newPage->creationParameters());4058 reply->send(newPage->pageID(), newPage->creationParameters()); 4059 4059 4060 4060 WebsiteDataStore::cloneSessionData(*this, *newPage); … … 4092 4092 } 4093 4093 4094 void WebPageProxy::runJavaScriptAlert(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply&& reply)4094 void WebPageProxy::runJavaScriptAlert(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Ref<Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply>&& reply) 4095 4095 { 4096 4096 WebFrameProxy* frame = m_process->webFrame(frameID); … … 4105 4105 } 4106 4106 m_uiClient->runJavaScriptAlert(this, message, frame, securityOrigin, [reply = WTFMove(reply)] { 4107 reply ();4107 reply->send(); 4108 4108 }); 4109 4109 } 4110 4110 4111 void WebPageProxy::runJavaScriptConfirm(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply&& reply)4111 void WebPageProxy::runJavaScriptConfirm(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Ref<Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply>&& reply) 4112 4112 { 4113 4113 WebFrameProxy* frame = m_process->webFrame(frameID); … … 4123 4123 4124 4124 m_uiClient->runJavaScriptConfirm(this, message, frame, securityOrigin, [reply = WTFMove(reply)](bool result) { 4125 reply (result);4125 reply->send(result); 4126 4126 }); 4127 4127 } 4128 4128 4129 void WebPageProxy::runJavaScriptPrompt(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, const String& defaultValue, Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply&& reply)4129 void WebPageProxy::runJavaScriptPrompt(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, const String& defaultValue, Ref<Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply>&& reply) 4130 4130 { 4131 4131 WebFrameProxy* frame = m_process->webFrame(frameID); … … 4141 4141 4142 4142 m_uiClient->runJavaScriptPrompt(this, message, defaultValue, frame, securityOrigin, [reply = WTFMove(reply)](const String& result) { 4143 reply (result);4143 reply->send(result); 4144 4144 }); 4145 4145 } … … 4210 4210 4211 4211 #if ENABLE(WEBGL) 4212 void WebPageProxy::webGLPolicyForURL(URL&& url, Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply&& reply)4212 void WebPageProxy::webGLPolicyForURL(URL&& url, Ref<Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply>&& reply) 4213 4213 { 4214 4214 if (m_navigationClient) { 4215 4215 m_navigationClient->webGLLoadPolicy(*this, url, [reply = WTFMove(reply)](WebGLLoadPolicy policy) { 4216 reply (static_cast<uint32_t>(policy));4216 reply->send(static_cast<uint32_t>(policy)); 4217 4217 }); 4218 4218 } else 4219 reply (static_cast<uint32_t>(m_loaderClient->webGLLoadPolicy(*this, url)));4220 } 4221 4222 void WebPageProxy::resolveWebGLPolicyForURL(URL&& url, Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply&& reply)4219 reply->send(static_cast<uint32_t>(m_loaderClient->webGLLoadPolicy(*this, url))); 4220 } 4221 4222 void WebPageProxy::resolveWebGLPolicyForURL(URL&& url, Ref<Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply>&& reply) 4223 4223 { 4224 4224 if (m_navigationClient) { 4225 4225 m_navigationClient->resolveWebGLLoadPolicy(*this, url, [reply = WTFMove(reply)](WebGLLoadPolicy policy) { 4226 reply (static_cast<uint32_t>(policy));4226 reply->send(static_cast<uint32_t>(policy)); 4227 4227 }); 4228 4228 } else 4229 reply (static_cast<uint32_t>(m_loaderClient->resolveWebGLLoadPolicy(*this, url)));4229 reply->send(static_cast<uint32_t>(m_loaderClient->resolveWebGLLoadPolicy(*this, url))); 4230 4230 } 4231 4231 #endif // ENABLE(WEBGL) … … 4236 4236 } 4237 4237 4238 void WebPageProxy::getToolbarsAreVisible( Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply&& reply)4238 void WebPageProxy::getToolbarsAreVisible(Ref<Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply>&& reply) 4239 4239 { 4240 4240 m_uiClient->toolbarsAreVisible(*this, [reply = WTFMove(reply)](bool visible) { 4241 reply (visible);4241 reply->send(visible); 4242 4242 }); 4243 4243 } … … 4248 4248 } 4249 4249 4250 void WebPageProxy::getMenuBarIsVisible( Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply&& reply)4250 void WebPageProxy::getMenuBarIsVisible(Ref<Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply>&& reply) 4251 4251 { 4252 4252 m_uiClient->menuBarIsVisible(*this, [reply = WTFMove(reply)] (bool visible) { 4253 reply (visible);4253 reply->send(visible); 4254 4254 }); 4255 4255 } … … 4260 4260 } 4261 4261 4262 void WebPageProxy::getStatusBarIsVisible( Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply&& reply)4262 void WebPageProxy::getStatusBarIsVisible(Ref<Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply>&& reply) 4263 4263 { 4264 4264 m_uiClient->statusBarIsVisible(*this, [reply = WTFMove(reply)] (bool visible) { 4265 reply (visible);4265 reply->send(visible); 4266 4266 }); 4267 4267 } … … 4277 4277 } 4278 4278 4279 void WebPageProxy::getWindowFrame( Messages::WebPageProxy::GetWindowFrame::DelayedReply&& reply)4279 void WebPageProxy::getWindowFrame(Ref<Messages::WebPageProxy::GetWindowFrame::DelayedReply>&& reply) 4280 4280 { 4281 4281 m_uiClient->windowFrame(*this, [this, protectedThis = makeRef(*this), reply = WTFMove(reply)] (FloatRect frame) { 4282 reply (m_pageClient.convertToUserSpace(frame));4282 reply->send(m_pageClient.convertToUserSpace(frame)); 4283 4283 }); 4284 4284 } … … 4289 4289 } 4290 4290 4291 void WebPageProxy::screenToRootView(const IntPoint& screenPoint, Messages::WebPageProxy::ScreenToRootView::DelayedReply&& reply)4292 { 4293 reply (m_pageClient.screenToRootView(screenPoint));4291 void WebPageProxy::screenToRootView(const IntPoint& screenPoint, Ref<Messages::WebPageProxy::ScreenToRootView::DelayedReply>&& reply) 4292 { 4293 reply->send(m_pageClient.screenToRootView(screenPoint)); 4294 4294 } 4295 4295 4296 void WebPageProxy::rootViewToScreen(const IntRect& viewRect, Messages::WebPageProxy::RootViewToScreen::DelayedReply&& reply)4297 { 4298 reply (m_pageClient.rootViewToScreen(viewRect));4296 void WebPageProxy::rootViewToScreen(const IntRect& viewRect, Ref<Messages::WebPageProxy::RootViewToScreen::DelayedReply>&& reply) 4297 { 4298 reply->send(m_pageClient.rootViewToScreen(viewRect)); 4299 4299 } 4300 4300 … … 4311 4311 #endif 4312 4312 4313 void WebPageProxy::runBeforeUnloadConfirmPanel(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReplyreply)4313 void WebPageProxy::runBeforeUnloadConfirmPanel(uint64_t frameID, const SecurityOriginData& securityOrigin, const String& message, RefPtr<Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply> reply) 4314 4314 { 4315 4315 WebFrameProxy* frame = m_process->webFrame(frameID); … … 4324 4324 } 4325 4325 4326 m_uiClient->runBeforeUnloadConfirmPanel(this, message, frame, securityOrigin, [reply = WTFMove(reply)](bool result) { reply(result); });4326 m_uiClient->runBeforeUnloadConfirmPanel(this, message, frame, securityOrigin, [reply](bool result) { reply->send(result); }); 4327 4327 } 4328 4328 … … 6019 6019 } 6020 6020 6021 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)6021 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) 6022 6022 { 6023 6023 ExceededDatabaseQuotaRecords& records = ExceededDatabaseQuotaRecords::singleton(); … … 6030 6030 return; 6031 6031 6032 while (auto* record = records.next()) { 6032 ExceededDatabaseQuotaRecords::Record* record = records.next(); 6033 while (record) { 6033 6034 WebFrameProxy* frame = m_process->webFrame(record->frameID); 6034 6035 MESSAGE_CHECK(frame); 6035 6036 6036 auto origin = API::SecurityOrigin::create(SecurityOriginData::fromDatabaseIdentifier(record->originIdentifier)->securityOrigin()); 6037 m_uiClient->exceededDatabaseQuota(this, frame, origin.ptr(), record->databaseName, record->displayName, record->currentQuota, record->currentOriginUsage, record->currentDatabaseUsage, record->expectedUsage, [currentReply = WTFMove(record->reply)](unsigned long long newQuota) { 6038 currentReply(newQuota); 6039 }); 6040 } 6041 } 6042 6043 void WebPageProxy::reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply&& reply) 6037 RefPtr<API::SecurityOrigin> origin = API::SecurityOrigin::create(SecurityOriginData::fromDatabaseIdentifier(record->originIdentifier)->securityOrigin()); 6038 auto currentReply = record->reply; 6039 m_uiClient->exceededDatabaseQuota(this, frame, origin.get(), 6040 record->databaseName, record->displayName, record->currentQuota, 6041 record->currentOriginUsage, record->currentDatabaseUsage, record->expectedUsage, 6042 [currentReply](unsigned long long newQuota) { currentReply->send(newQuota); }); 6043 6044 record = records.next(); 6045 } 6046 } 6047 6048 void WebPageProxy::reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Ref<Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply>&& reply) 6044 6049 { 6045 6050 Ref<SecurityOrigin> securityOrigin = SecurityOriginData::fromDatabaseIdentifier(originIdentifier)->securityOrigin(); 6046 m_uiClient->reachedApplicationCacheOriginQuota(this, securityOrigin.get(), currentQuota, totalBytesNeeded, [reply = WTFMove(reply)](unsigned long long newQuota) { 6047 reply(newQuota); 6048 }); 6051 m_uiClient->reachedApplicationCacheOriginQuota(this, securityOrigin.get(), currentQuota, totalBytesNeeded, [reply = WTFMove(reply)](unsigned long long newQuota) { reply->send(newQuota); }); 6049 6052 } 6050 6053 -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r230283 r230293 1228 1228 void setFocus(bool focused); 1229 1229 void setWindowFrame(const WebCore::FloatRect&); 1230 void getWindowFrame( Messages::WebPageProxy::GetWindowFrame::DelayedReply&&);1230 void getWindowFrame(Ref<Messages::WebPageProxy::GetWindowFrame::DelayedReply>&&); 1231 1231 void getWindowFrameWithCallback(Function<void(WebCore::FloatRect)>&&); 1232 1232 … … 1385 1385 1386 1386 // UI client 1387 void createNewPage(const FrameInfoData&, uint64_t originatingPageID, WebCore::ResourceRequest&&, WebCore::WindowFeatures&&, NavigationActionData&&, Messages::WebPageProxy::CreateNewPage::DelayedReply&&);1387 void createNewPage(const FrameInfoData&, uint64_t originatingPageID, WebCore::ResourceRequest&&, WebCore::WindowFeatures&&, NavigationActionData&&, Ref<Messages::WebPageProxy::CreateNewPage::DelayedReply>&&); 1388 1388 void showPage(); 1389 void runJavaScriptAlert(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply&&);1390 void runJavaScriptConfirm(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply&&);1391 void runJavaScriptPrompt(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, const String&, Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply&&);1389 void runJavaScriptAlert(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, Ref<Messages::WebPageProxy::RunJavaScriptAlert::DelayedReply>&&); 1390 void runJavaScriptConfirm(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, Ref<Messages::WebPageProxy::RunJavaScriptConfirm::DelayedReply>&&); 1391 void runJavaScriptPrompt(uint64_t frameID, const WebCore::SecurityOriginData&, const String&, const String&, Ref<Messages::WebPageProxy::RunJavaScriptPrompt::DelayedReply>&&); 1392 1392 void setStatusText(const String&); 1393 1393 void mouseDidMoveOverElement(WebHitTestResultData&&, uint32_t modifiers, UserData&&); … … 1397 1397 #endif // ENABLE(NETSCAPE_PLUGIN_API) 1398 1398 #if ENABLE(WEBGL) 1399 void webGLPolicyForURL(WebCore::URL&&, Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply&&);1400 void resolveWebGLPolicyForURL(WebCore::URL&&, Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply&&);1399 void webGLPolicyForURL(WebCore::URL&&, Ref<Messages::WebPageProxy::WebGLPolicyForURL::DelayedReply>&&); 1400 void resolveWebGLPolicyForURL(WebCore::URL&&, Ref<Messages::WebPageProxy::ResolveWebGLPolicyForURL::DelayedReply>&&); 1401 1401 #endif // ENABLE(WEBGL) 1402 1402 void setToolbarsAreVisible(bool toolbarsAreVisible); 1403 void getToolbarsAreVisible( Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply&&);1403 void getToolbarsAreVisible(Ref<Messages::WebPageProxy::GetToolbarsAreVisible::DelayedReply>&&); 1404 1404 void setMenuBarIsVisible(bool menuBarIsVisible); 1405 void getMenuBarIsVisible( Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply&&);1405 void getMenuBarIsVisible(Ref<Messages::WebPageProxy::GetMenuBarIsVisible::DelayedReply>&&); 1406 1406 void setStatusBarIsVisible(bool statusBarIsVisible); 1407 void getStatusBarIsVisible( Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply&&);1407 void getStatusBarIsVisible(Ref<Messages::WebPageProxy::GetStatusBarIsVisible::DelayedReply>&&); 1408 1408 void setIsResizable(bool isResizable); 1409 void screenToRootView(const WebCore::IntPoint& screenPoint, Messages::WebPageProxy::ScreenToRootView::DelayedReply&&);1410 void rootViewToScreen(const WebCore::IntRect& viewRect, Messages::WebPageProxy::RootViewToScreen::DelayedReply&&);1409 void screenToRootView(const WebCore::IntPoint& screenPoint, Ref<Messages::WebPageProxy::ScreenToRootView::DelayedReply>&&); 1410 void rootViewToScreen(const WebCore::IntRect& viewRect, Ref<Messages::WebPageProxy::RootViewToScreen::DelayedReply>&&); 1411 1411 #if PLATFORM(IOS) 1412 1412 void accessibilityScreenToRootView(const WebCore::IntPoint& screenPoint, WebCore::IntPoint& windowPoint); 1413 1413 void rootViewToAccessibilityScreen(const WebCore::IntRect& viewRect, WebCore::IntRect& result); 1414 1414 #endif 1415 void runBeforeUnloadConfirmPanel(uint64_t frameID, const WebCore::SecurityOriginData&, const String& message, Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply);1415 void runBeforeUnloadConfirmPanel(uint64_t frameID, const WebCore::SecurityOriginData&, const String& message, RefPtr<Messages::WebPageProxy::RunBeforeUnloadConfirmPanel::DelayedReply>); 1416 1416 void didChangeViewportProperties(const WebCore::ViewportAttributes&); 1417 1417 void pageDidScroll(); 1418 1418 void runOpenPanel(uint64_t frameID, const WebCore::SecurityOriginData&, const WebCore::FileChooserSettings&); 1419 1419 void printFrame(uint64_t frameID); 1420 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&&);1421 void reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply&&);1420 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>&&); 1421 void reachedApplicationCacheOriginQuota(const String& originIdentifier, uint64_t currentQuota, uint64_t totalBytesNeeded, Ref<Messages::WebPageProxy::ReachedApplicationCacheOriginQuota::DelayedReply>&&); 1422 1422 void requestGeolocationPermissionForFrame(uint64_t geolocationID, uint64_t frameID, String originIdentifier); 1423 1423 -
trunk/Source/WebKit/UIProcess/WebProcessPool.cpp
r230283 r230293 515 515 } 516 516 517 void WebProcessPool::networkProcessCrashed(NetworkProcessProxy& networkProcessProxy, Vector< Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& pendingReplies)517 void WebProcessPool::networkProcessCrashed(NetworkProcessProxy& networkProcessProxy, Vector<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>>&& pendingReplies) 518 518 { 519 519 networkProcessFailedToLaunch(networkProcessProxy); … … 541 541 } 542 542 543 void WebProcessPool::getNetworkProcessConnection( Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply)543 void WebProcessPool::getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply) 544 544 { 545 545 ensureNetworkProcess(); … … 588 588 } 589 589 590 void WebProcessPool::getStorageProcessConnection(WebProcessProxy& webProcessProxy, PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply)590 void WebProcessPool::getStorageProcessConnection(WebProcessProxy& webProcessProxy, PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&& reply) 591 591 { 592 592 ensureStorageProcessAndWebsiteDataStore(WebsiteDataStore::existingNonDefaultDataStoreForSessionID(initialSessionID)); -
trunk/Source/WebKit/UIProcess/WebProcessPool.h
r230283 r230293 325 325 NetworkProcessProxy& ensureNetworkProcess(WebsiteDataStore* withWebsiteDataStore = nullptr); 326 326 NetworkProcessProxy* networkProcess() { return m_networkProcess.get(); } 327 void networkProcessCrashed(NetworkProcessProxy&, Vector< Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&);327 void networkProcessCrashed(NetworkProcessProxy&, Vector<Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>>&&); 328 328 void networkProcessFailedToLaunch(NetworkProcessProxy&); 329 329 330 void getNetworkProcessConnection( Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&&);330 void getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&); 331 331 332 332 void ensureStorageProcessAndWebsiteDataStore(WebsiteDataStore* relevantDataStore); 333 333 StorageProcessProxy* storageProcess() { return m_storageProcess.get(); } 334 void getStorageProcessConnection(WebProcessProxy&, PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&&);334 void getStorageProcessConnection(WebProcessProxy&, PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&&); 335 335 void storageProcessCrashed(StorageProcessProxy*); 336 336 #if ENABLE(SERVICE_WORKER) -
trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp
r230283 r230293 595 595 596 596 #if ENABLE(NETSCAPE_PLUGIN_API) 597 void WebProcessProxy::getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&& reply)597 void WebProcessProxy::getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&& reply) 598 598 { 599 599 PluginProcessManager::singleton().getPluginProcessConnection(pluginProcessToken, WTFMove(reply)); … … 601 601 #endif 602 602 603 void WebProcessProxy::getNetworkProcessConnection( Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&& reply)603 void WebProcessProxy::getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&& reply) 604 604 { 605 605 m_processPool->getNetworkProcessConnection(WTFMove(reply)); 606 606 } 607 607 608 void WebProcessProxy::getStorageProcessConnection(PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&& reply)608 void WebProcessProxy::getStorageProcessConnection(PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&& reply) 609 609 { 610 610 m_processPool->getStorageProcessConnection(*this, initialSessionID, WTFMove(reply)); -
trunk/Source/WebKit/UIProcess/WebProcessProxy.h
r230283 r230293 245 245 #endif // ENABLE(NETSCAPE_PLUGIN_API) 246 246 #if ENABLE(NETSCAPE_PLUGIN_API) 247 void getPluginProcessConnection(uint64_t pluginProcessToken, Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply&&);248 #endif 249 void getNetworkProcessConnection( Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply&&);250 void getStorageProcessConnection(PAL::SessionID initialSessionID, Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply&&);247 void getPluginProcessConnection(uint64_t pluginProcessToken, Ref<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>&&); 248 #endif 249 void getNetworkProcessConnection(Ref<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>&&); 250 void getStorageProcessConnection(PAL::SessionID initialSessionID, Ref<Messages::WebProcessProxy::GetStorageProcessConnection::DelayedReply>&&); 251 251 252 252 bool platformIsBeingDebugged() const; -
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.cpp
r230283 r230293 237 237 } 238 238 239 void WebSWContextManagerConnection::syncTerminateWorker(ServiceWorkerIdentifier identifier, Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply&& reply)239 void WebSWContextManagerConnection::syncTerminateWorker(ServiceWorkerIdentifier identifier, Ref<Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply>&& reply) 240 240 { 241 241 SWContextManager::singleton().terminateWorker(identifier, syncWorkerTerminationTimeout, [reply = WTFMove(reply)] { 242 reply ();242 reply->send(); 243 243 }); 244 244 } -
trunk/Source/WebKit/WebProcess/Storage/WebSWContextManagerConnection.h
r230283 r230293 82 82 void fireActivateEvent(WebCore::ServiceWorkerIdentifier); 83 83 void terminateWorker(WebCore::ServiceWorkerIdentifier); 84 void syncTerminateWorker(WebCore::ServiceWorkerIdentifier, Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply&&);84 void syncTerminateWorker(WebCore::ServiceWorkerIdentifier, Ref<Messages::WebSWContextManagerConnection::SyncTerminateWorker::DelayedReply>&&); 85 85 void findClientByIdentifierCompleted(uint64_t requestIdentifier, std::optional<WebCore::ServiceWorkerClientData>&&, bool hasSecurityError); 86 86 void matchAllCompleted(uint64_t matchAllRequestIdentifier, Vector<WebCore::ServiceWorkerClientData>&&); -
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
r230283 r230293 808 808 809 809 #if PLATFORM(IOS) 810 void computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo&, CallbackID, Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply&&);810 void computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo&, CallbackID, Ref<Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply>&&); 811 811 #endif 812 812 -
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
r230283 r230293 3427 3427 #endif 3428 3428 3429 void WebPage::computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo& printInfo, CallbackID callbackID, Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply&& reply)3429 void WebPage::computePagesForPrintingAndDrawToPDF(uint64_t frameID, const PrintInfo& printInfo, CallbackID callbackID, Ref<Messages::WebPage::ComputePagesForPrintingAndDrawToPDF::DelayedReply>&& reply) 3430 3430 { 3431 3431 if (printInfo.snapshotFirstPage) { 3432 reply (1);3432 reply->send(1); 3433 3433 IntSize snapshotSize { FloatSize { printInfo.availablePaperWidth, printInfo.availablePaperHeight } }; 3434 3434 IntRect snapshotRect { {0, 0}, snapshotSize }; … … 3445 3445 std::size_t pageCount = pageRects.size(); 3446 3446 ASSERT(pageCount <= std::numeric_limits<uint32_t>::max()); 3447 reply (pageCount);3447 reply->send(pageCount); 3448 3448 3449 3449 RetainPtr<CFMutableDataRef> pdfPageData;
Note: See TracChangeset
for help on using the changeset viewer.