diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-31 17:28:49 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-31 17:28:49 +0000 |
commit | b6a2f8def0586446aaa61db000bae3467dbc2971 (patch) | |
tree | f5a11eccb071c6bb68fb5f320c4118a3a82497b5 /content/browser | |
parent | 72e7bc1812402284c7504d5d2e741973d30c6d87 (diff) | |
download | chromium_src-b6a2f8def0586446aaa61db000bae3467dbc2971.zip chromium_src-b6a2f8def0586446aaa61db000bae3467dbc2971.tar.gz chromium_src-b6a2f8def0586446aaa61db000bae3467dbc2971.tar.bz2 |
Remove a bunch of easy entries from chrome\browser\DEPS.
-hide PluginProcessHost from chrome by having extensions code just tell PluginService which plugin to kill
-hide RenderProcessHostImpl from a test by using the interface instead
-use TestBrowserThread in the SyncListenNotifications tool instead of BrowserThreadImp
-remove some unnecessary mocks from chrome\browser\DEPS
BUG=98716
Review URL: https://chromiumcodereview.appspot.com/9159059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119906 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser')
-rw-r--r-- | content/browser/plugin_service_impl.cc | 14 | ||||
-rw-r--r-- | content/browser/plugin_service_impl.h | 14 |
2 files changed, 22 insertions, 6 deletions
diff --git a/content/browser/plugin_service_impl.cc b/content/browser/plugin_service_impl.cc index fad5d5e..397ac1e 100644 --- a/content/browser/plugin_service_impl.cc +++ b/content/browser/plugin_service_impl.cc @@ -613,6 +613,20 @@ content::PluginServiceFilter* PluginServiceImpl::GetFilter() { return filter_; } +void PluginServiceImpl::ForcePluginShutdown(const FilePath& plugin_path) { + if (!BrowserThread::CurrentlyOn(BrowserThread::IO)) { + BrowserThread::PostTask( + BrowserThread::IO, FROM_HERE, + base::Bind(&PluginServiceImpl::ForcePluginShutdown, + base::Unretained(this), plugin_path)); + return; + } + + PluginProcessHost* plugin = FindNpapiPluginProcess(plugin_path); + if (plugin) + plugin->ForceShutdown(); +} + void PluginServiceImpl::RefreshPlugins() { plugin_list_->RefreshPlugins(); } diff --git a/content/browser/plugin_service_impl.h b/content/browser/plugin_service_impl.h index fc96968..4b74b58 100644 --- a/content/browser/plugin_service_impl.h +++ b/content/browser/plugin_service_impl.h @@ -68,8 +68,6 @@ class CONTENT_EXPORT PluginServiceImpl // content::PluginService implementation: virtual void Init() OVERRIDE; virtual void StartWatchingPlugins() OVERRIDE; - virtual PluginProcessHost* FindNpapiPluginProcess( - const FilePath& plugin_path) OVERRIDE; virtual bool GetPluginInfoArray( const GURL& url, const std::string& mime_type, @@ -95,6 +93,7 @@ class CONTENT_EXPORT PluginServiceImpl const FilePath& plugin_path) OVERRIDE; virtual void SetFilter(content::PluginServiceFilter* filter) OVERRIDE; virtual content::PluginServiceFilter* GetFilter() OVERRIDE; + virtual void ForcePluginShutdown(const FilePath& plugin_path) OVERRIDE; virtual void RefreshPlugins() OVERRIDE; virtual void AddExtraPluginPath(const FilePath& path) OVERRIDE; virtual void AddExtraPluginDir(const FilePath& path) OVERRIDE; @@ -107,10 +106,6 @@ class CONTENT_EXPORT PluginServiceImpl virtual void SetPluginListForTesting( webkit::npapi::PluginList* plugin_list) OVERRIDE; - // Like FindNpapiPluginProcess but for Pepper. - PpapiPluginProcessHost* FindPpapiPluginProcess(const FilePath& plugin_path); - PpapiPluginProcessHost* FindPpapiBrokerProcess(const FilePath& broker_path); - // Returns the plugin process host corresponding to the plugin process that // has been started by this service. This will start a process to host the // 'plugin_path' if needed. If the process fails to start, the return value @@ -157,6 +152,13 @@ class CONTENT_EXPORT PluginServiceImpl const content::NotificationSource& source, const content::NotificationDetails& details) OVERRIDE; + // Returns the plugin process host corresponding to the plugin process that + // has been started by this service. Returns NULL if no process has been + // started. + PluginProcessHost* FindNpapiPluginProcess(const FilePath& plugin_path); + PpapiPluginProcessHost* FindPpapiPluginProcess(const FilePath& plugin_path); + PpapiPluginProcessHost* FindPpapiBrokerProcess(const FilePath& broker_path); + void RegisterPepperPlugins(); // Function that is run on the FILE thread to load the plugins synchronously. |