diff options
author | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-06 20:51:16 +0000 |
---|---|---|
committer | mpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-04-06 20:51:16 +0000 |
commit | 4e59e814cc1264300b597c3d62a8ccb4da264889 (patch) | |
tree | 3da745987d40a5ff16cade564043ea701af3f239 /chrome/renderer/plugin_channel_host.h | |
parent | 718b1465c8916ac5b912ee57d6448ff8d772e414 (diff) | |
download | chromium_src-4e59e814cc1264300b597c3d62a8ccb4da264889.zip chromium_src-4e59e814cc1264300b597c3d62a8ccb4da264889.tar.gz chromium_src-4e59e814cc1264300b597c3d62a8ccb4da264889.tar.bz2 |
Fix problems with unloading/reloading/updating extensions that contain NPAPI
plugins, by ensuring that an extension's plugins are shut down and unloaded when the extension unloads.
BUG=34670
BUG=32806
Review URL: http://codereview.chromium.org/1596009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@43756 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/plugin_channel_host.h')
-rw-r--r-- | chrome/renderer/plugin_channel_host.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/renderer/plugin_channel_host.h b/chrome/renderer/plugin_channel_host.h index 31bf77a..668c875 100644 --- a/chrome/renderer/plugin_channel_host.h +++ b/chrome/renderer/plugin_channel_host.h @@ -37,6 +37,8 @@ class PluginChannelHost : public PluginChannelBase { PluginChannelBase::Broadcast(message); } + bool expecting_shutdown() { return expecting_shutdown_; } + private: // Called on the render thread PluginChannelHost(); @@ -46,6 +48,7 @@ class PluginChannelHost : public PluginChannelBase { void OnControlMessageReceived(const IPC::Message& message); void OnSetException(const std::string& message); + void OnPluginShuttingDown(const IPC::Message& message); // Keep track of all the registered WebPluginDelegeProxies to // inform about OnChannelError @@ -56,6 +59,10 @@ class PluginChannelHost : public PluginChannelBase { // used when the JS debugger is attached in order to avoid browser hangs. scoped_refptr<IsListeningFilter> is_listening_filter_; + // True if we are expecting the plugin process to go away - in which case, + // don't treat it as a crash. + bool expecting_shutdown_; + DISALLOW_EVIL_CONSTRUCTORS(PluginChannelHost); }; |