From 2bde8e466a4451c7319e3a072d118917957d6554 Mon Sep 17 00:00:00 2001 From: Steve Block Date: Wed, 25 May 2011 19:08:45 +0100 Subject: Merge WebKit at r82507: Initial merge by git Change-Id: I60ce9d780725b58b45e54165733a8ffee23b683e --- .../UIProcess/WebKeyValueStorageManagerProxy.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) (limited to 'Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp') diff --git a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp index dafa613..1de1532 100644 --- a/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp +++ b/Source/WebKit2/UIProcess/WebKeyValueStorageManagerProxy.cpp @@ -52,6 +52,11 @@ void WebKeyValueStorageManagerProxy::invalidate() invalidateCallbackMap(m_arrayCallbacks); } +bool WebKeyValueStorageManagerProxy::shouldTerminate(WebProcessProxy*) const +{ + return m_arrayCallbacks.isEmpty(); +} + void WebKeyValueStorageManagerProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments) { didReceiveWebKeyValueStorageManagerProxyMessage(connection, messageID, arguments); @@ -60,10 +65,7 @@ void WebKeyValueStorageManagerProxy::didReceiveMessage(CoreIPC::Connection* conn void WebKeyValueStorageManagerProxy::getKeyValueStorageOrigins(PassRefPtr prpCallback) { RefPtr callback = prpCallback; - if (!m_webContext->hasValidProcess()) { - callback->invalidate(); - return; - } + m_webContext->relaunchProcessIfNecessary(); uint64_t callbackID = callback->callbackID(); m_arrayCallbacks.set(callbackID, callback.release()); @@ -78,8 +80,7 @@ void WebKeyValueStorageManagerProxy::didGetKeyValueStorageOrigins(const VectorhasValidProcess()) - return; + m_webContext->relaunchProcessIfNecessary(); SecurityOriginData securityOriginData; securityOriginData.protocol = origin->protocol(); @@ -91,9 +92,7 @@ void WebKeyValueStorageManagerProxy::deleteEntriesForOrigin(WebSecurityOrigin* o void WebKeyValueStorageManagerProxy::deleteAllEntries() { - if (!m_webContext->hasValidProcess()) - return; - + m_webContext->relaunchProcessIfNecessary(); m_webContext->process()->send(Messages::WebKeyValueStorageManager::DeleteAllEntries(), 0); } -- cgit v1.1