diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
commit | cfd86b747d32ac22246a1aa908eaa720c63a88c1 (patch) | |
tree | 24d68c6f61c464ecba1e05670b80390ea3b0e50c /Source/WebKit2/WebProcess/WebProcess.cpp | |
parent | 69d7c744c9de19d152dbe2d8e46eb7dfd4511d1a (diff) | |
download | qtwebkit-cfd86b747d32ac22246a1aa908eaa720c63a88c1.tar.gz |
Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733)
New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
Diffstat (limited to 'Source/WebKit2/WebProcess/WebProcess.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/WebProcess.cpp | 85 |
1 files changed, 27 insertions, 58 deletions
diff --git a/Source/WebKit2/WebProcess/WebProcess.cpp b/Source/WebKit2/WebProcess/WebProcess.cpp index 33be75989..60fe731b9 100644 --- a/Source/WebKit2/WebProcess/WebProcess.cpp +++ b/Source/WebKit2/WebProcess/WebProcess.cpp @@ -199,6 +199,16 @@ void WebProcess::addMessageReceiver(CoreIPC::StringReference messageReceiverName m_messageReceiverMap.addMessageReceiver(messageReceiverName, messageReceiver); } +void WebProcess::addMessageReceiver(CoreIPC::StringReference messageReceiverName, uint64_t destinationID, CoreIPC::MessageReceiver* messageReceiver) +{ + m_messageReceiverMap.addMessageReceiver(messageReceiverName, destinationID, messageReceiver); +} + +void WebProcess::removeMessageReceiver(CoreIPC::StringReference messageReceiverName, uint64_t destinationID) +{ + m_messageReceiverMap.removeMessageReceiver(messageReceiverName, destinationID); +} + void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parameters, CoreIPC::MessageDecoder& decoder) { ASSERT(m_pageMap.isEmpty()); @@ -264,7 +274,8 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame if (parameters.shouldUseFontSmoothing) setShouldUseFontSmoothing(true); -#if USE(CFURLSTORAGESESSIONS) +#if PLATFORM(MAC) || USE(CFNETWORK) + // FIXME (NetworkProcess): Send this identifier to network process. WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase(parameters.uiProcessBundleIdentifier); #endif @@ -297,8 +308,7 @@ void WebProcess::ensureNetworkProcessConnection() #else ASSERT_NOT_REACHED(); #endif - - RefPtr<NetworkProcessConnection> m_networkProcessConnection = NetworkProcessConnection::create(connectionIdentifier); + m_networkProcessConnection = NetworkProcessConnection::create(connectionIdentifier); } #endif // ENABLE(NETWORK_PROCESS) @@ -651,18 +661,8 @@ void WebProcess::terminate() void WebProcess::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder, OwnPtr<CoreIPC::MessageEncoder>& replyEncoder) { - if (m_messageReceiverMap.dispatchSyncMessage(connection, messageID, decoder, replyEncoder)) - return; - - uint64_t pageID = decoder.destinationID(); - if (!pageID) - return; - - WebPage* page = webPage(pageID); - if (!page) + m_messageReceiverMap.dispatchSyncMessage(connection, messageID, decoder, replyEncoder); return; - - page->didReceiveSyncMessage(connection, messageID, decoder, replyEncoder); } void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder) @@ -692,25 +692,6 @@ void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes } #endif -#if ENABLE(BATTERY_STATUS) - if (messageID.is<CoreIPC::MessageClassWebBatteryManager>()) { - m_batteryManager.didReceiveMessage(connection, messageID, decoder); - return; - } -#endif - -#if ENABLE(NETWORK_INFO) - if (messageID.is<CoreIPC::MessageClassWebNetworkInfoManager>()) { - m_networkInfoManager.didReceiveMessage(connection, messageID, decoder); - return; - } -#endif - - if (messageID.is<CoreIPC::MessageClassWebIconDatabaseProxy>()) { - m_iconDatabaseProxy.didReceiveMessage(connection, messageID, decoder); - return; - } - if (messageID.is<CoreIPC::MessageClassWebKeyValueStorageManager>()) { WebKeyValueStorageManager::shared().didReceiveMessage(connection, messageID, decoder); return; @@ -720,25 +701,11 @@ void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes WebMediaCacheManager::shared().didReceiveMessage(connection, messageID, decoder); return; } - -#if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS) - if (messageID.is<CoreIPC::MessageClassWebNotificationManager>()) { - m_notificationManager.didReceiveMessage(connection, messageID, decoder); - return; - } -#endif if (messageID.is<CoreIPC::MessageClassWebResourceCacheManager>()) { WebResourceCacheManager::shared().didReceiveMessage(connection, messageID, decoder); return; } - -#if USE(SOUP) - if (messageID.is<CoreIPC::MessageClassWebSoupRequestManager>()) { - m_soupRequestManager.didReceiveMessage(connection, messageID, decoder); - return; - } -#endif if (messageID.is<CoreIPC::MessageClassWebPageGroupProxy>()) { uint64_t pageGroupID = decoder.destinationID(); @@ -751,16 +718,6 @@ void WebProcess::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes pageGroupProxy->didReceiveMessage(connection, messageID, decoder); } - - uint64_t pageID = decoder.destinationID(); - if (!pageID) - return; - - WebPage* page = webPage(pageID); - if (!page) - return; - - page->didReceiveMessage(connection, messageID, decoder); } void WebProcess::didClose(CoreIPC::Connection*) @@ -786,7 +743,7 @@ void WebProcess::didClose(CoreIPC::Connection*) m_runLoop->stop(); } -void WebProcess::didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID) +void WebProcess::didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::StringReference, CoreIPC::StringReference) { // We received an invalid message, but since this is from the UI process (which we trust), // we'll let it slide. @@ -1075,8 +1032,18 @@ void WebProcess::postInjectedBundleMessage(const CoreIPC::DataReference& message } #if ENABLE(NETWORK_PROCESS) +NetworkProcessConnection* WebProcess::networkConnection() +{ + // FIXME (NetworkProcess): How do we handle not having the connection when the WebProcess needs it? + // If the NetworkProcess crashed, for example. Do we respawn it? + ASSERT(m_networkProcessConnection); + return m_networkProcessConnection.get(); +} + void WebProcess::networkProcessConnectionClosed(NetworkProcessConnection* connection) { + // FIXME (NetworkProcess): How do we handle not having the connection when the WebProcess needs it? + // If the NetworkProcess crashed, for example. Do we respawn it? ASSERT(m_networkProcessConnection); ASSERT(m_networkProcessConnection == connection); @@ -1085,6 +1052,8 @@ void WebProcess::networkProcessConnectionClosed(NetworkProcessConnection* connec void WebProcess::networkProcessCrashed(CoreIPC::Connection*) { + // FIXME (NetworkProcess): How do we handle not having the connection when the WebProcess needs it? + // If the NetworkProcess crashed, for example. Do we respawn it? ASSERT(m_networkProcessConnection); networkProcessConnectionClosed(m_networkProcessConnection.get()); |