summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/plugin_channel_host.h
diff options
context:
space:
mode:
authormpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-06 20:51:16 +0000
committermpcomplete@chromium.org <mpcomplete@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-04-06 20:51:16 +0000
commit4e59e814cc1264300b597c3d62a8ccb4da264889 (patch)
tree3da745987d40a5ff16cade564043ea701af3f239 /chrome/renderer/plugin_channel_host.h
parent718b1465c8916ac5b912ee57d6448ff8d772e414 (diff)
downloadchromium_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.h7
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);
};