diff options
author | tonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-27 14:17:51 +0000 |
---|---|---|
committer | tonyg@chromium.org <tonyg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-06-27 14:17:51 +0000 |
commit | ea0b3b4b360db0c3973056338a5bad37cad23811 (patch) | |
tree | cba3979402deefb635ffbc57d5e1d8b89e59e471 /content/plugin | |
parent | fde6a480349e34a716581649c1b4033b07e24061 (diff) | |
download | chromium_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.cc | 2 |
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( |