Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(37)

Issue 10678007: Invoke PluginImplementedObjectDestroyed for ppp_class deallocate (Closed)

Created:
8 years, 6 months ago by Josh Horwich
Modified:
8 years, 5 months ago
Reviewers:
brettw
CC:
chromium-reviews
Visibility:
Public.

Description

Invoke PluginImplementedObjectDestroyed for ppp_class deallocate Deallocate on the plugin's GetInstanceObject ScriptableObject gets invoked twice during plugin destruction, typically resulting in a crash, for proxied plugins that expose a scriptable object. Once by PPP_ClassProxy::OnMsgDeallocate and once by PluginVarTracker::DidDeleteInstance. This patch removes the object from the var tracker when it is destroyed in PPP_Class_Proxy. It also tweaks a unittest to verify Deallocate is invoked only once during the test. BUG=133950 TEST=Run gmail, reload page (ctrl-r) and observe for plugin crashes TEST=Run ppapi_example out-of-process, reload page, observe for plugn crashes TEST=ppapi_unittests --gtest_filter="PluginVar*" Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=144531

Patch Set 1 #

Total comments: 2

Patch Set 2 : Remove object from global list before Deallocate #

Unified diffs Side-by-side diffs Delta from patch set Stats (+10 lines, -8 lines) Patch
M ppapi/proxy/plugin_var_tracker_unittest.cc View 3 chunks +8 lines, -8 lines 0 comments Download
M ppapi/proxy/ppp_class_proxy.cc View 1 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
Josh Horwich
Please take a look. Also, please verify that I don't need to wrap the entire ...
8 years, 6 months ago (2012-06-27 00:38:25 UTC) #1
brettw
That's definitely a bug! I'm actually kind of confused how it worked at all for ...
8 years, 5 months ago (2012-06-27 05:04:52 UTC) #2
brettw
https://chromiumcodereview.appspot.com/10678007/diff/1/ppapi/proxy/ppp_class_proxy.cc File ppapi/proxy/ppp_class_proxy.cc (right): https://chromiumcodereview.appspot.com/10678007/diff/1/ppapi/proxy/ppp_class_proxy.cc#newcode345 ppapi/proxy/ppp_class_proxy.cc:345: PluginGlobals::Get()->plugin_var_tracker()->PluginImplementedObjectDestroyed( Actually, I'd feel slightly better if this was ...
8 years, 5 months ago (2012-06-27 05:22:38 UTC) #3
Josh Horwich
Please take a look https://chromiumcodereview.appspot.com/10678007/diff/1/ppapi/proxy/ppp_class_proxy.cc File ppapi/proxy/ppp_class_proxy.cc (right): https://chromiumcodereview.appspot.com/10678007/diff/1/ppapi/proxy/ppp_class_proxy.cc#newcode345 ppapi/proxy/ppp_class_proxy.cc:345: PluginGlobals::Get()->plugin_var_tracker()->PluginImplementedObjectDestroyed( On 2012/06/27 05:22:38, brettw ...
8 years, 5 months ago (2012-06-27 17:03:55 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/jhorwich@chromium.org/10678007/6001
8 years, 5 months ago (2012-06-27 19:07:43 UTC) #5
commit-bot: I haz the power
8 years, 5 months ago (2012-06-27 20:15:28 UTC) #6
Change committed as 144531

Powered by Google App Engine
This is Rietveld 408576698