diff options
Diffstat (limited to 'Source/WebKit2/WebProcess/WebProcess.cpp')
-rw-r--r-- | Source/WebKit2/WebProcess/WebProcess.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/Source/WebKit2/WebProcess/WebProcess.cpp b/Source/WebKit2/WebProcess/WebProcess.cpp index 47f4125..97faec4 100644 --- a/Source/WebKit2/WebProcess/WebProcess.cpp +++ b/Source/WebKit2/WebProcess/WebProcess.cpp @@ -23,6 +23,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. */ +#include "config.h" #include "WebProcess.h" #include "AuthenticationManager.h" @@ -119,11 +120,6 @@ WebProcess::WebProcess() // Initialize our platform strategies. WebPlatformStrategies::initialize(); #endif // USE(PLATFORM_STRATEGIES) - -#if ENABLE(DATABASE) - // Make sure the WebDatabaseManager is initialized so that the Database directory is set. - WebDatabaseManager::shared(); -#endif } void WebProcess::initialize(CoreIPC::Connection::Identifier serverIdentifier, RunLoop* runLoop) @@ -131,6 +127,8 @@ void WebProcess::initialize(CoreIPC::Connection::Identifier serverIdentifier, Ru ASSERT(!m_connection); m_connection = CoreIPC::Connection::createClientConnection(serverIdentifier, this, runLoop); + m_connection->setDidCloseOnConnectionWorkQueueCallback(didCloseOnConnectionWorkQueue); + m_connection->open(); m_runLoop = runLoop; @@ -159,6 +157,11 @@ void WebProcess::initializeWebProcess(const WebProcessCreationParameters& parame } } +#if ENABLE(DATABASE) + // Make sure the WebDatabaseManager is initialized so that the Database directory is set. + WebDatabaseManager::initialize(parameters.databaseDirectory); +#endif + #if ENABLE(OFFLINE_WEB_APPLICATIONS) if (!parameters.applicationCacheDirectory.isEmpty()) cacheStorage().setCacheDirectory(parameters.applicationCacheDirectory); @@ -564,6 +567,13 @@ void WebProcess::didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::Message // we'll let it slide. } +NO_RETURN void WebProcess::didFailToSendSyncMessage(CoreIPC::Connection*) +{ + // We were making a synchronous call to a UI process that doesn't exist any more. + // Callers are unlikely to be prepared for an error like this, so it's best to exit immediately. + exit(0); +} + WebFrame* WebProcess::webFrame(uint64_t frameID) const { return m_frameMap.get(frameID); |