summaryrefslogtreecommitdiffstats
path: root/chrome/plugin/plugin_thread.cc
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/plugin/plugin_thread.cc
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/plugin/plugin_thread.cc')
-rw-r--r--chrome/plugin/plugin_thread.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome/plugin/plugin_thread.cc b/chrome/plugin/plugin_thread.cc
index bd06bbd..688fe91 100644
--- a/chrome/plugin/plugin_thread.cc
+++ b/chrome/plugin/plugin_thread.cc
@@ -127,6 +127,8 @@ void PluginThread::OnControlMessageReceived(const IPC::Message& msg) {
IPC_BEGIN_MESSAGE_MAP(PluginThread, msg)
IPC_MESSAGE_HANDLER(PluginProcessMsg_CreateChannel, OnCreateChannel)
IPC_MESSAGE_HANDLER(PluginProcessMsg_PluginMessage, OnPluginMessage)
+ IPC_MESSAGE_HANDLER(PluginProcessMsg_NotifyRenderersOfPendingShutdown,
+ OnNotifyRenderersOfPendingShutdown)
#if defined(OS_MACOSX)
IPC_MESSAGE_HANDLER(PluginProcessMsg_PluginFocusNotify,
OnPluginFocusNotify)
@@ -165,6 +167,10 @@ void PluginThread::OnPluginMessage(const std::vector<unsigned char> &data) {
ChildProcess::current()->ReleaseProcess();
}
+void PluginThread::OnNotifyRenderersOfPendingShutdown() {
+ PluginChannel::NotifyRenderersOfPendingShutdown();
+}
+
#if defined(OS_MACOSX)
void PluginThread::OnPluginFocusNotify(uint32 instance_id) {
WebPluginDelegateImpl* focused_instance =