summaryrefslogtreecommitdiffstats
path: root/content/plugin
diff options
context:
space:
mode:
authortonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-27 14:17:51 +0000
committertonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-27 14:17:51 +0000
commitea0b3b4b360db0c3973056338a5bad37cad23811 (patch)
treecba3979402deefb635ffbc57d5e1d8b89e59e471 /content/plugin
parentfde6a480349e34a716581649c1b4033b07e24061 (diff)
downloadchromium_src-ea0b3b4b360db0c3973056338a5bad37cad23811.zip
chromium_src-ea0b3b4b360db0c3973056338a5bad37cad23811.tar.gz
chromium_src-ea0b3b4b360db0c3973056338a5bad37cad23811.tar.bz2
Make plugin destruction asynchronous.
This patch causes the webplugin to be deleted after the response to the synchronous PluginMsg_DestroyInstance IPC is sent. On my z620, plugin destruction often takes 300-400ms. This patch improves the typical_25 page cycler suite by 14% overall (average PLT drops by 193ms from 1356ms to 1163ms). BUG=254665 Review URL: https://chromiumcodereview.appspot.com/17834016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@208912 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/plugin')
-rw-r--r--content/plugin/webplugin_delegate_stub.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/content/plugin/webplugin_delegate_stub.cc b/content/plugin/webplugin_delegate_stub.cc
index 9b7dd6f..d09883d 100644
--- a/content/plugin/webplugin_delegate_stub.cc
+++ b/content/plugin/webplugin_delegate_stub.cc
@@ -48,7 +48,7 @@ static void DestroyWebPluginAndDelegate(
if (delegate)
delegate->PluginDestroyed();
- delete webplugin;
+ base::MessageLoop::current()->DeleteSoon(FROM_HERE, webplugin);
}
WebPluginDelegateStub::WebPluginDelegateStub(