diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-20 20:54:53 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-20 20:54:53 +0000 |
commit | 2ceaaf7288d5124b90e3af9c989bbb10233bc339 (patch) | |
tree | c69d0788e7acd375fcb9132d34f0e2fc3addf112 | |
parent | 70afba408f1731f2a87655ef2262af145e2d3f24 (diff) | |
download | chromium_src-2ceaaf7288d5124b90e3af9c989bbb10233bc339.zip chromium_src-2ceaaf7288d5124b90e3af9c989bbb10233bc339.tar.gz chromium_src-2ceaaf7288d5124b90e3af9c989bbb10233bc339.tar.bz2 |
Merge 143201 - Fix a crash in Pepper object scripting.
I believe this is caused by a shutdown race condition. My theory is if a pugin
is cread and rapidly destroyed, object creation will fail in the renderer.
TEST=manual
BUG=133581
Review URL: https://chromiumcodereview.appspot.com/10580027
TBR=brettw@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10559095
git-svn-id: svn://svn.chromium.org/chrome/branches/1180/src@143255 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ppapi/proxy/ppb_var_deprecated_proxy.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ppapi/proxy/ppb_var_deprecated_proxy.cc b/ppapi/proxy/ppb_var_deprecated_proxy.cc index 2cd5ed0..3cef43a 100644 --- a/ppapi/proxy/ppb_var_deprecated_proxy.cc +++ b/ppapi/proxy/ppb_var_deprecated_proxy.cc @@ -269,8 +269,10 @@ PP_Var CreateObject(PP_Instance instance, PP_Var ret_var = result.Return(dispatcher); // Register this object as being implemented by the plugin. - tracker->PluginImplementedObjectCreated(instance, ret_var, - ppp_class, ppp_class_data); + if (ret_var.type == PP_VARTYPE_OBJECT) { + tracker->PluginImplementedObjectCreated(instance, ret_var, + ppp_class, ppp_class_data); + } return ret_var; } |