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

Issue 6905088: New thunk system for Pepper proxy and implementation (Closed)

Created:
9 years, 8 months ago by brettw
Modified:
9 years, 7 months ago
Reviewers:
piman
CC:
chromium-reviews
Visibility:
Public.

Description

This implements the new system for Graphics2D only. This works by adding a new thunk layer that will forward to an "API" that's either per-instance (function APIs) or per-resource (resource APIs). The proxying and such is then implemented in terms of this C++ API. Ideally the trackers of the PP_Resource/PP_Instance -> object mapping would be shared between the plugin and renderer processes. To keep this patch under control, I did this as a virtual base class which is implemented by ppapi::proxy::PluginResourceTracker and webkit::ppapi::ResourceTracker. Later, the functionality of these objects should be shared in a common tracker class. Still to do it a lot of cleanup and merging of things. Also, the namespaces are a bit out of control. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=84519

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Total comments: 4

Patch Set 7 : '' #

Patch Set 8 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1257 lines, -535 lines) Patch
M ppapi/ppapi_shared_proxy.gypi View 1 2 3 4 2 chunks +11 lines, -0 lines 0 comments Download
M ppapi/proxy/host_dispatcher.h View 1 2 3 4 2 chunks +7 lines, -0 lines 0 comments Download
M ppapi/proxy/host_dispatcher.cc View 1 2 3 4 2 chunks +10 lines, -0 lines 0 comments Download
M ppapi/proxy/interface_id.h View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M ppapi/proxy/plugin_dispatcher.h View 1 2 3 4 3 chunks +15 lines, -1 line 0 comments Download
M ppapi/proxy/plugin_dispatcher.cc View 1 2 3 4 3 chunks +17 lines, -0 lines 0 comments Download
M ppapi/proxy/plugin_resource.h View 1 2 3 4 3 chunks +4 lines, -1 line 0 comments Download
M ppapi/proxy/plugin_resource.cc View 1 2 3 4 1 chunk +6 lines, -0 lines 0 comments Download
M ppapi/proxy/plugin_resource_tracker.h View 1 2 3 4 4 chunks +10 lines, -1 line 0 comments Download
M ppapi/proxy/plugin_resource_tracker.cc View 1 2 3 4 5 chunks +30 lines, -0 lines 0 comments Download
M ppapi/proxy/ppapi_messages.h View 1 2 3 4 3 chunks +15 lines, -15 lines 0 comments Download
M ppapi/proxy/ppb_graphics_2d_proxy.h View 1 2 3 4 3 chunks +56 lines, -4 lines 0 comments Download
M ppapi/proxy/ppb_graphics_2d_proxy.cc View 1 2 3 4 5 chunks +48 lines, -164 lines 0 comments Download
M ppapi/proxy/ppb_image_data_proxy.h View 1 2 3 4 2 chunks +35 lines, -10 lines 0 comments Download
M ppapi/proxy/ppb_image_data_proxy.cc View 1 2 3 4 4 chunks +39 lines, -172 lines 0 comments Download
A ppapi/proxy/resource_creation_proxy.h View 1 2 3 4 5 6 1 chunk +68 lines, -0 lines 0 comments Download
A ppapi/proxy/resource_creation_proxy.cc View 1 2 3 4 5 6 7 1 chunk +155 lines, -0 lines 0 comments Download
A ppapi/shared_impl/function_group_base.h View 1 2 1 chunk +33 lines, -0 lines 0 comments Download
A ppapi/shared_impl/resource_object_base.h View 1 2 3 1 chunk +38 lines, -0 lines 0 comments Download
A ppapi/shared_impl/tracker_base.h View 1 2 1 chunk +49 lines, -0 lines 0 comments Download
A ppapi/shared_impl/tracker_base.cc View 1 2 3 4 5 6 7 1 chunk +25 lines, -0 lines 0 comments Download
A ppapi/thunk/enter.h View 1 2 3 4 5 6 7 1 chunk +91 lines, -0 lines 0 comments Download
A ppapi/thunk/ppb_graphics_2d_api.h View 1 chunk +28 lines, -0 lines 0 comments Download
A ppapi/thunk/ppb_graphics_2d_thunk.cc View 1 2 3 1 chunk +95 lines, -0 lines 0 comments Download
A ppapi/thunk/ppb_image_data_api.h View 1 2 3 1 chunk +21 lines, -0 lines 0 comments Download
A ppapi/thunk/ppb_image_data_thunk.cc View 1 2 3 4 5 6 7 1 chunk +83 lines, -0 lines 0 comments Download
A ppapi/thunk/resource_creation_api.h View 1 2 3 1 chunk +41 lines, -0 lines 0 comments Download
A ppapi/thunk/thunk.h View 1 2 3 4 5 6 1 chunk +24 lines, -0 lines 0 comments Download
M webkit/glue/webkit_glue.gypi View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M webkit/plugins/ppapi/DEPS View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M webkit/plugins/ppapi/ppb_graphics_2d_impl.h View 1 2 3 4 5 6 7 4 chunks +14 lines, -9 lines 0 comments Download
M webkit/plugins/ppapi/ppb_graphics_2d_impl.cc View 1 2 3 4 5 5 chunks +7 lines, -78 lines 0 comments Download
M webkit/plugins/ppapi/ppb_image_data_impl.h View 1 2 3 4 3 chunks +13 lines, -8 lines 0 comments Download
M webkit/plugins/ppapi/ppb_image_data_impl.cc View 1 2 3 4 6 chunks +8 lines, -70 lines 0 comments Download
M webkit/plugins/ppapi/resource.h View 1 2 3 4 2 chunks +3 lines, -1 line 0 comments Download
A webkit/plugins/ppapi/resource_creation_impl.h View 1 2 3 1 chunk +40 lines, -0 lines 0 comments Download
A webkit/plugins/ppapi/resource_creation_impl.cc View 1 2 3 1 chunk +58 lines, -0 lines 0 comments Download
M webkit/plugins/ppapi/resource_tracker.h View 1 2 3 4 4 chunks +15 lines, -1 line 0 comments Download
M webkit/plugins/ppapi/resource_tracker.cc View 1 2 3 4 4 chunks +36 lines, -0 lines 0 comments Download

Messages

Total messages: 2 (0 generated)
brettw
I think this is a reasonable stopping point for the first patch. There is still ...
9 years, 7 months ago (2011-05-06 16:42:47 UTC) #1
piman
9 years, 7 months ago (2011-05-06 17:00:09 UTC) #2
LGTM, some nits

http://codereview.chromium.org/6905088/diff/24001/ppapi/shared_impl/tracker_b...
File ppapi/shared_impl/tracker_base.cc (right):

http://codereview.chromium.org/6905088/diff/24001/ppapi/shared_impl/tracker_b...
ppapi/shared_impl/tracker_base.cc:12: static TrackerBase* (*global_getter)() =
NULL;
g_global_getter

http://codereview.chromium.org/6905088/diff/24001/ppapi/thunk/enter.h
File ppapi/thunk/enter.h (right):

http://codereview.chromium.org/6905088/diff/24001/ppapi/thunk/enter.h#newcode45
ppapi/thunk/enter.h:45: // this internally).
Remove TODO since it's done

http://codereview.chromium.org/6905088/diff/24001/ppapi/thunk/enter.h#newcode46
ppapi/thunk/enter.h:46: EnterFunction(PP_Instance instance, bool report_error)
You could make report_error a template parameter. Up to you.

http://codereview.chromium.org/6905088/diff/24001/webkit/plugins/ppapi/ppb_gr...
File webkit/plugins/ppapi/ppb_graphics_2d_impl.h (right):

http://codereview.chromium.org/6905088/diff/24001/webkit/plugins/ppapi/ppb_gr...
webkit/plugins/ppapi/ppb_graphics_2d_impl.h:51: PP_Bool Describe(PP_Size* size,
PP_Bool* is_always_opaque);
virtual on this and the next ones

Powered by Google App Engine
This is Rietveld 408576698