Title: [137808] trunk/Source/WebKit2
Revision
137808
Author
[email protected]
Date
2012-12-15 13:31:14 -0800 (Sat, 15 Dec 2012)

Log Message

Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger
https://bugs.webkit.org/show_bug.cgi?id=105104

Reviewed by Alexey Proskuryakov.

Move to having the WebContext own and manage the NetworkProcessProxy.

* UIProcess/Network/NetworkProcessManager.cpp: Removed.
* UIProcess/Network/NetworkProcessManager.h: Removed.
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::create):
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
* UIProcess/Network/NetworkProcessProxy.h:
(WebKit):
(NetworkProcessProxy):
* UIProcess/Network/mac/NetworkProcessManagerMac.mm: Removed.
* UIProcess/WebContext.cpp:
(WebKit::WebContext::ensureNetworkProcess):
(WebKit::WebContext::removeNetworkProcessProxy):
(WebKit::WebContext::getNetworkProcessConnection):
(WebKit::WebContext::willStartUsingPrivateBrowsing):
(WebKit::WebContext::willStopUsingPrivateBrowsing):
(WebKit::WebContext::createNewWebProcess):
* UIProcess/WebContext.h:
(WebKit):
(WebContext):
(WebKit::WebContext::networkProcess):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getNetworkProcessConnection):
* UIProcess/mac/WebContextMac.mm:
(WebKit::WebContext::applicationBecameVisible):
(WebKit::WebContext::applicationBecameOccluded):
* WebKit2.xcodeproj/project.pbxproj:

Modified Paths

Removed Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (137807 => 137808)


--- trunk/Source/WebKit2/ChangeLog	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/ChangeLog	2012-12-15 21:31:14 UTC (rev 137808)
@@ -1,3 +1,40 @@
+2012-12-15  Sam Weinig  <[email protected]>
+
+        Make the NetworkProcess be managed by the WebContext, rather than a singleton NetworkProcessMananger
+        https://bugs.webkit.org/show_bug.cgi?id=105104
+
+        Reviewed by Alexey Proskuryakov.
+
+        Move to having the WebContext own and manage the NetworkProcessProxy.
+
+        * UIProcess/Network/NetworkProcessManager.cpp: Removed.
+        * UIProcess/Network/NetworkProcessManager.h: Removed.
+        * UIProcess/Network/NetworkProcessProxy.cpp:
+        (WebKit::NetworkProcessProxy::create):
+        (WebKit::NetworkProcessProxy::NetworkProcessProxy):
+        (WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
+        * UIProcess/Network/NetworkProcessProxy.h:
+        (WebKit):
+        (NetworkProcessProxy):
+        * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Removed.
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::ensureNetworkProcess):
+        (WebKit::WebContext::removeNetworkProcessProxy):
+        (WebKit::WebContext::getNetworkProcessConnection):
+        (WebKit::WebContext::willStartUsingPrivateBrowsing):
+        (WebKit::WebContext::willStopUsingPrivateBrowsing):
+        (WebKit::WebContext::createNewWebProcess):
+        * UIProcess/WebContext.h:
+        (WebKit):
+        (WebContext):
+        (WebKit::WebContext::networkProcess):
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::getNetworkProcessConnection):
+        * UIProcess/mac/WebContextMac.mm:
+        (WebKit::WebContext::applicationBecameVisible):
+        (WebKit::WebContext::applicationBecameOccluded):
+        * WebKit2.xcodeproj/project.pbxproj:
+
 2012-12-15  Anders Carlsson  <[email protected]>
 
         DownloadProxy objects should know which DownloadProxyMap they belong to

Deleted: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessManager.cpp (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessManager.cpp	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessManager.cpp	2012-12-15 21:31:14 UTC (rev 137808)
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "NetworkProcessManager.h"
-
-#include "NetworkProcessProxy.h"
-
-#if ENABLE(NETWORK_PROCESS)
-
-namespace WebKit {
-
-NetworkProcessManager& NetworkProcessManager::shared()
-{
-    DEFINE_STATIC_LOCAL(NetworkProcessManager, networkProcessManager, ());
-    return networkProcessManager;
-}
-
-NetworkProcessManager::NetworkProcessManager()
-{
-}
-
-void NetworkProcessManager::getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply)
-{
-    ASSERT(reply);
-
-    ensureNetworkProcess();
-    ASSERT(m_networkProcess);
-
-    m_networkProcess->getNetworkProcessConnection(reply);
-}
-
-void NetworkProcessManager::ensureNetworkProcess()
-{
-    if (m_networkProcess)
-        return;
-
-    m_networkProcess = NetworkProcessProxy::create(this);
-}
-
-void NetworkProcessManager::removeNetworkProcessProxy(NetworkProcessProxy* networkProcessProxy)
-{
-    ASSERT(m_networkProcess);
-    ASSERT(networkProcessProxy == m_networkProcess.get());
-    
-    m_networkProcess = 0;
-}
-
-
-} // namespace WebKit
-
-#endif // ENABLE(NETWORK_PROCESS)

Deleted: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessManager.h (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessManager.h	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessManager.h	2012-12-15 21:31:14 UTC (rev 137808)
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2010, 2011, 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef NetworkProcessManager_h
-#define NetworkProcessManager_h
-
-#if ENABLE(NETWORK_PROCESS)
-
-#include "Connection.h"
-#include "WebProcessProxyMessages.h"
-#include <wtf/RefCounted.h>
-#include <wtf/text/WTFString.h>
-
-namespace WebKit {
-
-class NetworkProcessConnection;
-class NetworkProcessProxy;
-class WebProcessProxy;
-
-class NetworkProcessManager {
-    WTF_MAKE_NONCOPYABLE(NetworkProcessManager);
-public:
-    static NetworkProcessManager& shared();
-
-    void ensureNetworkProcess();
-
-    NetworkProcessProxy* process() { return m_networkProcess.get(); }
-
-    void getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>);
-    
-    void removeNetworkProcessProxy(NetworkProcessProxy*);
-
-#if PLATFORM(MAC)
-    void setApplicationIsOccluded(bool);
-#endif
-
-private:
-    NetworkProcessManager();
-
-    RefPtr<NetworkProcessProxy> m_networkProcess;
-};
-
-} // namespace WebKit
-
-#endif // ENABLE(NETWORK_PROCESS)
-
-#endif // NetworkProcessManager_h

Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp	2012-12-15 21:31:14 UTC (rev 137808)
@@ -27,7 +27,6 @@
 #include "NetworkProcessProxy.h"
 
 #include "NetworkProcessCreationParameters.h"
-#include "NetworkProcessManager.h"
 #include "NetworkProcessMessages.h"
 #include "WebContext.h"
 #include "WebProcessMessages.h"
@@ -39,13 +38,13 @@
 
 namespace WebKit {
 
-PassRefPtr<NetworkProcessProxy> NetworkProcessProxy::create(NetworkProcessManager* manager)
+PassRefPtr<NetworkProcessProxy> NetworkProcessProxy::create(WebContext* webContext)
 {
-    return adoptRef(new NetworkProcessProxy(manager));
+    return adoptRef(new NetworkProcessProxy(webContext));
 }
 
-NetworkProcessProxy::NetworkProcessProxy(NetworkProcessManager* manager)
-    : m_networkProcessManager(manager)
+NetworkProcessProxy::NetworkProcessProxy(WebContext* webContext)
+    : m_webContext(webContext)
     , m_numPendingConnectionRequests(0)
 {
     connect();
@@ -94,7 +93,7 @@
     }
 
     // Tell the network process manager to forget about this network process proxy. This may cause us to be deleted.
-    m_networkProcessManager->removeNetworkProcessProxy(this);
+    m_webContext->removeNetworkProcessProxy(this);
 }
 
 void NetworkProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)

Modified: trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.h	2012-12-15 21:31:14 UTC (rev 137808)
@@ -36,12 +36,12 @@
 
 namespace WebKit {
 
-class NetworkProcessManager;
+class WebContext;
 struct NetworkProcessCreationParameters;
 
 class NetworkProcessProxy : public RefCounted<NetworkProcessProxy>, public ChildProcessProxy {
 public:
-    static PassRefPtr<NetworkProcessProxy> create(NetworkProcessManager*);
+    static PassRefPtr<NetworkProcessProxy> create(WebContext*);
     ~NetworkProcessProxy();
 
     void getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>);
@@ -51,7 +51,7 @@
 #endif
 
 private:
-    NetworkProcessProxy(NetworkProcessManager*);
+    NetworkProcessProxy(WebContext*);
 
     virtual void getLaunchOptions(ProcessLauncher::LaunchOptions&) OVERRIDE;
     void platformInitializeNetworkProcess(NetworkProcessCreationParameters&);
@@ -70,7 +70,7 @@
     // ProcessLauncher::Client
     virtual void didFinishLaunching(ProcessLauncher*, CoreIPC::Connection::Identifier);
 
-    NetworkProcessManager* m_networkProcessManager;
+    WebContext* m_webContext;
     
     unsigned m_numPendingConnectionRequests;
     Deque<RefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> > m_pendingConnectionReplies;

Deleted: trunk/Source/WebKit2/UIProcess/Network/mac/NetworkProcessManagerMac.mm (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/Network/mac/NetworkProcessManagerMac.mm	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/Network/mac/NetworkProcessManagerMac.mm	2012-12-15 21:31:14 UTC (rev 137808)
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "NetworkProcessManager.h"
-
-#if ENABLE(NETWORK_PROCESS)
-
-#import "NetworkProcessProxy.h"
-
-namespace WebKit {
-
-void NetworkProcessManager::setApplicationIsOccluded(bool applicationIsOccluded)
-{
-    if (m_networkProcess)
-        return m_networkProcess->setApplicationIsOccluded(applicationIsOccluded);
-}
-
-} // namespace WebKit
-
-#endif // ENABLE(NETWORK_PROCESS)

Modified: trunk/Source/WebKit2/UIProcess/WebContext.cpp (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/WebContext.cpp	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/WebContext.cpp	2012-12-15 21:31:14 UTC (rev 137808)
@@ -72,7 +72,6 @@
 #endif
 
 #if ENABLE(NETWORK_PROCESS)
-#include "NetworkProcessManager.h"
 #include "NetworkProcessMessages.h"
 #include "NetworkProcessProxy.h"
 #endif
@@ -358,30 +357,47 @@
 }
 
 #if ENABLE(NETWORK_PROCESS)
-static bool anyContextUsesNetworkProcess()
+void WebContext::ensureNetworkProcess()
 {
-    const Vector<WebContext*>& contexts = WebContext::allContexts();
-    for (size_t i = 0, count = contexts.size(); i < count; ++i)
-    if (contexts[i]->usesNetworkProcess())
-        return true;
+    if (m_networkProcess)
+        return;
 
-    return false;
+    m_networkProcess = NetworkProcessProxy::create(this);
 }
+
+void WebContext::removeNetworkProcessProxy(NetworkProcessProxy* networkProcessProxy)
+{
+    ASSERT(m_networkProcess);
+    ASSERT(networkProcessProxy == m_networkProcess.get());
+    
+    m_networkProcess = nullptr;
+}
+
+void WebContext::getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply)
+{
+    ASSERT(reply);
+
+    ensureNetworkProcess();
+    ASSERT(m_networkProcess);
+
+    m_networkProcess->getNetworkProcessConnection(reply);
+}
 #endif
 
+
 void WebContext::willStartUsingPrivateBrowsing()
 {
     if (m_privateBrowsingEnterCount++)
         return;
 
+    const Vector<WebContext*>& contexts = allContexts();
+    for (size_t i = 0, count = contexts.size(); i < count; ++i) {
 #if ENABLE(NETWORK_PROCESS)
-    if (anyContextUsesNetworkProcess())
-        NetworkProcessManager::shared().process()->send(Messages::NetworkProcess::EnsurePrivateBrowsingSession(), 0);
+        if (contexts[i]->usesNetworkProcess() && contexts[i]->networkProcess())
+            contexts[i]->networkProcess()->send(Messages::NetworkProcess::EnsurePrivateBrowsingSession(), 0);
 #endif
-
-    const Vector<WebContext*>& contexts = allContexts();
-    for (size_t i = 0, count = contexts.size(); i < count; ++i)
         contexts[i]->sendToAllProcesses(Messages::WebProcess::EnsurePrivateBrowsingSession());
+    }
 }
 
 void WebContext::willStopUsingPrivateBrowsing()
@@ -391,14 +407,15 @@
     if (m_privateBrowsingEnterCount && --m_privateBrowsingEnterCount)
         return;
 
+    const Vector<WebContext*>& contexts = allContexts();
+    for (size_t i = 0, count = contexts.size(); i < count; ++i) {
 #if ENABLE(NETWORK_PROCESS)
-    if (anyContextUsesNetworkProcess())
-        NetworkProcessManager::shared().process()->send(Messages::NetworkProcess::DestroyPrivateBrowsingSession(), 0);
+        if (contexts[i]->usesNetworkProcess() && contexts[i]->networkProcess())
+            contexts[i]->networkProcess()->send(Messages::NetworkProcess::DestroyPrivateBrowsingSession(), 0);
 #endif
 
-    const Vector<WebContext*>& contexts = allContexts();
-    for (size_t i = 0, count = contexts.size(); i < count; ++i)
         contexts[i]->sendToAllProcesses(Messages::WebProcess::DestroyPrivateBrowsingSession());
+    }
 }
 
 WebProcessProxy* WebContext::ensureSharedWebProcess()
@@ -413,7 +430,7 @@
 {
 #if ENABLE(NETWORK_PROCESS)
     if (m_usesNetworkProcess)
-        NetworkProcessManager::shared().ensureNetworkProcess();
+        ensureNetworkProcess();
 #endif
 
     RefPtr<WebProcessProxy> process = WebProcessProxy::create(this);

Modified: trunk/Source/WebKit2/UIProcess/WebContext.h (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/WebContext.h	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/WebContext.h	2012-12-15 21:31:14 UTC (rev 137808)
@@ -52,30 +52,32 @@
 
 class DownloadProxy;
 class WebApplicationCacheManagerProxy;
-#if ENABLE(BATTERY_STATUS)
-class WebBatteryManagerProxy;
-#endif
 class WebCookieManagerProxy;
 class WebDatabaseManagerProxy;
 class WebGeolocationManagerProxy;
 class WebIconDatabase;
 class WebKeyValueStorageManagerProxy;
 class WebMediaCacheManagerProxy;
-#if ENABLE(NETWORK_INFO)
-class WebNetworkInfoManagerProxy;
-#endif
+class NetworkProcessProxy;
 class WebNotificationManagerProxy;
 class WebPageGroup;
 class WebPageProxy;
 class WebResourceCacheManagerProxy;
-#if USE(SOUP)
-class WebSoupRequestManagerProxy;
-#endif
 struct StatisticsData;
 struct WebProcessCreationParameters;
     
 typedef GenericCallback<WKDictionaryRef> DictionaryCallback;
 
+#if ENABLE(BATTERY_STATUS)
+class WebBatteryManagerProxy;
+#endif
+#if ENABLE(NETWORK_INFO)
+class WebNetworkInfoManagerProxy;
+#endif
+#if USE(SOUP)
+class WebSoupRequestManagerProxy;
+#endif
+
 #if PLATFORM(MAC)
 extern NSString *SchemeForCustomProtocolRegisteredNotificationName;
 extern NSString *SchemeForCustomProtocolUnregisteredNotificationName;
@@ -248,9 +250,21 @@
 
     void textCheckerStateChanged();
 
+
+    // Network Process Management
+
     void setUsesNetworkProcess(bool);
     bool usesNetworkProcess() const;
 
+#if ENABLE(NETWORK_PROCESS)
+    void ensureNetworkProcess();
+    NetworkProcessProxy* networkProcess() { return m_networkProcess.get(); }
+    void removeNetworkProcessProxy(NetworkProcessProxy*);
+
+    void getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply>);
+#endif
+
+
 #if PLATFORM(MAC)
     static bool applicationIsOccluded() { return s_applicationIsOccluded; }
 #endif
@@ -424,6 +438,7 @@
 
 #if ENABLE(NETWORK_PROCESS)
     bool m_usesNetworkProcess;
+    RefPtr<NetworkProcessProxy> m_networkProcess;
 #endif
     
     HashMap<uint64_t, RefPtr<DictionaryCallback> > m_dictionaryCallbacks;

Modified: trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp	2012-12-15 21:31:14 UTC (rev 137808)
@@ -45,10 +45,6 @@
 #include <wtf/text/CString.h>
 #include <wtf/text/WTFString.h>
 
-#if ENABLE(NETWORK_PROCESS)
-#include "NetworkProcessManager.h"
-#endif
-
 #if PLATFORM(MAC)
 #include "SimplePDFPlugin.h"
 #if ENABLE(PDFKIT_PLUGIN)
@@ -376,7 +372,7 @@
 #if ENABLE(NETWORK_PROCESS)
 void WebProcessProxy::getNetworkProcessConnection(PassRefPtr<Messages::WebProcessProxy::GetNetworkProcessConnection::DelayedReply> reply)
 {
-    NetworkProcessManager::shared().getNetworkProcessConnection(reply);
+    m_context->getNetworkProcessConnection(reply);
 }
 #endif // ENABLE(NETWORK_PROCESS)
 

Modified: trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm (137807 => 137808)


--- trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/UIProcess/mac/WebContextMac.mm	2012-12-15 21:31:14 UTC (rev 137808)
@@ -26,7 +26,7 @@
 #import "config.h"
 #import "WebContext.h"
 
-#import "NetworkProcessManager.h"
+#import "NetworkProcessProxy.h"
 #import "PluginProcessManager.h"
 #import "SharedWorkerProcessManager.h"
 #import "WKBrowsingContextControllerInternal.h"
@@ -35,7 +35,7 @@
 #import "WebProcessMessages.h"
 #import <WebCore/Color.h>
 #import <WebCore/FileSystem.h>
-#include <WebCore/NotImplemented.h>
+#import <WebCore/NotImplemented.h>
 #import <WebCore/PlatformPasteboard.h>
 #import <sys/param.h>
 
@@ -273,15 +273,18 @@
         s_applicationIsOccluded = false;
 
         const Vector<WebContext*>& contexts = WebContext::allContexts();
-        for (size_t i = 0, count = contexts.size(); i < count; ++i)
+        for (size_t i = 0, count = contexts.size(); i < count; ++i) {
+#if ENABLE(NETWORK_PROCESS)
+            if (contexts[i]->usesNetworkProcess() && contexts[i]->networkProcess())
+                contexts[i]->networkProcess()->setApplicationIsOccluded(false);
+#endif
+
             contexts[i]->sendToAllProcesses(Messages::WebProcess::SetApplicationIsOccluded(false));
+        }
 
 #if ENABLE(PLUGIN_PROCESS)
         PluginProcessManager::shared().setApplicationIsOccluded(false);
 #endif
-#if ENABLE(NETWORK_PROCESS)
-        NetworkProcessManager::shared().setApplicationIsOccluded(false);
-#endif
 #if ENABLE(SHARED_WORKER_PROCESS)
         SharedWorkerProcessManager::shared().setApplicationIsOccluded(false);
 #endif
@@ -293,15 +296,18 @@
     if (!s_applicationIsOccluded) {
         s_applicationIsOccluded = true;
         const Vector<WebContext*>& contexts = WebContext::allContexts();
-        for (size_t i = 0, count = contexts.size(); i < count; ++i)
+        for (size_t i = 0, count = contexts.size(); i < count; ++i) {
+#if ENABLE(NETWORK_PROCESS)
+            if (contexts[i]->usesNetworkProcess() && contexts[i]->networkProcess())
+                contexts[i]->networkProcess()->setApplicationIsOccluded(true);
+#endif
+
             contexts[i]->sendToAllProcesses(Messages::WebProcess::SetApplicationIsOccluded(true));
+        }
 
 #if ENABLE(PLUGIN_PROCESS)
         PluginProcessManager::shared().setApplicationIsOccluded(true);
 #endif
-#if ENABLE(NETWORK_PROCESS)
-        NetworkProcessManager::shared().setApplicationIsOccluded(true);
-#endif
 #if ENABLE(SHARED_WORKER_PROCESS)
         SharedWorkerProcessManager::shared().setApplicationIsOccluded(true);
 #endif

Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (137807 => 137808)


--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2012-12-15 21:15:29 UTC (rev 137807)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2012-12-15 21:31:14 UTC (rev 137808)
@@ -382,8 +382,6 @@
 		3F87B9C0158940D80090FF62 /* WebColorChooserProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 3F87B9BF158940D80090FF62 /* WebColorChooserProxy.h */; };
 		4F601432155C5AA2001FBDE0 /* BlockingResponseMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F601430155C5A32001FBDE0 /* BlockingResponseMap.h */; };
 		51021E9C12B16788005C033C /* WebContextMenuClientMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 51021E9B12B16788005C033C /* WebContextMenuClientMac.mm */; };
-		5105B0DD162F7E9D00E27709 /* NetworkProcessManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5105B0DB162F7E9D00E27709 /* NetworkProcessManager.cpp */; };
-		5105B0DE162F7E9D00E27709 /* NetworkProcessManager.h in Headers */ = {isa = PBXBuildFile; fileRef = 5105B0DC162F7E9D00E27709 /* NetworkProcessManager.h */; };
 		510AFFB916542048001BA05E /* WebResourceLoader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 510AFFB716542048001BA05E /* WebResourceLoader.cpp */; };
 		510AFFBA16542048001BA05E /* WebResourceLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = 510AFFB816542048001BA05E /* WebResourceLoader.h */; };
 		510CC8491613C85C00D03ED3 /* NetworkProcess.app in CopyFiles */ = {isa = PBXBuildFile; fileRef = 510CC80E1613C79900D03ED3 /* NetworkProcess.app */; };
@@ -568,7 +566,6 @@
 		93FC67C012D3CCF200A60610 /* EncoderAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 93FC67A012D3CC7400A60610 /* EncoderAdapter.h */; };
 		9F4F59421648B40700493B7E /* SharedWorkerProcessManagerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9F4F59411648B40700493B7E /* SharedWorkerProcessManagerMac.mm */; };
 		9F4F59441648B67F00493B7E /* SharedWorkerProcessProxyMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9F4F59431648B67F00493B7E /* SharedWorkerProcessProxyMac.mm */; };
-		9F4F59461648BA8E00493B7E /* NetworkProcessManagerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9F4F59451648BA8E00493B7E /* NetworkProcessManagerMac.mm */; };
 		9F54F88F16488E87007DF81A /* ChildProcessMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9F54F88E16488E87007DF81A /* ChildProcessMac.mm */; };
 		9F54F8951648AE0F007DF81A /* PluginProcessManagerMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9F54F8941648AE0E007DF81A /* PluginProcessManagerMac.mm */; };
 		B62E7310143047A60069EC35 /* WKHitTestResult.cpp in Sources */ = {isa = PBXBuildFile; fileRef = B62E730F143047A60069EC35 /* WKHitTestResult.cpp */; };
@@ -1623,8 +1620,6 @@
 		51021E9B12B16788005C033C /* WebContextMenuClientMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WebContextMenuClientMac.mm; sourceTree = "<group>"; };
 		5105B0D4162F7A7A00E27709 /* NetworkProcessConnection.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = NetworkProcessConnection.cpp; path = Network/NetworkProcessConnection.cpp; sourceTree = "<group>"; };
 		5105B0D5162F7A7A00E27709 /* NetworkProcessConnection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = NetworkProcessConnection.h; path = Network/NetworkProcessConnection.h; sourceTree = "<group>"; };
-		5105B0DB162F7E9D00E27709 /* NetworkProcessManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NetworkProcessManager.cpp; sourceTree = "<group>"; };
-		5105B0DC162F7E9D00E27709 /* NetworkProcessManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NetworkProcessManager.h; sourceTree = "<group>"; };
 		5105B0F31630872E00E27709 /* NetworkProcessProxy.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = NetworkProcessProxy.messages.in; sourceTree = "<group>"; };
 		510AFFB716542048001BA05E /* WebResourceLoader.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = WebResourceLoader.cpp; path = Network/WebResourceLoader.cpp; sourceTree = "<group>"; };
 		510AFFB816542048001BA05E /* WebResourceLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WebResourceLoader.h; path = Network/WebResourceLoader.h; sourceTree = "<group>"; };
@@ -1829,7 +1824,6 @@
 		93FC67A012D3CC7400A60610 /* EncoderAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EncoderAdapter.h; sourceTree = "<group>"; };
 		9F4F59411648B40700493B7E /* SharedWorkerProcessManagerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SharedWorkerProcessManagerMac.mm; sourceTree = "<group>"; };
 		9F4F59431648B67F00493B7E /* SharedWorkerProcessProxyMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SharedWorkerProcessProxyMac.mm; sourceTree = "<group>"; };
-		9F4F59451648BA8E00493B7E /* NetworkProcessManagerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = NetworkProcessManagerMac.mm; path = mac/NetworkProcessManagerMac.mm; sourceTree = "<group>"; };
 		9F54F88E16488E87007DF81A /* ChildProcessMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = ChildProcessMac.mm; sourceTree = "<group>"; };
 		9F54F8941648AE0E007DF81A /* PluginProcessManagerMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginProcessManagerMac.mm; sourceTree = "<group>"; };
 		A72D5D7F1236CBA800A88B15 /* WebSerializedScriptValue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSerializedScriptValue.h; sourceTree = "<group>"; };
@@ -3189,8 +3183,6 @@
 			children = (
 				29AD3091164B4C100072DEA9 /* CustomProtocols */,
 				516319931628980E00E22F00 /* mac */,
-				5105B0DB162F7E9D00E27709 /* NetworkProcessManager.cpp */,
-				5105B0DC162F7E9D00E27709 /* NetworkProcessManager.h */,
 				510CC7EA16138E7200D03ED3 /* NetworkProcessProxy.cpp */,
 				510CC7EB16138E7200D03ED3 /* NetworkProcessProxy.h */,
 				5105B0F31630872E00E27709 /* NetworkProcessProxy.messages.in */,
@@ -3254,7 +3246,6 @@
 		516319931628980E00E22F00 /* mac */ = {
 			isa = PBXGroup;
 			children = (
-				9F4F59451648BA8E00493B7E /* NetworkProcessManagerMac.mm */,
 				516319911628980A00E22F00 /* NetworkProcessProxyMac.mm */,
 			);
 			name = mac;
@@ -4993,7 +4984,6 @@
 				1A2328FF162C866A00D82F7A /* MessageEncoder.h in Headers */,
 				1A232903162C867300D82F7A /* MessageDecoder.h in Headers */,
 				5136183E163126DA00A99DDE /* ConnectionStack.h in Headers */,
-				5105B0DE162F7E9D00E27709 /* NetworkProcessManager.h in Headers */,
 				513A163D163088F6005D7D22 /* NetworkProcessProxyMessages.h in Headers */,
 				513A164D1630A9BF005D7D22 /* NetworkConnectionToWebProcess.h in Headers */,
 				1A13BEB41635A9C800F19C03 /* StringReference.h in Headers */,
@@ -5938,7 +5928,6 @@
 				1A2328FE162C866A00D82F7A /* MessageEncoder.cpp in Sources */,
 				1A232902162C867300D82F7A /* MessageDecoder.cpp in Sources */,
 				5136183D163126DA00A99DDE /* ConnectionStack.cpp in Sources */,
-				5105B0DD162F7E9D00E27709 /* NetworkProcessManager.cpp in Sources */,
 				513A163C163088F6005D7D22 /* NetworkProcessProxyMessageReceiver.cpp in Sources */,
 				513A164C1630A9BF005D7D22 /* NetworkConnectionToWebProcess.cpp in Sources */,
 				5183DDEC1630BDFC008BE5C7 /* NetworkProcessConnection.cpp in Sources */,
@@ -5959,7 +5948,6 @@
 				9F54F8951648AE0F007DF81A /* PluginProcessManagerMac.mm in Sources */,
 				9F4F59421648B40700493B7E /* SharedWorkerProcessManagerMac.mm in Sources */,
 				9F4F59441648B67F00493B7E /* SharedWorkerProcessProxyMac.mm in Sources */,
-				9F4F59461648BA8E00493B7E /* NetworkProcessManagerMac.mm in Sources */,
 				1AB16AE9164B3A8800290D62 /* RemoteLayerTreeContext.mm in Sources */,
 				1AB16AED164B41E400290D62 /* RemoteGraphicsLayer.mm in Sources */,
 				51217460164C20E30037A5C1 /* ShareableResource.cpp in Sources */,
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to