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

Issue 11316128: Send compositor frame IPC with metadata. (Closed)

Created:
8 years, 1 month ago by aelias_OOO_until_Jul13
Modified:
8 years ago
Reviewers:
danakj, jschuh, piman
CC:
chromium-reviews, cc-bugs_chromium.org, wjmaclean_google.com, Ted C
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Send compositor frame IPC with metadata. This makes CompositorFrame contain one of two payloads: DelegatedFrameData for ubercomp and GLFrameData for the Aura model. This also adds CompositorFrameMetadata containing information useful for positioning subwindows relative to the webpage scroll position. The message is sent when a new switch --enable-compositor-frame-message is set. This is enabled by default on Android and also suppresses Android-specific UpdateFrameInfo messages, which will be superceded by CompositorFrameMetadata. BUG=152337, 161945 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=173634

Patch Set 1 #

Total comments: 2

Patch Set 2 : Chromium style #

Patch Set 3 : Hacky sending up the metadata to Android code. Based on 172452 #

Patch Set 4 : Clean up and rebase to 173167 #

Total comments: 26

Patch Set 5 : Fix all nits except for enum validation #

Patch Set 6 : Replace inheritance with composition #

Patch Set 7 : Fix unit tests #

Total comments: 1

Patch Set 8 : Switch mailbox to cc::Mailbox #

Patch Set 9 : Fix unit tests #

Patch Set 10 : Rebase to 173477 #

Patch Set 11 : Fix compile errors on mac/win #

Unified diffs Side-by-side diffs Delta from patch set Stats (+354 lines, -85 lines) Patch
M cc/cc.gyp View 1 2 3 4 5 6 7 8 9 3 chunks +6 lines, -0 lines 0 comments Download
M cc/compositor_frame.h View 1 2 3 4 5 2 chunks +7 lines, -7 lines 0 comments Download
A cc/compositor_frame_metadata.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +39 lines, -0 lines 0 comments Download
A cc/compositor_frame_metadata.cc View 1 2 3 4 1 chunk +18 lines, -0 lines 0 comments Download
A + cc/delegated_frame_data.h View 1 2 3 4 5 3 chunks +6 lines, -6 lines 0 comments Download
A + cc/delegated_frame_data.cc View 1 2 3 4 5 1 chunk +3 lines, -3 lines 0 comments Download
A + cc/gl_frame_data.h View 1 2 3 4 5 6 7 1 chunk +11 lines, -7 lines 0 comments Download
A + cc/gl_frame_data.cc View 1 2 3 4 5 1 chunk +5 lines, -3 lines 0 comments Download
M cc/gl_renderer.h View 1 2 3 4 5 6 7 8 9 5 chunks +4 lines, -6 lines 0 comments Download
M cc/gl_renderer.cc View 1 2 3 4 5 6 7 8 9 3 chunks +16 lines, -4 lines 0 comments Download
M cc/gl_renderer_pixeltest.cc View 1 2 3 4 5 6 7 8 9 3 chunks +6 lines, -1 line 0 comments Download
M cc/gl_renderer_unittest.cc View 1 2 3 4 5 6 7 8 9 13 chunks +21 lines, -19 lines 0 comments Download
M cc/layer_tree_host_impl.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download
M cc/layer_tree_host_impl.cc View 1 2 3 4 5 6 7 8 9 3 chunks +22 lines, -1 line 0 comments Download
M cc/layer_tree_host_impl_unittest.cc View 1 2 3 4 5 6 7 8 9 4 chunks +7 lines, -4 lines 0 comments Download
M cc/layer_tree_settings.h View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M cc/layer_tree_settings.cc View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download
M cc/renderer.h View 1 2 3 4 5 6 7 8 9 2 chunks +2 lines, -0 lines 0 comments Download
M cc/software_renderer_unittest.cc View 1 2 3 4 5 6 7 8 9 2 chunks +3 lines, -0 lines 0 comments Download
M cc/switches.h View 1 2 3 1 chunk +1 line, -0 lines 0 comments Download
M cc/switches.cc View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M cc/transferable_resource.h View 1 2 3 4 5 6 7 8 9 10 2 chunks +5 lines, -5 lines 0 comments Download
M cc/transferable_resource.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M content/browser/android/content_startup_flags.cc View 1 2 3 2 chunks +4 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.h View 1 2 3 4 5 2 chunks +5 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_widget_host_impl.cc View 1 2 3 4 5 4 chunks +23 lines, -0 lines 0 comments Download
M content/common/cc_messages.h View 1 2 3 4 5 6 7 3 chunks +24 lines, -0 lines 0 comments Download
M content/common/cc_messages.cc View 1 2 3 4 5 3 chunks +68 lines, -7 lines 0 comments Download
M content/common/cc_messages_unittest.cc View 1 2 3 4 5 6 7 8 3 chunks +11 lines, -9 lines 0 comments Download
M content/common/view_messages.h View 1 2 3 4 5 6 7 8 9 2 chunks +7 lines, -0 lines 0 comments Download
M content/renderer/gpu/compositor_output_surface.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/renderer/gpu/compositor_output_surface.cc View 1 2 3 4 5 3 chunks +9 lines, -2 lines 0 comments Download
M content/renderer/render_view_impl_android.cc View 1 2 3 2 chunks +10 lines, -0 lines 0 comments Download

Messages

Total messages: 20 (0 generated)
aelias_OOO_until_Jul13
Hi Antoine and Dana, Here's this data structure. Currently hanging out without any users, but ...
8 years, 1 month ago (2012-11-21 03:27:12 UTC) #1
danakj
https://codereview.chromium.org/11316128/diff/1/cc/compositor_frame_metadata.h File cc/compositor_frame_metadata.h (right): https://codereview.chromium.org/11316128/diff/1/cc/compositor_frame_metadata.h#newcode20 cc/compositor_frame_metadata.h:20: gfx::Vector2dF rootScrollOffset; new files in chromium style https://codereview.chromium.org/11316128/diff/1/cc/compositor_frame_metadata.h#newcode24 cc/compositor_frame_metadata.h:24: ...
8 years, 1 month ago (2012-11-21 03:39:07 UTC) #2
aelias_OOO_until_Jul13
On 2012/11/21 03:39:07, danakj wrote: > The browser compositor isn't going to be answering scroll ...
8 years, 1 month ago (2012-11-21 03:46:56 UTC) #3
aelias_OOO_until_Jul13
Hi Antoine, PTAL. This now pulls in some pieces of your ubercomp patch to make ...
8 years ago (2012-12-14 21:32:20 UTC) #4
piman
https://codereview.chromium.org/11316128/diff/9001/cc/compositor_frame.h File cc/compositor_frame.h (right): https://codereview.chromium.org/11316128/diff/9001/cc/compositor_frame.h#newcode16 cc/compositor_frame.h:16: ~CompositorFrame(); Don't we need a virtual destructor? https://codereview.chromium.org/11316128/diff/9001/cc/compositor_frame_metadata.cc File ...
8 years ago (2012-12-14 22:02:22 UTC) #5
danakj
https://codereview.chromium.org/11316128/diff/9001/cc/compositor_frame.h File cc/compositor_frame.h (right): https://codereview.chromium.org/11316128/diff/9001/cc/compositor_frame.h#newcode24 cc/compositor_frame.h:24: FrameType type; Can we set the type in the ...
8 years ago (2012-12-14 22:23:34 UTC) #6
aelias_OOO_until_Jul13
OK, to avoid the type enum, Antoine suggested offline that we avoid the inheritance hierarchy ...
8 years ago (2012-12-14 22:41:01 UTC) #7
aelias_OOO_until_Jul13
All done, PTAL. Responses to the nits below. https://codereview.chromium.org/11316128/diff/9001/cc/compositor_frame.h File cc/compositor_frame.h (right): https://codereview.chromium.org/11316128/diff/9001/cc/compositor_frame.h#newcode16 cc/compositor_frame.h:16: ~CompositorFrame(); ...
8 years ago (2012-12-15 00:06:17 UTC) #8
aelias_OOO_until_Jul13
Adding jschuh@ for IPC security review.
8 years ago (2012-12-15 00:07:58 UTC) #9
piman
LGTM+nit https://codereview.chromium.org/11316128/diff/20001/cc/gl_frame_data.h File cc/gl_frame_data.h (right): https://codereview.chromium.org/11316128/diff/20001/cc/gl_frame_data.h#newcode20 cc/gl_frame_data.h:20: std::string mailbox_name; nit: do you want to use ...
8 years ago (2012-12-15 01:10:36 UTC) #10
aelias_OOO_until_Jul13
Switched to cc::Mailbox.
8 years ago (2012-12-15 01:19:16 UTC) #11
piman
lgtm
8 years ago (2012-12-15 02:36:26 UTC) #12
aelias_OOO_until_Jul13
Ping for security review.
8 years ago (2012-12-17 19:10:58 UTC) #13
jschuh
Lgtm in isolation.
8 years ago (2012-12-17 20:19:30 UTC) #14
aelias_OOO_until_Jul13
FYI, the #include "third_party/khronos/GLES2/gl2.h" in transferable_resource.h was conflicting with platform OpenGL header on Mac in ...
8 years ago (2012-12-17 22:19:58 UTC) #15
piman
On Mon, Dec 17, 2012 at 2:19 PM, <aelias@chromium.org> wrote: > FYI, the #include "third_party/khronos/GLES2/**gl2.h" ...
8 years ago (2012-12-17 22:23:06 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/aelias@chromium.org/11316128/27001
8 years ago (2012-12-17 23:23:30 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/aelias@chromium.org/11316128/27001
8 years ago (2012-12-18 00:57:33 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/aelias@chromium.org/11316128/27001
8 years ago (2012-12-18 01:48:25 UTC) #19
commit-bot: I haz the power
8 years ago (2012-12-18 03:42:22 UTC) #20
Message was sent while issue was closed.
Change committed as 173634

Powered by Google App Engine
This is Rietveld 408576698