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