summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/WebProcessProxy.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@digia.com>2012-10-16 14:56:46 +0200
committerSimon Hausmann <simon.hausmann@digia.com>2012-10-16 14:57:30 +0200
commitb297e0fa5c217c9467033b7c8b46891a52870120 (patch)
tree43fc14689295e9e64f2719d05aad94e3049f6cd7 /Source/WebKit2/UIProcess/WebProcessProxy.cpp
parent69d517dbfa69903d8593cc1737f0474b21e3251e (diff)
downloadqtwebkit-b297e0fa5c217c9467033b7c8b46891a52870120.tar.gz
Revert "Imported WebKit commit 0dc6cd75e1d4836eaffbb520be96fac4847cc9d2 (http://svn.webkit.org/repository/webkit/trunk@131300)"
This reverts commit 5466563f4b5b6b86523e3f89bb7f77e5b5270c78. Caused OOM issues on some CI machines :(
Diffstat (limited to 'Source/WebKit2/UIProcess/WebProcessProxy.cpp')
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.cpp98
1 files changed, 57 insertions, 41 deletions
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.cpp b/Source/WebKit2/UIProcess/WebProcessProxy.cpp
index 4114a2851..579783eed 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -46,10 +46,7 @@
#include <wtf/text/WTFString.h>
#if PLATFORM(MAC)
-#include "SimplePDFPlugin.h"
-#if ENABLE(PDFKIT_PLUGIN)
-#include "PDFPlugin.h"
-#endif
+#include "BuiltInPDFView.h"
#endif
using namespace WebCore;
@@ -105,16 +102,6 @@ WebProcessProxy::~WebProcessProxy()
}
}
-WebProcessProxy* WebProcessProxy::fromConnection(CoreIPC::Connection* connection)
-{
- ASSERT(connection);
- WebConnectionToWebProcess* webConnection = static_cast<WebConnectionToWebProcess*>(connection->client());
-
- WebProcessProxy* webProcessProxy = webConnection->webProcessProxy();
- ASSERT(webProcessProxy->connection() == connection);
- return webProcessProxy;
-}
-
void WebProcessProxy::connect()
{
ASSERT(!m_processLauncher);
@@ -199,13 +186,6 @@ void WebProcessProxy::removeWebPage(uint64_t pageID)
m_pageMap.remove(pageID);
}
-Vector<WebPageProxy*> WebProcessProxy::pages() const
-{
- Vector<WebPageProxy*> result;
- copyValuesToVector(m_pageMap, result);
- return result;
-}
-
#if ENABLE(WEB_INTENTS)
void WebProcessProxy::removeMessagePortChannel(uint64_t channelID)
{
@@ -273,9 +253,9 @@ bool WebProcessProxy::checkURLReceivedFromWebProcess(const KURL& url)
// Items in back/forward list have been already checked.
// One case where we don't have sandbox extensions for file URLs in b/f list is if the list has been reinstated after a crash or a browser restart.
for (WebBackForwardListItemMap::iterator iter = m_backForwardListItemMap.begin(), end = m_backForwardListItemMap.end(); iter != end; ++iter) {
- if (KURL(KURL(), iter->value->url()).fileSystemPath() == path)
+ if (KURL(KURL(), iter->second->url()).fileSystemPath() == path)
return true;
- if (KURL(KURL(), iter->value->originalURL()).fileSystemPath() == path)
+ if (KURL(KURL(), iter->second->originalURL()).fileSystemPath() == path)
return true;
}
@@ -298,15 +278,15 @@ void WebProcessProxy::addBackForwardItem(uint64_t itemID, const String& original
WebBackForwardListItemMap::AddResult result = m_backForwardListItemMap.add(itemID, 0);
if (result.isNewEntry) {
- result.iterator->value = WebBackForwardListItem::create(originalURL, url, title, backForwardData.data(), backForwardData.size(), itemID);
+ result.iterator->second = WebBackForwardListItem::create(originalURL, url, title, backForwardData.data(), backForwardData.size(), itemID);
return;
}
// Update existing item.
- result.iterator->value->setOriginalURL(originalURL);
- result.iterator->value->setURL(url);
- result.iterator->value->setTitle(title);
- result.iterator->value->setBackForwardData(backForwardData.data(), backForwardData.size());
+ result.iterator->second->setOriginalURL(originalURL);
+ result.iterator->second->setURL(url);
+ result.iterator->second->setTitle(title);
+ result.iterator->second->setBackForwardData(backForwardData.data(), backForwardData.size());
}
void WebProcessProxy::sendDidGetPlugins(uint64_t requestID, PassOwnPtr<Vector<PluginInfo> > pluginInfos)
@@ -318,12 +298,8 @@ void WebProcessProxy::sendDidGetPlugins(uint64_t requestID, PassOwnPtr<Vector<Pl
#if PLATFORM(MAC)
// Add built-in PDF last, so that it's not used when a real plug-in is installed.
// NOTE: This has to be done on the main thread as it calls localizedString().
- if (!m_context->omitPDFSupport()) {
-#if ENABLE(PDFKIT_PLUGIN)
- plugins->append(PDFPlugin::pluginInfo());
-#endif
- plugins->append(SimplePDFPlugin::pluginInfo());
- }
+ if (!m_context->omitPDFSupport())
+ plugins->append(BuiltInPDFView::pluginInfo());
#endif
send(Messages::WebProcess::DidGetPlugins(requestID, *plugins), 0);
@@ -376,6 +352,11 @@ void WebProcessProxy::getPluginProcessConnection(const String& pluginPath, PassR
PluginProcessManager::shared().getPluginProcessConnection(m_context->pluginInfoStore(), pluginPath, reply);
}
+void WebProcessProxy::pluginSyncMessageSendTimedOut(const String& pluginPath)
+{
+ PluginProcessManager::shared().pluginSyncMessageSendTimedOut(pluginPath);
+}
+
#else
void WebProcessProxy::didGetSitesWithPluginData(const Vector<String>& sites, uint64_t callbackID)
@@ -392,14 +373,39 @@ void WebProcessProxy::didClearPluginSiteData(uint64_t callbackID)
void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
{
- if (m_context->dispatchMessage(connection, messageID, arguments))
- return;
-
if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
didReceiveWebProcessProxyMessage(connection, messageID, arguments);
return;
}
+ if (messageID.is<CoreIPC::MessageClassWebContext>()
+ || messageID.is<CoreIPC::MessageClassWebContextLegacy>()
+ || messageID.is<CoreIPC::MessageClassDownloadProxy>()
+ || messageID.is<CoreIPC::MessageClassWebApplicationCacheManagerProxy>()
+#if ENABLE(BATTERY_STATUS)
+ || messageID.is<CoreIPC::MessageClassWebBatteryManagerProxy>()
+#endif
+ || messageID.is<CoreIPC::MessageClassWebCookieManagerProxy>()
+ || messageID.is<CoreIPC::MessageClassWebDatabaseManagerProxy>()
+ || messageID.is<CoreIPC::MessageClassWebGeolocationManagerProxy>()
+ || messageID.is<CoreIPC::MessageClassWebIconDatabase>()
+ || messageID.is<CoreIPC::MessageClassWebKeyValueStorageManagerProxy>()
+ || messageID.is<CoreIPC::MessageClassWebMediaCacheManagerProxy>()
+#if ENABLE(NETWORK_INFO)
+ || messageID.is<CoreIPC::MessageClassWebNetworkInfoManagerProxy>()
+#endif
+ || messageID.is<CoreIPC::MessageClassWebNotificationManagerProxy>()
+#if USE(SOUP)
+ || messageID.is<CoreIPC::MessageClassWebSoupRequestManagerProxy>()
+#endif
+#if ENABLE(VIBRATION)
+ || messageID.is<CoreIPC::MessageClassWebVibrationProxy>()
+#endif
+ || messageID.is<CoreIPC::MessageClassWebResourceCacheManagerProxy>()) {
+ m_context->didReceiveMessage(this, messageID, arguments);
+ return;
+ }
+
uint64_t pageID = arguments->destinationID();
if (!pageID)
return;
@@ -413,14 +419,20 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
void WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply)
{
- if (m_context->dispatchSyncMessage(connection, messageID, arguments, reply))
- return;
-
if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
didReceiveSyncWebProcessProxyMessage(connection, messageID, arguments, reply);
return;
}
+ if (messageID.is<CoreIPC::MessageClassWebContext>() || messageID.is<CoreIPC::MessageClassWebContextLegacy>()
+#if ENABLE(NETWORK_INFO)
+ || messageID.is<CoreIPC::MessageClassWebNetworkInfoManagerProxy>()
+#endif
+ || messageID.is<CoreIPC::MessageClassDownloadProxy>() || messageID.is<CoreIPC::MessageClassWebIconDatabase>()) {
+ m_context->didReceiveSyncMessage(this, messageID, arguments, reply);
+ return;
+ }
+
uint64_t pageID = arguments->destinationID();
if (!pageID)
return;
@@ -461,6 +473,10 @@ void WebProcessProxy::didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::Me
terminate();
}
+void WebProcessProxy::syncMessageSendTimedOut(CoreIPC::Connection*)
+{
+}
+
void WebProcessProxy::didBecomeUnresponsive(ResponsivenessTimer*)
{
Vector<RefPtr<WebPageProxy> > pages;
@@ -549,7 +565,7 @@ size_t WebProcessProxy::frameCountInPage(WebPageProxy* page) const
{
size_t result = 0;
for (HashMap<uint64_t, RefPtr<WebFrameProxy> >::const_iterator iter = m_frameMap.begin(); iter != m_frameMap.end(); ++iter) {
- if (iter->value->page() == page)
+ if (iter->second->page() == page)
++result;
}
return result;