summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/WebProcess/WebProcess.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/WebProcess/WebProcess.cpp')
-rw-r--r--Source/WebKit2/WebProcess/WebProcess.cpp20
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);