summaryrefslogtreecommitdiff
path: root/Source/WebKit2/UIProcess/WebProcessProxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/WebProcessProxy.cpp')
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.cpp98
1 files changed, 41 insertions, 57 deletions
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.cpp b/Source/WebKit2/UIProcess/WebProcessProxy.cpp
index 579783eed..4114a2851 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.cpp
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -46,7 +46,10 @@
#include <wtf/text/WTFString.h>
#if PLATFORM(MAC)
-#include "BuiltInPDFView.h"
+#include "SimplePDFPlugin.h"
+#if ENABLE(PDFKIT_PLUGIN)
+#include "PDFPlugin.h"
+#endif
#endif
using namespace WebCore;
@@ -102,6 +105,16 @@ 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);
@@ -186,6 +199,13 @@ 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)
{
@@ -253,9 +273,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->second->url()).fileSystemPath() == path)
+ if (KURL(KURL(), iter->value->url()).fileSystemPath() == path)
return true;
- if (KURL(KURL(), iter->second->originalURL()).fileSystemPath() == path)
+ if (KURL(KURL(), iter->value->originalURL()).fileSystemPath() == path)
return true;
}
@@ -278,15 +298,15 @@ void WebProcessProxy::addBackForwardItem(uint64_t itemID, const String& original
WebBackForwardListItemMap::AddResult result = m_backForwardListItemMap.add(itemID, 0);
if (result.isNewEntry) {
- result.iterator->second = WebBackForwardListItem::create(originalURL, url, title, backForwardData.data(), backForwardData.size(), itemID);
+ result.iterator->value = WebBackForwardListItem::create(originalURL, url, title, backForwardData.data(), backForwardData.size(), itemID);
return;
}
// Update existing item.
- result.iterator->second->setOriginalURL(originalURL);
- result.iterator->second->setURL(url);
- result.iterator->second->setTitle(title);
- result.iterator->second->setBackForwardData(backForwardData.data(), backForwardData.size());
+ result.iterator->value->setOriginalURL(originalURL);
+ result.iterator->value->setURL(url);
+ result.iterator->value->setTitle(title);
+ result.iterator->value->setBackForwardData(backForwardData.data(), backForwardData.size());
}
void WebProcessProxy::sendDidGetPlugins(uint64_t requestID, PassOwnPtr<Vector<PluginInfo> > pluginInfos)
@@ -298,8 +318,12 @@ 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())
- plugins->append(BuiltInPDFView::pluginInfo());
+ if (!m_context->omitPDFSupport()) {
+#if ENABLE(PDFKIT_PLUGIN)
+ plugins->append(PDFPlugin::pluginInfo());
+#endif
+ plugins->append(SimplePDFPlugin::pluginInfo());
+ }
#endif
send(Messages::WebProcess::DidGetPlugins(requestID, *plugins), 0);
@@ -352,11 +376,6 @@ 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)
@@ -373,36 +392,11 @@ void WebProcessProxy::didClearPluginSiteData(uint64_t callbackID)
void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
{
- if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
- didReceiveWebProcessProxyMessage(connection, messageID, arguments);
+ if (m_context->dispatchMessage(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);
+ if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
+ didReceiveWebProcessProxyMessage(connection, messageID, arguments);
return;
}
@@ -419,17 +413,11 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
void WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, OwnPtr<CoreIPC::ArgumentEncoder>& reply)
{
- if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
- didReceiveSyncWebProcessProxyMessage(connection, messageID, arguments, reply);
+ if (m_context->dispatchSyncMessage(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);
+ if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
+ didReceiveSyncWebProcessProxyMessage(connection, messageID, arguments, reply);
return;
}
@@ -473,10 +461,6 @@ void WebProcessProxy::didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::Me
terminate();
}
-void WebProcessProxy::syncMessageSendTimedOut(CoreIPC::Connection*)
-{
-}
-
void WebProcessProxy::didBecomeUnresponsive(ResponsivenessTimer*)
{
Vector<RefPtr<WebPageProxy> > pages;
@@ -565,7 +549,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->second->page() == page)
+ if (iter->value->page() == page)
++result;
}
return result;