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/plugin/plugin_thread.cc | |
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/plugin/plugin_thread.cc')
-rw-r--r-- | chrome/plugin/plugin_thread.cc | 6 |
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 = |