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

Issue 2790673003: Aura-Mus: Enable Surface Synchronization behind flag (Closed)

Created:
3 years, 8 months ago by Fady Samuel
Modified:
3 years, 8 months ago
Reviewers:
danakj, sadrul, piman
CC:
chromium-reviews, sadrul, Ian Vollick, jbauman+watch_chromium.org, piman+watch_chromium.org, kalyank, danakj+watch_chromium.org, cc-bugs_chromium.org
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

Aura-Mus: Enable Surface Synchronization behind flag This CL turns on surface synchronization in Aura-Mus behind a flag. Iff surface synchronization is enabled, then we can embed a child client if both the FrameSinkId and LocalSurfaceId are known to the parent. The FrameSinkId is allocated by the window server and so the parent is informed of it asynchronously. Once both pieces of data are known, the parent manufactures a SurfaceInfo with the desired size, and device scale factor and embeds the child. The display compositor will block the parent's frame UNTIL the child has submitted a CompositorFrame or a deadline has passed. There are several known issues to be fixed in subsequent CLs: 1. Guttering should be done in the display compositor if the background color of the CompositorFrame is opaque. 2. Auto-resizing where the child asks the parent for a size (Blink in particular) does not yet work correctly. 3. Resize is currently propagated from the browser ot the renderer but the LocalSurfaceId is coming from the window server. This results in a race where the renderer may use the wrong SurfaceId to submit a frame. This could result in more guttering than necessary. 4. We do not throttle input events or BeginFrames (AFAICT) on clients that have blocked CompostiorFrames. This will further improve performance. 5. We do not yet scope deadlines to a single surface subtree. BUG=672962 Review-Url: https://codereview.chromium.org/2790673003 Cr-Commit-Position: refs/heads/master@{#461170} Committed: https://chromium.googlesource.com/chromium/src/+/5eda1f753751a5c38367cd4f3db8fbf38c180d40

Patch Set 1 #

Patch Set 2 : Added comments #

Patch Set 3 : Added unit test #

Total comments: 8

Patch Set 4 : Addressed Sadrul's comments #

Total comments: 4

Patch Set 5 : Addressed Sadrul's comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+122 lines, -12 lines) Patch
M ui/aura/mus/client_surface_embedder.h View 1 2 3 1 chunk +4 lines, -0 lines 0 comments Download
M ui/aura/mus/client_surface_embedder.cc View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M ui/aura/mus/window_mus.h View 1 chunk +1 line, -0 lines 0 comments Download
M ui/aura/mus/window_port_mus.h View 1 2 3 2 chunks +3 lines, -1 line 0 comments Download
M ui/aura/mus/window_port_mus.cc View 1 2 3 5 chunks +47 lines, -10 lines 0 comments Download
M ui/aura/mus/window_tree_client.cc View 1 2 3 4 1 chunk +12 lines, -1 line 0 comments Download
M ui/aura/mus/window_tree_client_unittest.cc View 1 2 1 chunk +35 lines, -0 lines 0 comments Download
M ui/compositor/layer.h View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M ui/compositor/layer.cc View 1 2 3 4 1 chunk +11 lines, -0 lines 0 comments Download

Messages

Total messages: 33 (23 generated)
Fady Samuel
PTAL Sadrul. Working on unit test(s) in parallel.
3 years, 8 months ago (2017-03-30 18:40:53 UTC) #3
Fady Samuel
PTAL Sadrul! I've added a unit test.
3 years, 8 months ago (2017-03-30 19:49:02 UTC) #8
sadrul
Looks good. I have a question about what happens to the fallback surface with the ...
3 years, 8 months ago (2017-03-31 01:26:20 UTC) #12
Fady Samuel
PTAL sadrul@ +piman@ for ui/compositor https://codereview.chromium.org/2790673003/diff/40001/ui/aura/mus/client_surface_embedder.h File ui/aura/mus/client_surface_embedder.h (right): https://codereview.chromium.org/2790673003/diff/40001/ui/aura/mus/client_surface_embedder.h#newcode33 ui/aura/mus/client_surface_embedder.h:33: void SetFallbackSurfaceInfo(const cc::SurfaceInfo& surface_info); ...
3 years, 8 months ago (2017-03-31 01:57:43 UTC) #14
sadrul
I left a couple of questions to clarify when/where the primary-surface is set when surface-sync ...
3 years, 8 months ago (2017-03-31 05:23:00 UTC) #19
Fady Samuel
Thanks Sadrul! PTAL Antoine! This is trivial plumbing in ui::Layer at this point :-) As ...
3 years, 8 months ago (2017-03-31 12:51:27 UTC) #22
Fady Samuel
I just realized Antoine is OOO today. Adding danakj@ PTAL
3 years, 8 months ago (2017-03-31 17:43:50 UTC) #26
danakj
LGTM
3 years, 8 months ago (2017-03-31 17:55:38 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2790673003/80001
3 years, 8 months ago (2017-03-31 18:00:43 UTC) #30
commit-bot: I haz the power
3 years, 8 months ago (2017-03-31 18:07:22 UTC) #33
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as
https://chromium.googlesource.com/chromium/src/+/5eda1f753751a5c38367cd4f3db8...

Powered by Google App Engine
This is Rietveld 408576698