diff options
author | Ben Murdoch <benm@google.com> | 2011-05-24 11:24:40 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-06-02 09:53:15 +0100 |
commit | 81bc750723a18f21cd17d1b173cd2a4dda9cea6e (patch) | |
tree | 7a9e5ed86ff429fd347a25153107221543909b19 /Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp | |
parent | 94088a6d336c1dd80a1e734af51e96abcbb689a7 (diff) | |
download | external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.zip external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.gz external_webkit-81bc750723a18f21cd17d1b173cd2a4dda9cea6e.tar.bz2 |
Merge WebKit at r80534: Intial merge by Git
Change-Id: Ia7a83357124c9e1cdb1debf55d9661ec0bd09a61
Diffstat (limited to 'Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp')
-rw-r--r-- | Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp | 41 |
1 files changed, 26 insertions, 15 deletions
diff --git a/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp b/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp index bca9689..c0aa8b3 100644 --- a/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp +++ b/Source/WebKit2/UIProcess/Plugins/PluginProcessManager.cpp @@ -28,7 +28,6 @@ #if ENABLE(PLUGIN_PROCESS) -#include "PluginInfoStore.h" #include "PluginProcessProxy.h" #include "WebContext.h" #include <wtf/StdLibExtras.h> @@ -51,20 +50,7 @@ void PluginProcessManager::getPluginProcessConnection(const String& pluginPath, ASSERT(!pluginPath.isNull()); PluginInfoStore::Plugin plugin = webProcessProxy->context()->pluginInfoStore()->infoForPluginWithPath(pluginPath); - - PluginProcessProxy* pluginProcess = 0; - - for (size_t i = 0; i < m_pluginProcesses.size(); ++i) { - if (m_pluginProcesses[i]->pluginInfo().path == plugin.path) { - pluginProcess = m_pluginProcesses[i]; - break; - } - } - - if (!pluginProcess) { - pluginProcess = PluginProcessProxy::create(this, plugin).leakPtr(); - m_pluginProcesses.append(pluginProcess); - } + PluginProcessProxy* pluginProcess = getOrCreatePluginProcess(plugin); pluginProcess->createWebProcessConnection(webProcessProxy, reply); } @@ -77,6 +63,31 @@ void PluginProcessManager::removePluginProcessProxy(PluginProcessProxy* pluginPr m_pluginProcesses.remove(vectorIndex); } +void PluginProcessManager::getSitesWithData(const PluginInfoStore::Plugin& plugin, WebPluginSiteDataManager* webPluginSiteDataManager, uint64_t callbackID) +{ + PluginProcessProxy* pluginProcess = getOrCreatePluginProcess(plugin); + pluginProcess->getSitesWithData(webPluginSiteDataManager, callbackID); +} + +void PluginProcessManager::clearSiteData(const PluginInfoStore::Plugin& plugin, WebPluginSiteDataManager* webPluginSiteDataManager, const Vector<String>& sites, uint64_t flags, uint64_t maxAgeInSeconds, uint64_t callbackID) +{ + PluginProcessProxy* pluginProcess = getOrCreatePluginProcess(plugin); + pluginProcess->clearSiteData(webPluginSiteDataManager, sites, flags, maxAgeInSeconds, callbackID); +} + +PluginProcessProxy* PluginProcessManager::getOrCreatePluginProcess(const PluginInfoStore::Plugin& plugin) +{ + for (size_t i = 0; i < m_pluginProcesses.size(); ++i) { + if (m_pluginProcesses[i]->pluginInfo().path == plugin.path) + return m_pluginProcesses[i]; + } + + PluginProcessProxy* pluginProcess = PluginProcessProxy::create(this, plugin).leakPtr(); + m_pluginProcesses.append(pluginProcess); + + return pluginProcess; +} + } // namespace WebKit #endif // ENABLE(PLUGIN_PROCESS) |