Title: [138428] trunk/Source/WebKit2
Revision
138428
Author
[email protected]
Date
2012-12-23 18:34:53 -0800 (Sun, 23 Dec 2012)

Log Message

Remove more special cased message receiving code from WebProcess
https://bugs.webkit.org/show_bug.cgi?id=105700

Reviewed by Dan Bernstein.

Makes WebApplicationCacheManager, WebResourceCacheManager and WebDatabaseManager
CoreIPC::MessageReceivers, removes them as special cases in WebProcess.

* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
(WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
(WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
(WebKit::WebApplicationCacheManager::deleteAllEntries):
(WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebKit):
(WebApplicationCacheManager):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearAllDatabases):
(WebKit::InjectedBundle::setDatabaseQuota):
(WebKit::InjectedBundle::clearApplicationCache):
(WebKit::InjectedBundle::setAppCacheMaximumSize):
* WebProcess/ResourceCache/WebResourceCacheManager.cpp:
(WebKit::WebResourceCacheManager::WebResourceCacheManager):
(WebKit::WebResourceCacheManager::getCacheOrigins):
(WebKit::WebResourceCacheManager::clearCacheForOrigin):
(WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
* WebProcess/ResourceCache/WebResourceCacheManager.h:
(WebKit):
(WebResourceCacheManager):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit):
(WebKit::WebDatabaseManager::WebDatabaseManager):
(WebKit::WebDatabaseManager::getDatabasesByOrigin):
(WebKit::WebDatabaseManager::getDatabaseOrigins):
(WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
(WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
(WebKit::WebDatabaseManager::deleteAllDatabases):
(WebKit::WebDatabaseManager::setQuotaForOrigin):
(WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
(WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebKit):
(WebDatabaseManager):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::didReceiveMessage):
* WebProcess/WebProcess.h:
(WebProcess):
(WebKit::WebProcess::applicationCacheManager):
(WebKit::WebProcess::resourceCacheManager):
(WebKit::WebProcess::databaseManager):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (138427 => 138428)


--- trunk/Source/WebKit2/ChangeLog	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/ChangeLog	2012-12-24 02:34:53 UTC (rev 138428)
@@ -1,3 +1,58 @@
+2012-12-23  Sam Weinig  <[email protected]>
+
+        Remove more special cased message receiving code from WebProcess
+        https://bugs.webkit.org/show_bug.cgi?id=105700
+
+        Reviewed by Dan Bernstein.
+
+        Makes WebApplicationCacheManager, WebResourceCacheManager and WebDatabaseManager
+        CoreIPC::MessageReceivers, removes them as special cases in WebProcess.
+
+        * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
+        (WebKit::WebApplicationCacheManager::WebApplicationCacheManager):
+        (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
+        (WebKit::WebApplicationCacheManager::deleteEntriesForOrigin):
+        (WebKit::WebApplicationCacheManager::deleteAllEntries):
+        (WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
+        * WebProcess/ApplicationCache/WebApplicationCacheManager.h:
+        (WebKit):
+        (WebApplicationCacheManager):
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::clearAllDatabases):
+        (WebKit::InjectedBundle::setDatabaseQuota):
+        (WebKit::InjectedBundle::clearApplicationCache):
+        (WebKit::InjectedBundle::setAppCacheMaximumSize):
+        * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
+        (WebKit::WebResourceCacheManager::WebResourceCacheManager):
+        (WebKit::WebResourceCacheManager::getCacheOrigins):
+        (WebKit::WebResourceCacheManager::clearCacheForOrigin):
+        (WebKit::WebResourceCacheManager::clearCacheForAllOrigins):
+        * WebProcess/ResourceCache/WebResourceCacheManager.h:
+        (WebKit):
+        (WebResourceCacheManager):
+        * WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
+        (WebKit):
+        (WebKit::WebDatabaseManager::WebDatabaseManager):
+        (WebKit::WebDatabaseManager::getDatabasesByOrigin):
+        (WebKit::WebDatabaseManager::getDatabaseOrigins):
+        (WebKit::WebDatabaseManager::deleteDatabaseWithNameForOrigin):
+        (WebKit::WebDatabaseManager::deleteDatabasesForOrigin):
+        (WebKit::WebDatabaseManager::deleteAllDatabases):
+        (WebKit::WebDatabaseManager::setQuotaForOrigin):
+        (WebKit::WebDatabaseManager::dispatchDidModifyOrigin):
+        (WebKit::WebDatabaseManager::dispatchDidModifyDatabase):
+        * WebProcess/WebCoreSupport/WebDatabaseManager.h:
+        (WebKit):
+        (WebDatabaseManager):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::WebProcess):
+        (WebKit::WebProcess::didReceiveMessage):
+        * WebProcess/WebProcess.h:
+        (WebProcess):
+        (WebKit::WebProcess::applicationCacheManager):
+        (WebKit::WebProcess::resourceCacheManager):
+        (WebKit::WebProcess::databaseManager):
+
 2012-12-23  Alexey Proskuryakov  <[email protected]>
 
         <rdar://problem/12808377> Network process should respect cookie accept policy

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp (138427 => 138428)


--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp	2012-12-24 02:34:53 UTC (rev 138428)
@@ -103,6 +103,11 @@
     if (m_messageReceiverMap.dispatchMessage(connection, messageID, decoder))
         return;
 
+    if (messageID.is<CoreIPC::MessageClassWebCookieManager>()) {
+        WebCookieManager::shared().didReceiveMessage(connection, messageID, decoder);
+        return;
+    }
+
     didReceiveNetworkProcessMessage(connection, messageID, decoder);
 }
 
@@ -160,11 +165,6 @@
     if (parameters.privateBrowsingEnabled)
         RemoteNetworkingContext::ensurePrivateBrowsingSession();
 
-    if (messageID.is<CoreIPC::MessageClassWebCookieManager>()) {
-        WebCookieManager::shared().didReceiveMessage(connection, messageID, decoder);
-        return;
-    }
-
 #if ENABLE(CUSTOM_PROTOCOLS)
     CustomProtocolManager::shared().connectionEstablished();
     for (size_t i = 0; i < parameters.urlSchemesRegisteredForCustomProtocols.size(); ++i)

Modified: trunk/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.cpp	2012-12-24 02:34:53 UTC (rev 138428)
@@ -26,10 +26,11 @@
 #include "config.h"
 #include "WebApplicationCacheManager.h"
 
-#include "MessageID.h"
+#include "ChildProcess.h"
 #include "SecurityOriginData.h"
+#include "WebApplicationCacheManagerMessages.h"
 #include "WebApplicationCacheManagerProxyMessages.h"
-#include "WebProcess.h"
+#include "WebCoreArgumentCoders.h"
 #include <WebCore/ApplicationCache.h>
 #include <WebCore/ApplicationCacheStorage.h>
 #include <WebCore/SecurityOrigin.h>
@@ -39,16 +40,12 @@
 
 namespace WebKit {
 
-WebApplicationCacheManager& WebApplicationCacheManager::shared()
+WebApplicationCacheManager::WebApplicationCacheManager(ChildProcess* childProcess)
+    : m_childProcess(childProcess)
 {
-    static WebApplicationCacheManager& shared = *new WebApplicationCacheManager;
-    return shared;
+    m_childProcess->addMessageReceiver(Messages::WebApplicationCacheManager::messageReceiverName(), this);
 }
 
-WebApplicationCacheManager::WebApplicationCacheManager()
-{
-}
-
 void WebApplicationCacheManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
 {
     didReceiveWebApplicationCacheManagerMessage(connection, messageID, decoder);
@@ -56,7 +53,7 @@
 
 void WebApplicationCacheManager::getApplicationCacheOrigins(uint64_t callbackID)
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_childProcess);
 
     HashSet<RefPtr<SecurityOrigin>, SecurityOriginHash> origins;
 
@@ -78,12 +75,12 @@
         identifiers.uncheckedAppend(originData);
     }
 
-    WebProcess::shared().connection()->send(Messages::WebApplicationCacheManagerProxy::DidGetApplicationCacheOrigins(identifiers, callbackID), 0);
+    m_childProcess->send(Messages::WebApplicationCacheManagerProxy::DidGetApplicationCacheOrigins(identifiers, callbackID), 0);
 }
 
 void WebApplicationCacheManager::deleteEntriesForOrigin(const SecurityOriginData& originData)
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_childProcess);
 
     RefPtr<SecurityOrigin> origin = SecurityOrigin::create(originData.protocol, originData.host, originData.port);
     if (!origin)
@@ -94,14 +91,14 @@
 
 void WebApplicationCacheManager::deleteAllEntries()
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_childProcess);
 
     cacheStorage().deleteAllEntries();
 }
 
 void WebApplicationCacheManager::setAppCacheMaximumSize(uint64_t size)
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_childProcess);
 
     cacheStorage().setMaximumSize(size);
 }

Modified: trunk/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.h (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.h	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/ApplicationCache/WebApplicationCacheManager.h	2012-12-24 02:34:53 UTC (rev 138428)
@@ -26,36 +26,31 @@
 #ifndef WebApplicationCacheManager_h
 #define WebApplicationCacheManager_h
 
+#include "MessageReceiver.h"
 #include <wtf/Noncopyable.h>
 #include <wtf/text/WTFString.h>
 
-namespace CoreIPC {
-class Connection;
-class MessageDecoder;
-class MessageID;
-}
-
 namespace WebKit {
 
+class ChildProcess;
 struct SecurityOriginData;
 
-class WebApplicationCacheManager {
+class WebApplicationCacheManager : private CoreIPC::MessageReceiver {
     WTF_MAKE_NONCOPYABLE(WebApplicationCacheManager);
-
 public:
-    static WebApplicationCacheManager& shared();
+    WebApplicationCacheManager(ChildProcess*);
 
-    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
-
     void deleteAllEntries();
     void setAppCacheMaximumSize(uint64_t);
+
 private:
-    WebApplicationCacheManager();
-    
     void getApplicationCacheOrigins(uint64_t callbackID);
     void deleteEntriesForOrigin(const SecurityOriginData&);
 
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE;
     void didReceiveWebApplicationCacheManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
+
+    ChildProcess* m_childProcess;
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp	2012-12-24 02:34:53 UTC (rev 138428)
@@ -344,7 +344,7 @@
 void InjectedBundle::clearAllDatabases()
 {
 #if ENABLE(SQL_DATABASE)
-    WebDatabaseManager::shared().deleteAllDatabases();
+    WebProcess::shared().databaseManager().deleteAllDatabases();
 #endif
 }
 
@@ -353,13 +353,13 @@
 #if ENABLE(SQL_DATABASE)
     // Historically, we've used the following (somewhat non-sensical) string
     // for the databaseIdentifier of local files.
-    WebDatabaseManager::shared().setQuotaForOrigin("file__0", quota);
+    WebProcess::shared().databaseManager().setQuotaForOrigin("file__0", quota);
 #endif
 }
 
 void InjectedBundle::clearApplicationCache()
 {
-    WebApplicationCacheManager::shared().deleteAllEntries();
+    WebProcess::shared().applicationCacheManager().deleteAllEntries();
 }
 
 void InjectedBundle::clearApplicationCacheForOrigin(const String& originString)
@@ -370,7 +370,7 @@
 
 void InjectedBundle::setAppCacheMaximumSize(uint64_t size)
 {
-    WebApplicationCacheManager::shared().setAppCacheMaximumSize(size);
+    WebProcess::shared().applicationCacheManager().setAppCacheMaximumSize(size);
 }
 
 uint64_t InjectedBundle::appCacheUsageForOrigin(const String& originString)

Modified: trunk/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.cpp	2012-12-24 02:34:53 UTC (rev 138428)
@@ -26,13 +26,11 @@
 #include "config.h"
 #include "WebResourceCacheManager.h"
 
-#include "Connection.h"
-#include "MessageID.h"
-#include "ResourceCachesToClear.h"
 #include "SecurityOriginData.h"
 #include "WebCoreArgumentCoders.h"
-#include "WebResourceCacheManagerProxyMessages.h"
 #include "WebProcess.h"
+#include "WebResourceCacheManagerMessages.h"
+#include "WebResourceCacheManagerProxyMessages.h"
 #include <WebCore/MemoryCache.h>
 #include <WebCore/SecurityOrigin.h>
 #include <WebCore/SecurityOriginHash.h>
@@ -42,20 +40,12 @@
 
 namespace WebKit {
 
-WebResourceCacheManager& WebResourceCacheManager::shared()
+WebResourceCacheManager::WebResourceCacheManager(WebProcess* process)
+    : m_process(process)
 {
-    static WebResourceCacheManager& shared = *new WebResourceCacheManager;
-    return shared;
+    m_process->addMessageReceiver(Messages::WebResourceCacheManager::messageReceiverName(), this);
 }
 
-WebResourceCacheManager::WebResourceCacheManager()
-{
-}
-
-WebResourceCacheManager::~WebResourceCacheManager()
-{
-}
-
 void WebResourceCacheManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
 {
     didReceiveWebResourceCacheManagerMessage(connection, messageID, decoder);
@@ -64,7 +54,7 @@
 
 void WebResourceCacheManager::getCacheOrigins(uint64_t callbackID) const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
     MemoryCache::SecurityOriginSet origins;
     memoryCache()->getOriginsWithCache(origins);
@@ -96,12 +86,12 @@
         identifiers.uncheckedAppend(originData);
     }
 
-    WebProcess::shared().connection()->send(Messages::WebResourceCacheManagerProxy::DidGetCacheOrigins(identifiers, callbackID), 0);
+    m_process->send(Messages::WebResourceCacheManagerProxy::DidGetCacheOrigins(identifiers, callbackID), 0);
 }
 
 void WebResourceCacheManager::clearCacheForOrigin(SecurityOriginData originData, uint32_t cachesToClear) const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
 #if USE(CFURLCACHE)
     ResourceCachesToClear resourceCachesToClear = static_cast<ResourceCachesToClear>(cachesToClear);
@@ -127,11 +117,10 @@
 
 void WebResourceCacheManager::clearCacheForAllOrigins(uint32_t cachesToClear) const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
     ResourceCachesToClear resourceCachesToClear = static_cast<ResourceCachesToClear>(cachesToClear);
-
-    WebProcess::shared().clearResourceCaches(resourceCachesToClear);
+    m_process->clearResourceCaches(resourceCachesToClear);
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.h (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.h	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/ResourceCache/WebResourceCacheManager.h	2012-12-24 02:34:53 UTC (rev 138428)
@@ -26,33 +26,25 @@
 #ifndef WebResourceCacheManager_h
 #define WebResourceCacheManager_h
 
-#include "Arguments.h"
+#include "MessageReceiver.h"
 #include "ResourceCachesToClear.h"
 #include <wtf/Noncopyable.h>
 #include <wtf/RetainPtr.h>
 #include <wtf/text/WTFString.h>
 
-namespace CoreIPC {
-class Connection;
-class MessageDecoder;
-class MessageID;
-}
-
 namespace WebKit {
 
+class WebProcess;
 struct SecurityOriginData;
 
-class WebResourceCacheManager {
+class WebResourceCacheManager : private CoreIPC::MessageReceiver {
     WTF_MAKE_NONCOPYABLE(WebResourceCacheManager);
 public:
-    static WebResourceCacheManager& shared();
+    WebResourceCacheManager(WebProcess*);
 
-    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
-
 private:
-    WebResourceCacheManager();
-    virtual ~WebResourceCacheManager();
-
+    // CoreIPC::MessageReceiver
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
     // Implemented in generated WebResourceCacheManagerMessageReceiver.cpp
     void didReceiveWebResourceCacheManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
 
@@ -64,6 +56,8 @@
     static RetainPtr<CFArrayRef> cfURLCacheHostNames();
     static void clearCFURLCacheForHostNames(CFArrayRef);
 #endif
+
+    WebProcess* m_process;
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.cpp	2012-12-24 02:34:53 UTC (rev 138428)
@@ -28,10 +28,9 @@
 
 #if ENABLE(SQL_DATABASE)
 
-#include "Connection.h"
-#include "MessageID.h"
 #include "OriginAndDatabases.h"
 #include "WebCoreArgumentCoders.h"
+#include "WebDatabaseManagerMessages.h"
 #include "WebDatabaseManagerProxyMessages.h"
 #include "WebProcess.h"
 #include <WebCore/DatabaseDetails.h>
@@ -42,26 +41,19 @@
 
 namespace WebKit {
 
-WebDatabaseManager& WebDatabaseManager::shared()
-{
-    static WebDatabaseManager& shared = *new WebDatabaseManager;
-    return shared;
-}
-
 void WebDatabaseManager::initialize(const String& databaseDirectory)
 {
     DatabaseManager::manager().initialize(databaseDirectory);
 }
 
-WebDatabaseManager::WebDatabaseManager()
+WebDatabaseManager::WebDatabaseManager(WebProcess* process)
+    : m_process(process)
 {
+    m_process->addMessageReceiver(Messages::WebDatabaseManager::messageReceiverName(), this);
+
     DatabaseManager::manager().setClient(this);
 }
 
-WebDatabaseManager::~WebDatabaseManager()
-{
-}
-
 void WebDatabaseManager::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::MessageDecoder& decoder)
 {
     didReceiveWebDatabaseManagerMessage(connection, messageID, decoder);
@@ -69,7 +61,7 @@
 
 void WebDatabaseManager::getDatabasesByOrigin(uint64_t callbackID) const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
     // FIXME: This could be made more efficient by adding a function to DatabaseManager
     // to get both the origins and the Vector of DatabaseDetails for each origin in one
@@ -108,12 +100,12 @@
         originAndDatabasesVector.append(originAndDatabases);
     }
 
-    WebProcess::shared().connection()->send(Messages::WebDatabaseManagerProxy::DidGetDatabasesByOrigin(originAndDatabasesVector, callbackID), 0);
+    m_process->send(Messages::WebDatabaseManagerProxy::DidGetDatabasesByOrigin(originAndDatabasesVector, callbackID), 0);
 }
 
 void WebDatabaseManager::getDatabaseOrigins(uint64_t callbackID) const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
     Vector<RefPtr<SecurityOrigin> > origins;
     DatabaseManager::manager().origins(origins);
@@ -123,12 +115,12 @@
     Vector<String> identifiers(numOrigins);
     for (size_t i = 0; i < numOrigins; ++i)
         identifiers[i] = origins[i]->databaseIdentifier();
-    WebProcess::shared().connection()->send(Messages::WebDatabaseManagerProxy::DidGetDatabaseOrigins(identifiers, callbackID), 0);
+    m_process->send(Messages::WebDatabaseManagerProxy::DidGetDatabaseOrigins(identifiers, callbackID), 0);
 }
 
 void WebDatabaseManager::deleteDatabaseWithNameForOrigin(const String& databaseIdentifier, const String& originIdentifier) const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
     RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromDatabaseIdentifier(originIdentifier);
     if (!origin)
@@ -139,7 +131,7 @@
 
 void WebDatabaseManager::deleteDatabasesForOrigin(const String& originIdentifier) const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
     RefPtr<SecurityOrigin> origin = SecurityOrigin::createFromDatabaseIdentifier(originIdentifier);
     if (!origin)
@@ -150,14 +142,14 @@
 
 void WebDatabaseManager::deleteAllDatabases() const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
     DatabaseManager::manager().deleteAllDatabases();
 }
 
 void WebDatabaseManager::setQuotaForOrigin(const String& originIdentifier, unsigned long long quota) const
 {
-    WebProcess::LocalTerminationDisabler terminationDisabler(WebProcess::shared());
+    ChildProcess::LocalTerminationDisabler terminationDisabler(*m_process);
 
     // If the quota is set to a value lower than the current usage, that quota will
     // "stick" but no data will be purged to meet the new quota. This will simply
@@ -173,13 +165,13 @@
 void WebDatabaseManager::dispatchDidModifyOrigin(SecurityOrigin* origin)
 {
     // NOTE: This may be called on a non-main thread.
-    WebProcess::shared().connection()->send(Messages::WebDatabaseManagerProxy::DidModifyOrigin(origin->databaseIdentifier()), 0);
+    m_process->send(Messages::WebDatabaseManagerProxy::DidModifyOrigin(origin->databaseIdentifier()), 0);
 }
 
 void WebDatabaseManager::dispatchDidModifyDatabase(WebCore::SecurityOrigin* origin, const String& databaseIdentifier)
 {
     // NOTE: This may be called on a non-main thread.
-    WebProcess::shared().connection()->send(Messages::WebDatabaseManagerProxy::DidModifyDatabase(origin->databaseIdentifier(), databaseIdentifier), 0);
+    m_process->send(Messages::WebDatabaseManagerProxy::DidModifyDatabase(origin->databaseIdentifier(), databaseIdentifier), 0);
 }
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.h (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.h	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebDatabaseManager.h	2012-12-24 02:34:53 UTC (rev 138428)
@@ -28,35 +28,26 @@
 
 #if ENABLE(SQL_DATABASE)
 
-#include "Arguments.h"
+#include "MessageReceiver.h"
 #include <WebCore/DatabaseManagerClient.h>
 #include <wtf/Noncopyable.h>
-#include <wtf/text/WTFString.h>
 
-namespace CoreIPC {
-class MessageDecoder;
-class Connection;
-class MessageID;
-}
-
 namespace WebKit {
 
-class WebDatabaseManager : public WebCore::DatabaseManagerClient {
+class WebProcess;
+
+class WebDatabaseManager : public WebCore::DatabaseManagerClient, private CoreIPC::MessageReceiver {
     WTF_MAKE_NONCOPYABLE(WebDatabaseManager);
 public:
-    static WebDatabaseManager& shared();
+    WebDatabaseManager(WebProcess*);
     static void initialize(const String& databaseDirectory);
 
-    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
     void setQuotaForOrigin(const String& originIdentifier, unsigned long long quota) const;
-
-public:
     void deleteAllDatabases() const;
 
 private:
-    WebDatabaseManager();
-    virtual ~WebDatabaseManager();
-
+    // CoreIPC::MessageReceiver
+    void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&) OVERRIDE;
     // Implemented in generated WebDatabaseManagerMessageReceiver.cpp
     void didReceiveWebDatabaseManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::MessageDecoder&);
 
@@ -68,6 +59,8 @@
     // WebCore::DatabaseManagerClient
     virtual void dispatchDidModifyOrigin(WebCore::SecurityOrigin*) OVERRIDE;
     virtual void dispatchDidModifyDatabase(WebCore::SecurityOrigin*, const String& databaseIdentifier) OVERRIDE;
+
+    WebProcess* m_process;
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2012-12-24 02:34:53 UTC (rev 138428)
@@ -32,14 +32,11 @@
 #include "Logging.h"
 #include "SandboxExtension.h"
 #include "StatisticsData.h"
-#include "WebApplicationCacheManager.h"
 #include "WebContextMessages.h"
 #include "WebCookieManager.h"
 #include "WebCoreArgumentCoders.h"
-#include "WebDatabaseManager.h"
 #include "WebFrame.h"
 #include "WebFrameNetworkingContext.h"
-#include "WebGeolocationManagerMessages.h"
 #include "WebKeyValueStorageManager.h"
 #include "WebMediaCacheManager.h"
 #include "WebMemorySampler.h"
@@ -50,7 +47,6 @@
 #include "WebProcessCreationParameters.h"
 #include "WebProcessMessages.h"
 #include "WebProcessProxyMessages.h"
-#include "WebResourceCacheManager.h"
 #include <_javascript_Core/JSLock.h>
 #include <_javascript_Core/MemoryStatistics.h>
 #include <WebCore/AXObjectCache.h>
@@ -133,6 +129,11 @@
 #endif
     , m_textCheckerState()
     , m_geolocationManager(this)
+    , m_applicationCacheManager(this)
+    , m_resourceCacheManager(this)
+#if ENABLE(SQL_DATABASE)
+    , m_databaseManager(this)
+#endif
 #if ENABLE(BATTERY_STATUS)
     , m_batteryManager(this)
 #endif
@@ -576,23 +577,11 @@
         return;
     }
 
-    if (messageID.is<CoreIPC::MessageClassWebApplicationCacheManager>()) {
-        WebApplicationCacheManager::shared().didReceiveMessage(connection, messageID, decoder);
-        return;
-    }
-
     if (messageID.is<CoreIPC::MessageClassWebCookieManager>()) {
         WebCookieManager::shared().didReceiveMessage(connection, messageID, decoder);
         return;
     }
 
-#if ENABLE(SQL_DATABASE)
-    if (messageID.is<CoreIPC::MessageClassWebDatabaseManager>()) {
-        WebDatabaseManager::shared().didReceiveMessage(connection, messageID, decoder);
-        return;
-    }
-#endif
-
     if (messageID.is<CoreIPC::MessageClassWebKeyValueStorageManager>()) {
         WebKeyValueStorageManager::shared().didReceiveMessage(connection, messageID, decoder);
         return;
@@ -602,11 +591,6 @@
         WebMediaCacheManager::shared().didReceiveMessage(connection, messageID, decoder);
         return;
     }
-    
-    if (messageID.is<CoreIPC::MessageClassWebResourceCacheManager>()) {
-        WebResourceCacheManager::shared().didReceiveMessage(connection, messageID, decoder);
-        return;
-    }
 
     if (messageID.is<CoreIPC::MessageClassWebPageGroupProxy>()) {
         uint64_t pageGroupID = decoder.destinationID();

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (138427 => 138428)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2012-12-24 01:29:47 UTC (rev 138427)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2012-12-24 02:34:53 UTC (rev 138428)
@@ -39,10 +39,12 @@
 #include "SharedMemory.h"
 #include "TextCheckerState.h"
 #include "VisitedLinkTable.h"
+#include "WebApplicationCacheManager.h"
 #include "WebConnectionToUIProcess.h"
 #include "WebGeolocationManager.h"
 #include "WebIconDatabaseProxy.h"
 #include "WebPageGroupProxy.h"
+#include "WebResourceCacheManager.h"
 #include <WebCore/LinkHash.h>
 #include <wtf/Forward.h>
 #include <wtf/HashMap.h>
@@ -82,6 +84,10 @@
 #include "PluginProcessConnectionManager.h"
 #endif
 
+#if ENABLE(SQL_DATABASE)
+#include "WebDatabaseManager.h"
+#endif
+
 namespace WebCore {
     class IntSize;
     class PageGroup;
@@ -176,6 +182,17 @@
     // Geolocation
     WebGeolocationManager& geolocationManager() { return m_geolocationManager; }
 
+    // Application Cache
+    WebApplicationCacheManager& applicationCacheManager() { return m_applicationCacheManager; }
+
+    // Resource Cache
+    WebResourceCacheManager& resourceCacheManager() { return m_resourceCacheManager; }
+
+#if ENABLE(SQL_DATABASE)
+    // Database
+    WebDatabaseManager& databaseManager() { return m_databaseManager; }
+#endif
+
 #if ENABLE(BATTERY_STATUS)
     WebBatteryManager& batteryManager() { return m_batteryManager; }
 #endif
@@ -368,6 +385,12 @@
 
     TextCheckerState m_textCheckerState;
     WebGeolocationManager m_geolocationManager;
+    WebApplicationCacheManager m_applicationCacheManager;
+    WebResourceCacheManager m_resourceCacheManager;
+
+#if ENABLE(SQL_DATABASE)
+    WebDatabaseManager m_databaseManager;
+#endif
 #if ENABLE(BATTERY_STATUS)
     WebBatteryManager m_batteryManager;
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to