diff options
author | wez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-02 20:33:55 +0000 |
---|---|---|
committer | wez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-04-02 20:33:55 +0000 |
commit | 3892085db6bd1a63f8c7b0270c8a31e66e12c2b3 (patch) | |
tree | e9595c4b162e41285d78b2139bc8cc939420779c /content/plugin/webplugin_delegate_stub.h | |
parent | 106c88d5071d0ef94a0422545d78af820bf6d742 (diff) | |
download | chromium_src-3892085db6bd1a63f8c7b0270c8a31e66e12c2b3.zip chromium_src-3892085db6bd1a63f8c7b0270c8a31e66e12c2b3.tar.gz chromium_src-3892085db6bd1a63f8c7b0270c8a31e66e12c2b3.tar.bz2 |
Revert 128179 - Make sure the plugin scriptable object is released before NPP_Destroy.
We're temporarily reverting this change to gather more data on its impact on plugin crash rates.
When the we tear down a plugin instance the plugin process first invokes NPP_Destroy, and then tears down the IPC channel to the renderer, to give NPP_Destroy a chance to do last-minute scripting. When the IPC channel for the last instance is torn down we also clean up the IPC channels and stubs for any plugin-side NPObjects that remain.
We suspect that some plugins implement the scriptable object as part of the plugin instance, rather than independently ref-counted, so that our releasing the object after NPP_Destroy actually triggers the plugin process to crash.
This CL tears down the stub for the plugin's scriptable object before we call NPP_Destroy.
As per crbug.com/119414, we will remove this code if it doesn't significantly impact crashes.
BUG=101968
Review URL: http://codereview.chromium.org/9817023
TBR=cpu@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9959078
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130199 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/plugin/webplugin_delegate_stub.h')
-rw-r--r-- | content/plugin/webplugin_delegate_stub.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/content/plugin/webplugin_delegate_stub.h b/content/plugin/webplugin_delegate_stub.h index deddd49..8d7d3df 100644 --- a/content/plugin/webplugin_delegate_stub.h +++ b/content/plugin/webplugin_delegate_stub.h @@ -1,4 +1,4 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright (c) 2011 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -10,7 +10,6 @@ #include <vector> #include "base/memory/ref_counted.h" -#include "content/common/npobject_stub.h" #include "googleurl/src/gurl.h" #include "ipc/ipc_channel.h" #include "third_party/npapi/bindings/npapi.h" @@ -114,7 +113,6 @@ class WebPluginDelegateStub : public IPC::Channel::Listener, scoped_refptr<PluginChannel> channel_; - base::WeakPtr<NPObjectStub> plugin_scriptable_object_; webkit::npapi::WebPluginDelegateImpl* delegate_; WebPluginProxy* webplugin_; bool in_destructor_; |