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

Issue 298023004: [PPAPI] Compositor API implementation (Closed)

Created:
6 years, 7 months ago by Peng
Modified:
6 years, 6 months ago
CC:
chromium-reviews, yusukes+watch_chromium.org, tzik, binji+watch_chromium.org, jam, raymes+watch_chromium.org, teravest+watch_chromium.org, darin-cc_chromium.org, nfullagar1, piman+watch_chromium.org, noelallen1, ihf+watch_chromium.org, mknowles, avallee, kmixter1, danakj, alexst (slow to review)
Base URL:
https://chromium.googlesource.com/chromium/src.git@compositor_api_def_new
Visibility:
Public.

Description

[PPAPI] Compositor API implementation. Implement the compositor API which allows a plugin to combine different sources of visual data efficiently, such as PPB_ImageData and OpengGL texture. API Proposal http://goo.gl/V7xcu3 BUG=374383 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=277208 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=277422

Patch Set 1 #

Patch Set 2 : WIP #

Patch Set 3 : WIP #

Patch Set 4 : WIP #

Patch Set 5 : WIP #

Patch Set 6 : Update #

Patch Set 7 : Update #

Total comments: 74

Patch Set 8 : Fix review issues #

Total comments: 8

Patch Set 9 : Fix review issues #

Patch Set 10 : Fix review issue #

Total comments: 96

Patch Set 11 : Fix reivew issues #

Total comments: 2

Patch Set 12 : Rebase #

Patch Set 13 : Use a clip parent for clip_rect #

Total comments: 6

Patch Set 14 : Rebase #

Patch Set 15 : Fix review issues and rebase #

Total comments: 6

Patch Set 16 : Fix review issues #

Total comments: 4

Patch Set 17 : Fix review issues #

Patch Set 18 : Fix build issue #

Patch Set 19 : Fix a link issue #

Patch Set 20 : Fix the link issue #

Patch Set 21 : Fix a build issue #

Patch Set 22 : Update #

Patch Set 23 : Fix build issue on windowswq #

Total comments: 6

Patch Set 24 : Fix review issues #

Patch Set 25 : Rebase #

Patch Set 26 : Fix build errors #

Patch Set 27 : Fix link issue #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2257 lines, -39 lines) Patch
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/pepper/content_renderer_pepper_host_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +5 lines, -0 lines 0 comments Download
M content/renderer/pepper/gfx_conversion.h View 1 2 3 2 chunks +5 lines, -0 lines 0 comments Download
A content/renderer/pepper/pepper_compositor_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +101 lines, -0 lines 0 comments Download
A content/renderer/pepper/pepper_compositor_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 1 chunk +372 lines, -0 lines 0 comments Download
M content/renderer/pepper/pepper_plugin_instance_impl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 4 chunks +5 lines, -1 line 0 comments Download
M content/renderer/pepper/pepper_plugin_instance_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 11 chunks +55 lines, -16 lines 0 comments Download
A ppapi/examples/compositor/compositor.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 chunk +439 lines, -0 lines 0 comments Download
A ppapi/examples/compositor/compositor.html View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +28 lines, -0 lines 0 comments Download
A + ppapi/examples/compositor/spinning_cube.h View 0 chunks +-1 lines, --1 lines 0 comments Download
A ppapi/examples/compositor/spinning_cube.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +459 lines, -0 lines 0 comments Download
M ppapi/host/resource_host.h View 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/host/resource_host.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M ppapi/ppapi_internal.gyp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 25 26 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/ppapi_shared.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +2 lines, -0 lines 0 comments Download
M ppapi/ppapi_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +16 lines, -0 lines 0 comments Download
M ppapi/proxy/compositor_layer_resource.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +45 lines, -3 lines 0 comments Download
M ppapi/proxy/compositor_layer_resource.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 2 chunks +317 lines, -14 lines 0 comments Download
M ppapi/proxy/compositor_resource.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +44 lines, -1 line 0 comments Download
M ppapi/proxy/compositor_resource.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +103 lines, -4 lines 0 comments Download
M ppapi/proxy/ppapi_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 6 chunks +59 lines, -0 lines 0 comments Download
M ppapi/proxy/ppapi_param_traits.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +9 lines, -0 lines 0 comments Download
M ppapi/proxy/ppapi_param_traits.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +27 lines, -0 lines 0 comments Download
M ppapi/proxy/ppb_instance_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +4 lines, -1 line 0 comments Download
A ppapi/shared_impl/compositor_layer_data.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +119 lines, -0 lines 0 comments Download
A ppapi/shared_impl/compositor_layer_data.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 chunk +36 lines, -0 lines 0 comments Download

Messages

Total messages: 47 (0 generated)
Peng
The compositor API implementation is ready for review. PTAL. Thanks.
6 years, 6 months ago (2014-05-30 14:36:04 UTC) #1
dmichael (off chromium)
raymes: If you have time, could you be primary on this? Thank you!
6 years, 6 months ago (2014-05-30 21:55:21 UTC) #2
raymes
Sure! On Sat, May 31, 2014 at 7:55 AM, <dmichael@chromium.org> wrote: > raymes: If you ...
6 years, 6 months ago (2014-06-02 01:15:03 UTC) #3
raymes
First pass. I haven't reviewed the example you added yet. Also, I can't vouch for ...
6 years, 6 months ago (2014-06-02 03:51:07 UTC) #4
raymes
Also we will need to have some tests. Take a look at test_graphics_2d.cc and test_graphics_3d.cc. ...
6 years, 6 months ago (2014-06-02 04:01:32 UTC) #5
Peng
https://codereview.chromium.org/298023004/diff/120001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/120001/content/renderer/pepper/pepper_compositor_host.cc#newcode69 content/renderer/pepper/pepper_compositor_host.cc:69: void PepperCompositorHost::ViewFlushedPaint() {} On 2014/06/02 03:51:08, raymes wrote: > ...
6 years, 6 months ago (2014-06-02 19:01:54 UTC) #6
Peng
On 2014/06/02 04:01:32, raymes wrote: > Also we will need to have some tests. Take ...
6 years, 6 months ago (2014-06-02 19:09:07 UTC) #7
raymes
https://codereview.chromium.org/298023004/diff/120001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/120001/content/renderer/pepper/pepper_compositor_host.cc#newcode69 content/renderer/pepper/pepper_compositor_host.cc:69: void PepperCompositorHost::ViewFlushedPaint() {} Ah ok, that seems reasonable then. ...
6 years, 6 months ago (2014-06-03 00:43:22 UTC) #8
Peng
https://codereview.chromium.org/298023004/diff/120001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/120001/content/renderer/pepper/pepper_compositor_host.cc#newcode174 content/renderer/pepper/pepper_compositor_host.cc:174: DCHECK_EQ(desc.format, PP_IMAGEDATAFORMAT_RGBA_PREMUL); On 2014/06/03 00:43:22, raymes wrote: > That's ...
6 years, 6 months ago (2014-06-03 18:32:23 UTC) #9
raymes
Looking much better, thanks! https://codereview.chromium.org/298023004/diff/140001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/140001/content/renderer/pepper/pepper_compositor_host.cc#newcode171 content/renderer/pepper/pepper_compositor_host.cc:171: <<"Can not access the image's ...
6 years, 6 months ago (2014-06-04 01:11:39 UTC) #10
piman
https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc#newcode39 content/renderer/pepper/pepper_compositor_host.cc:39: layer_ = cc::SolidColorLayer::Create(); You're only using this for grouping, ...
6 years, 6 months ago (2014-06-04 13:19:44 UTC) #11
Peng
https://codereview.chromium.org/298023004/diff/140001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/140001/content/renderer/pepper/pepper_compositor_host.cc#newcode171 content/renderer/pepper/pepper_compositor_host.cc:171: <<"Can not access the image's shared memory!"; On 2014/06/04 ...
6 years, 6 months ago (2014-06-05 00:50:37 UTC) #12
raymes
https://codereview.chromium.org/298023004/diff/230001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/230001/content/renderer/pepper/pepper_compositor_host.cc#newcode182 content/renderer/pepper/pepper_compositor_host.cc:182: } What I meant was to pull out just ...
6 years, 6 months ago (2014-06-06 00:47:00 UTC) #13
raymes
Oops what I mean is local functions in an anonymous namespace :) On Fri, Jun ...
6 years, 6 months ago (2014-06-06 01:25:34 UTC) #14
danakj
https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc#newcode200 content/renderer/pepper/pepper_compositor_host.cc:200: NOTREACHED(); On 2014/06/05 00:50:38, Peng wrote: > On 2014/06/04 ...
6 years, 6 months ago (2014-06-06 14:54:32 UTC) #15
Peng
https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc#newcode200 content/renderer/pepper/pepper_compositor_host.cc:200: NOTREACHED(); On 2014/06/06 14:54:31, danakj wrote: > On 2014/06/05 ...
6 years, 6 months ago (2014-06-06 19:29:44 UTC) #16
piman
https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc#newcode175 content/renderer/pepper/pepper_compositor_host.cc:175: CHECK(shared_memory->Map(desc.stride * desc.size.height)); On 2014/06/05 00:50:38, Peng wrote: > ...
6 years, 6 months ago (2014-06-09 18:27:24 UTC) #17
raymes
https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc File ppapi/proxy/compositor_layer_resource.cc (right): https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc#newcode221 ppapi/proxy/compositor_layer_resource.cc:221: ScopedPPResource(pp_resource()), // Keep layer alive. Why do we need ...
6 years, 6 months ago (2014-06-10 05:00:37 UTC) #18
Peng
https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc File ppapi/proxy/compositor_layer_resource.cc (right): https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc#newcode221 ppapi/proxy/compositor_layer_resource.cc:221: ScopedPPResource(pp_resource()), // Keep layer alive. On 2014/06/10 05:00:37, raymes ...
6 years, 6 months ago (2014-06-10 11:44:22 UTC) #19
Peng
https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/170001/content/renderer/pepper/pepper_compositor_host.cc#newcode175 content/renderer/pepper/pepper_compositor_host.cc:175: CHECK(shared_memory->Map(desc.stride * desc.size.height)); On 2014/06/09 18:27:24, piman wrote: > ...
6 years, 6 months ago (2014-06-10 16:20:28 UTC) #20
piman
https://codereview.chromium.org/298023004/diff/290001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/290001/content/renderer/pepper/pepper_compositor_host.cc#newcode99 content/renderer/pepper/pepper_compositor_host.cc:99: static_cast<base::SharedMemoryHandle>(_dup(handle)); I don't think you can use _dup to ...
6 years, 6 months ago (2014-06-10 22:37:06 UTC) #21
Peng
https://codereview.chromium.org/298023004/diff/290001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/290001/content/renderer/pepper/pepper_compositor_host.cc#newcode99 content/renderer/pepper/pepper_compositor_host.cc:99: static_cast<base::SharedMemoryHandle>(_dup(handle)); On 2014/06/10 22:37:06, piman wrote: > I don't ...
6 years, 6 months ago (2014-06-10 23:03:32 UTC) #22
raymes
https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc File ppapi/proxy/compositor_layer_resource.cc (right): https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc#newcode221 ppapi/proxy/compositor_layer_resource.cc:221: ScopedPPResource(pp_resource()), // Keep layer alive. But isn't it ok ...
6 years, 6 months ago (2014-06-11 00:21:06 UTC) #23
Peng
https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc File ppapi/proxy/compositor_layer_resource.cc (right): https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc#newcode221 ppapi/proxy/compositor_layer_resource.cc:221: ScopedPPResource(pp_resource()), // Keep layer alive. On 2014/06/11 00:21:06, raymes ...
6 years, 6 months ago (2014-06-11 01:43:11 UTC) #24
raymes
https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc File ppapi/proxy/compositor_layer_resource.cc (right): https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc#newcode221 ppapi/proxy/compositor_layer_resource.cc:221: ScopedPPResource(pp_resource()), // Keep layer alive. Ok that seems reasonable. ...
6 years, 6 months ago (2014-06-12 02:31:25 UTC) #25
raymes
On 2014/06/12 02:31:25, raymes wrote: > https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc > File ppapi/proxy/compositor_layer_resource.cc (right): > > https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc#newcode221 > ...
6 years, 6 months ago (2014-06-12 02:33:32 UTC) #26
Peng
https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc File ppapi/proxy/compositor_layer_resource.cc (right): https://codereview.chromium.org/298023004/diff/270001/ppapi/proxy/compositor_layer_resource.cc#newcode221 ppapi/proxy/compositor_layer_resource.cc:221: ScopedPPResource(pp_resource()), // Keep layer alive. On 2014/06/12 02:31:25, raymes ...
6 years, 6 months ago (2014-06-12 14:24:36 UTC) #27
Peng
+dcheng +nasko for ppapi/proxy/ppapi_messages.h PTAL. Thanks.
6 years, 6 months ago (2014-06-12 14:27:11 UTC) #28
piman
LGTM for my parts.
6 years, 6 months ago (2014-06-12 16:58:07 UTC) #29
nasko
Couple of comments. https://codereview.chromium.org/298023004/diff/430001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/430001/content/renderer/pepper/pepper_compositor_host.cc#newcode323 content/renderer/pepper/pepper_compositor_host.cc:323: new scoped_ptr<base::SharedMemory>[layers.size()]); nit: You should verify ...
6 years, 6 months ago (2014-06-13 17:23:01 UTC) #30
piman
https://codereview.chromium.org/298023004/diff/430001/ppapi/proxy/compositor_resource.cc File ppapi/proxy/compositor_resource.cc (right): https://codereview.chromium.org/298023004/diff/430001/ppapi/proxy/compositor_resource.cc#newcode113 ppapi/proxy/compositor_resource.cc:113: DCHECK(it != release_callback_map_.end()) << On 2014/06/13 17:23:01, nasko wrote: ...
6 years, 6 months ago (2014-06-13 17:30:05 UTC) #31
nasko
https://codereview.chromium.org/298023004/diff/430001/ppapi/proxy/compositor_resource.cc File ppapi/proxy/compositor_resource.cc (right): https://codereview.chromium.org/298023004/diff/430001/ppapi/proxy/compositor_resource.cc#newcode113 ppapi/proxy/compositor_resource.cc:113: DCHECK(it != release_callback_map_.end()) << On 2014/06/13 17:30:05, piman wrote: ...
6 years, 6 months ago (2014-06-13 17:38:49 UTC) #32
Peng
https://codereview.chromium.org/298023004/diff/430001/content/renderer/pepper/pepper_compositor_host.cc File content/renderer/pepper/pepper_compositor_host.cc (right): https://codereview.chromium.org/298023004/diff/430001/content/renderer/pepper/pepper_compositor_host.cc#newcode323 content/renderer/pepper/pepper_compositor_host.cc:323: new scoped_ptr<base::SharedMemory>[layers.size()]); On 2014/06/13 17:23:01, nasko wrote: > nit: ...
6 years, 6 months ago (2014-06-13 18:04:06 UTC) #33
nasko
lgtm
6 years, 6 months ago (2014-06-13 18:27:15 UTC) #34
Peng
Thanks everyone for reviewing.
6 years, 6 months ago (2014-06-13 18:29:17 UTC) #35
Peng
The CQ bit was checked by penghuang@chromium.org
6 years, 6 months ago (2014-06-13 18:29:31 UTC) #36
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/penghuang@chromium.org/298023004/450001
6 years, 6 months ago (2014-06-13 18:31:30 UTC) #37
Peng
The CQ bit was checked by penghuang@chromium.org
6 years, 6 months ago (2014-06-13 18:49:15 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/penghuang@chromium.org/298023004/470001
6 years, 6 months ago (2014-06-13 18:50:06 UTC) #39
Peng
The CQ bit was checked by penghuang@chromium.org
6 years, 6 months ago (2014-06-13 20:01:10 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/penghuang@chromium.org/298023004/490001
6 years, 6 months ago (2014-06-13 20:01:34 UTC) #41
Peng
The CQ bit was checked by penghuang@chromium.org
6 years, 6 months ago (2014-06-13 23:21:45 UTC) #42
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/penghuang@chromium.org/298023004/510001
6 years, 6 months ago (2014-06-13 23:25:11 UTC) #43
commit-bot: I haz the power
Change committed as 277208
6 years, 6 months ago (2014-06-14 08:41:29 UTC) #44
Peng
The CQ bit was checked by penghuang@chromium.org
6 years, 6 months ago (2014-06-16 14:16:56 UTC) #45
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/penghuang@chromium.org/298023004/510001
6 years, 6 months ago (2014-06-16 14:18:26 UTC) #46
commit-bot: I haz the power
6 years, 6 months ago (2014-06-16 14:20:30 UTC) #47
Message was sent while issue was closed.
Change committed as 277422

Powered by Google App Engine
This is Rietveld 408576698