diff options
author | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-13 23:18:20 +0000 |
---|---|---|
committer | willchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-13 23:18:20 +0000 |
commit | c1320404ad1a5c51c5aeb4b48ae1978058995cd4 (patch) | |
tree | 420274dc75fd598e225bae23bab89f41c35a9b72 /chrome/browser/plugin_data_remover.h | |
parent | e9bef4b67e092282cf1110ea4ede6226b43c681a (diff) | |
download | chromium_src-c1320404ad1a5c51c5aeb4b48ae1978058995cd4.zip chromium_src-c1320404ad1a5c51c5aeb4b48ae1978058995cd4.tar.gz chromium_src-c1320404ad1a5c51c5aeb4b48ae1978058995cd4.tar.bz2 |
Revert 100733 (caused more crashes) - Cancel plugin channel requests when the renderer goes away.
Logic:
- Profile shutdown kills all renderer processes
- When the RMF detects the channel closing, it kills off any plugin channel requests from:
* PluginService (which needs to check the PluginServiceFilter on the FILE thread)
* PluginProcessHost (which may need to wait for the channel to get established)
- RMF uses the new OnPluginProcessHostFound() to cancel at the PluginService or PluginProcessHost
BUG=94704
TEST=New PluginService test, no known manual test
Review URL: http://codereview.chromium.org/7867031
TBR=willchan@chromium.org
Review URL: http://codereview.chromium.org/7889023
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100989 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/plugin_data_remover.h')
-rw-r--r-- | chrome/browser/plugin_data_remover.h | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/chrome/browser/plugin_data_remover.h b/chrome/browser/plugin_data_remover.h index c97a191..9ff4235 100644 --- a/chrome/browser/plugin_data_remover.h +++ b/chrome/browser/plugin_data_remover.h @@ -47,17 +47,16 @@ class PluginDataRemover : public base::RefCountedThreadSafe<PluginDataRemover>, void Wait(); // PluginProcessHost::Client methods. - virtual int ID() OVERRIDE; - virtual bool OffTheRecord() OVERRIDE; - virtual const content::ResourceContext& GetResourceContext() OVERRIDE; - virtual void SetPluginInfo(const webkit::WebPluginInfo& info) OVERRIDE; - virtual void OnFoundPluginProcessHost(PluginProcessHost* host) OVERRIDE; - virtual void OnChannelOpened(const IPC::ChannelHandle& handle) OVERRIDE; - virtual void OnError() OVERRIDE; + virtual int ID(); + virtual bool OffTheRecord(); + virtual const content::ResourceContext& GetResourceContext(); + virtual void SetPluginInfo(const webkit::WebPluginInfo& info); + virtual void OnChannelOpened(const IPC::ChannelHandle& handle); + virtual void OnError(); // IPC::Channel::Listener methods. - virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE; - virtual void OnChannelError() OVERRIDE; + virtual bool OnMessageReceived(const IPC::Message& message); + virtual void OnChannelError(); private: friend class base::RefCountedThreadSafe<PluginDataRemover>; |