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

Issue 7578001: Unify var tracking between webkit and the proxy. (Closed)

Created:
9 years, 4 months ago by brettw
Modified:
9 years, 4 months ago
CC:
chromium-reviews
Visibility:
Public.

Description

Unify var tracking between webkit and the proxy. This replaces the var tracking in the proxy with the var tracking in the shared_impl that's used by the implementation. It adds a new ProxyObjectVar to be the proxied plugin analog of NPObjectVar in the impl. This new object just keeps track of the host data. The tricky part is to make the var tracker able to do all the crazy messaging. This adds some virtual functions to the shared var tracker that we override in the plugin in PluginVarTracker. This removes the calls to the GetLiveObjectsForInstance in the var deprecated test. It turns out this function really can't be implemented properly in the proxy, and I don't know why it even worked before. A Release() call posts a non-nestable task so the object isn't released until later. So to implement the proxy for GetLiveObjectsForInstance we would also need to post a non-nestable task. But when the test runs we're getting called from within the plugin, so blocking on a non-nestable task deadlocks. So I just gave up and deleted the parts of the test that uses it. TEST=included BUG=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=96094

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Total comments: 18

Patch Set 7 : '' #

Patch Set 8 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+975 lines, -833 lines) Patch
M ppapi/ppapi_proxy.gypi View 1 2 3 4 5 6 1 chunk +2 lines, -0 lines 0 comments Download
M ppapi/ppapi_shared.gypi View 1 2 3 4 5 6 2 chunks +4 lines, -0 lines 0 comments Download
M ppapi/proxy/plugin_resource_tracker.h View 1 2 3 4 5 6 3 chunks +24 lines, -6 lines 0 comments Download
M ppapi/proxy/plugin_resource_tracker.cc View 1 2 3 4 5 6 1 chunk +2 lines, -26 lines 0 comments Download
M ppapi/proxy/plugin_var_serialization_rules.cc View 1 2 3 4 5 6 7 chunks +17 lines, -23 lines 0 comments Download
M ppapi/proxy/plugin_var_tracker.h View 1 2 3 4 5 6 3 chunks +38 lines, -112 lines 0 comments Download
M ppapi/proxy/plugin_var_tracker.cc View 1 2 3 4 5 6 4 chunks +166 lines, -227 lines 0 comments Download
M ppapi/proxy/plugin_var_tracker_unittest.cc View 1 2 3 4 5 6 7 chunks +7 lines, -32 lines 0 comments Download
M ppapi/proxy/ppapi_proxy_test.cc View 1 2 3 4 5 6 3 chunks +2 lines, -3 lines 0 comments Download
M ppapi/proxy/ppb_file_ref_proxy.cc View 1 2 3 4 5 6 2 chunks +6 lines, -4 lines 0 comments Download
M ppapi/proxy/ppb_font_proxy.cc View 1 2 3 4 5 6 6 chunks +11 lines, -17 lines 0 comments Download
M ppapi/proxy/ppb_input_event_proxy.cc View 1 2 3 4 5 6 2 chunks +2 lines, -4 lines 0 comments Download
M ppapi/proxy/ppb_url_util_proxy.cc View 1 2 3 4 5 6 3 chunks +10 lines, -21 lines 0 comments Download
M ppapi/proxy/ppb_var_deprecated_proxy.cc View 1 2 3 4 5 6 3 chunks +20 lines, -18 lines 0 comments Download
M ppapi/proxy/ppb_var_proxy.cc View 1 2 3 4 5 6 2 chunks +10 lines, -10 lines 0 comments Download
M ppapi/proxy/ppp_messaging_proxy.cc View 1 2 3 4 5 6 2 chunks +2 lines, -1 line 0 comments Download
M ppapi/proxy/ppp_messaging_proxy_test.cc View 1 2 3 4 5 6 2 chunks +9 lines, -6 lines 0 comments Download
A ppapi/proxy/proxy_object_var.h View 1 2 3 4 5 1 chunk +50 lines, -0 lines 0 comments Download
A ppapi/proxy/proxy_object_var.cc View 1 2 3 4 5 1 chunk +50 lines, -0 lines 0 comments Download
M ppapi/proxy/resource_creation_proxy.cc View 1 2 3 4 5 6 2 chunks +8 lines, -4 lines 0 comments Download
M ppapi/proxy/serialized_var_unittest.cc View 1 2 3 4 5 6 2 chunks +4 lines, -4 lines 0 comments Download
A ppapi/shared_impl/id_assignment.h View 1 2 3 4 5 6 1 chunk +45 lines, -0 lines 0 comments Download
A ppapi/shared_impl/id_assignment.cc View 1 2 3 4 5 6 1 chunk +18 lines, -0 lines 0 comments Download
M ppapi/shared_impl/tracker_base.h View 1 2 3 4 5 6 2 chunks +2 lines, -11 lines 0 comments Download
M ppapi/shared_impl/url_util_impl.h View 1 2 3 4 5 6 1 chunk +4 lines, -26 lines 0 comments Download
M ppapi/shared_impl/url_util_impl.cc View 1 2 3 4 5 6 3 chunks +17 lines, -24 lines 0 comments Download
M ppapi/shared_impl/var.h View 1 2 3 4 5 6 4 chunks +11 lines, -32 lines 0 comments Download
M ppapi/shared_impl/var.cc View 1 2 3 4 5 6 6 chunks +16 lines, -18 lines 0 comments Download
A ppapi/shared_impl/var_tracker.h View 1 2 3 4 5 6 1 chunk +133 lines, -0 lines 0 comments Download
A ppapi/shared_impl/var_tracker.cc View 1 2 3 4 5 6 1 chunk +161 lines, -0 lines 0 comments Download
M ppapi/tests/test_var_deprecated.cc View 1 2 3 4 5 6 1 chunk +53 lines, -61 lines 0 comments Download
M webkit/plugins/ppapi/npapi_glue.cc View 1 2 3 4 5 6 5 chunks +6 lines, -5 lines 0 comments Download
M webkit/plugins/ppapi/npobject_var.h View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M webkit/plugins/ppapi/npobject_var.cc View 1 2 3 4 5 6 2 chunks +6 lines, -2 lines 0 comments Download
M webkit/plugins/ppapi/plugin_object.cc View 1 2 3 4 5 6 3 chunks +4 lines, -2 lines 0 comments Download
M webkit/plugins/ppapi/ppapi_plugin_instance.cc View 1 2 3 4 5 6 2 chunks +4 lines, -2 lines 0 comments Download
M webkit/plugins/ppapi/ppb_url_util_impl.cc View 1 2 3 4 5 6 5 chunks +8 lines, -26 lines 0 comments Download
M webkit/plugins/ppapi/ppb_var_impl.cc View 1 2 3 4 5 6 3 chunks +12 lines, -4 lines 0 comments Download
M webkit/plugins/ppapi/resource_tracker.h View 1 2 3 4 5 6 3 chunks +6 lines, -9 lines 0 comments Download
M webkit/plugins/ppapi/resource_tracker.cc View 1 2 3 4 5 6 15 chunks +20 lines, -90 lines 0 comments Download
M webkit/plugins/ppapi/resource_tracker_unittest.cc View 1 2 3 4 5 6 1 chunk +4 lines, -3 lines 0 comments Download

Messages

Total messages: 4 (0 generated)
brettw
Kind of complicated, sorry. Good thing I wrote those extra unit tests last week, they ...
9 years, 4 months ago (2011-08-07 19:05:36 UTC) #1
dmichael (off chromium)
mostly LGTM, but I have some comments and there are a couple of places where ...
9 years, 4 months ago (2011-08-08 22:13:59 UTC) #2
brettw
Addressed everything, a few responses below. http://codereview.chromium.org/7578001/diff/9052/ppapi/proxy/plugin_var_serialization_rules.cc File ppapi/proxy/plugin_var_serialization_rules.cc (right): http://codereview.chromium.org/7578001/diff/9052/ppapi/proxy/plugin_var_serialization_rules.cc#newcode47 ppapi/proxy/plugin_var_serialization_rules.cc:47: return StringVar::StringToPPVar(0, *str_val); ...
9 years, 4 months ago (2011-08-09 17:08:09 UTC) #3
dmichael (off chromium)
9 years, 4 months ago (2011-08-09 19:16:48 UTC) #4
LGTM

http://codereview.chromium.org/7578001/diff/9052/ppapi/shared_impl/var_tracker.h
File ppapi/shared_impl/var_tracker.h (right):

http://codereview.chromium.org/7578001/diff/9052/ppapi/shared_impl/var_tracke...
ppapi/shared_impl/var_tracker.h:98: // there are no proxy objects.
On 2011/08/09 17:08:09, brettw wrote:
> The implementation of this function is actually NOTREACHED().
Missed that; perfect, thanks.

Powered by Google App Engine
This is Rietveld 408576698