New issue
Advanced search Search tips

Issue 655231 link

Starred by 4 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on:
issue 672962
issue 676384

Blocking:
issue 696199
issue 732594



Sign in to add a comment

Mus: Investigate and Implement Direct Client-to-Client resize interface

Project Member Reported by fsam...@chromium.org, Oct 12 2016

Issue description

Resize is crazy expensive in Mus+Ash in terms of number of IPCs. There are two channels to resize: through the window server, and through mus-gpu=>window server. Today, if a parent wishes to resize a child, the following happens:

1. parent tells window server to resize child.
2. window server receives request and forwards it to the child.
3. the child resizes and submits a compositor frame with a new surface ID
4. mus-gpu receives the new surface ID and sends it over to mus-ws.
5. mus-ws identifies the parent and sends the parent the surface ID.
6. the parent receives the new surface ID, embeds it in a layer, and submits a new compositorframe to mus-gpu.

All of these steps are along the critical path. Note that this glosses over lifetime management. Those IPCs need not be along the critical path (they can happen in parallel).

We can simplify resize immensely with the following flow:

1. parent tells child to resize.
2. parent gets surface Id from child that is a promise for the new size.
3. parent embeds surface ID in layer, and submits a new CompositorFrame.

Let's evaluate the security, and lifetime management implications of this approach and let's implement it!
 
Cc: sadrul@chromium.org
Labels: Proj-Mustash-Milestone-Tadpole
Status: Available (was: Untriaged)
Cc: piman@chromium.org

Comment 4 by piman@chromium.org, Oct 12 2016

Beyond security, if the parent is UI and the child is a renderer, we need to keep the UI responsive even if the child takes long to layout/paint (and possibly raster, we talked a bit about tradeoffs there). How does that interact with the promise in #2 - at which point in the frame lifecycle would that new surface ID be sent?
enne@ and danakj@ proposed letting a embedder produce CompositorFrames with two surface_ids for a child -- an older one with an associated guttering policy and newer one more recently provided by the child. If the DisplayCompositor gets a CF for the newest surface_id from the child when handling the embedder's CF, use that one. Otherwise fall-back to the older one.

Also, certain children (in particular video) can be drawn at essentially any size by doing an aspect-preserving transformed draw in the Display Compositor. We need a mechanism to communicate this property both from child to embedder and from child to musgpu
The idea of a surface_id observer continues to be necessary even in this context as a mechanism by which the DisplayCompositor can confirm to embedders that their children did in fact submit one or more CFs for a promised surface_id.

Comment 7 by piman@chromium.org, Oct 12 2016

> If the DisplayCompositor gets a CF for the newest surface_id from the child when handling the embedder's CF, use that one. Otherwise fall-back to the older one.

FYI, this leads to poorer results than the current logic which delays (up to a small timeout) UI frames until a properly sized child frame is available. This allows "perfect" frames to happen, possibly at a lower frame rate, during resize. It looks better than 60fps frames that are all guttering.

Comment 8 by danakj@chromium.org, Oct 12 2016

The intended suggestion was that we'd fallback to the old surface id after a timeout.
I think we can introduce the same kinds of delays in a new mechanism but entirely in mus-gpu? Perhaps we can delay generating a new frame until a timeout if we have an unresolved surface ID?

Comment 10 by piman@chromium.org, Oct 12 2016

We can, but that kinda means introducing UI concepts ("we're in the middle of resizing") in mus-gpu.
Could it be part of the DrawQuad or CompositorFrame? "Delay compositing for x ms until surface ID resolution". I guess I don't think of it as a "resize" concept so much as a best-effort frame synchronization primitive for multiple clients.
To clarify, when a new surface ID is allocated is decided outside of mus-gpu. Synchronizing across clients via surface IDs happens in gpu. Policy is a UI concept and implementation is a gpu concept. WDYT?

Comment 13 by piman@chromium.org, Oct 12 2016

Ok. We can try that. I worry a bit that we'll end up wanting to encode complex logic in the quad list, but if we can keep it scoped, we can give it a try.
Blocking: 601863
Blocking:
Components: MUS
Labels: displaycompositor Proj-Mustash
Antoine proposed that the embedder allocate the LocalFrameId and pass it along with a resize to the embeddee. This is really cool because the embedder can plug the SurfaceId of the child immediately in a SurfaceDrawQuad, instead of waiting for the child to generate a LocalFrameId and tell the parent about it. This gives us a little extra parallelism.

The embedder in the case of the top level page continues to be the browser process which means that DelegatedFrameHost logic likely doesn't change all that much. Another win! Yay! The whole resize flow is super complicated in Chrome today and so we really need to trim this down to a single IPC. ViewMsg_Resize seems largely redundant here.

Note that LocalFrameIds will also change due to device scale factor. New LocalFrameIds are also generated for top bar controll scrolling as can be seen in DelegatedFrameHostAndroid: https://cs.chromium.org/chromium/src/ui/android/delegated_frame_host_android.cc?sq=package:chromium&l=115

Blocking: 676384
Blockedon: 672962
Direct client-to-client resize in #16 introduces a race: the parent can submit a CompositorFrame referencing a surface ID that does not yet have an associated CompositorFrame. We need a synchronization mechanism to deal with this. Thus this bug is blocked on 672962
Owner: fsam...@chromium.org
Status: Assigned (was: Available)
I've been thinking deeply about this and prototyping locally for the last couple of weeks the subcomponents necessary to make this possible. I'll take ownership of this bug.
Blocking:
Components: Internals>Compositing
Basic Surface synchronization has landed in cc last week. This unblocks this task. I'll complete this in multiple stages.

First, I'll make changes in aura-mus. Currently, the mus window server needs to know where all windows are for event targeting. In the future, event targeting will be based on what's on screen according to the display compositor. Full direct client-to-client resize will not be possible until event targeting is determined by the display compositor.

Until then, the parent will allocate a LocalSurfaceId for the child and pass along that LocalSurfaceId to the child on new window creation and resize.

Note that surface synchronization is insufficient for smooth resize. Currently aura continues to issue resize requests to the child window even if the screen is not being updated. We need to mitigate this by throttling input, ideally in the window server.

Furthermore, the display compositor continues to issue BeginFrames to clients with pending CompositorFrames. We should pause BeginFrames until the deadline hits or surface Ids resolve.

We could also throttle resize operations in the window server.

Once we have surface-based hit testing (event targeting in Mus-Gpu), the window server does not need to be directly involved in resize. In a nutshell, on new window creation, the parent would create a MessagePipe and pass along one end to the window server which would pass along that end to the child. From that point forward, the parent can communicate directly with the child.
Cc: mfomitchev@chromium.org
Blocking: 696199
Components: Internals>MUS
Labels: Type-Feature
Cc: weiliangc@chromium.org
Cc: varkha@chromium.org
Blockedon: 676384
Blocking: -676384
Blocking: -601863 732594
Components: -Internals>MUS
Now that surface references is available in Chrome (behind the flag --enable-surface-references), I'm going to go back to enabling this in content-based Chrome.

It seems like I just need to give ui::Compositor::SetScaleAndSize a viz::LocalSurfaceId and plumb that through to LayerTreeHost.

This is used by WindowTreeHost: https://cs.chromium.org/chromium/src/ui/aura/window_tree_host.cc?type=cs&sq=package:chromium&l=313

For the renderer, most of the plumbing already in place:

https://cs.chromium.org/chromium/src/content/browser/renderer_host/render_widget_host_view_aura.cc?sq=package:chromium&l=2154

What I'll try to do is give all aura::Windows the accessor GetLocalSurfaceId removing the special case for Mus.


Cc: samans@chromium.org
Cc: -mfomitchev@chromium.org
Components: -MUS Internals>Services>WindowService
Labels: -Proj-Mustash-Mus
Migrating Proj-Mustash-Mus to components Internals>Services>WindowService and Internals>Services>Ash

Cc: kylec...@chromium.org jonr...@chromium.org
Components: -Internals>Services>WindowService Internals>Services>Viz
Bumping this and adding more people.

A ton of progress has been made toward this goal in the last few months. The protocol for this direct two-way channel is roughly this:

parent => child:

SynchronizeVisualProperties(const VisualProperties& visual_properties);

child => parent:

// TODO(fsamuel): RenderFrameMetadata ~= ChildVisualProperties
DidUpdateVisualProperties(const RenderFrameMetadata& metadata);


Currently, VisualProperties is the set of properties associated with a top level renderer whereas FrameVisualProperties are associated with OOPIFs. We should unify these.
Owner: jonr...@chromium.org
Assigning to jonross@ per discussion last week. This is not a surface sync or OOP-D blocker but is a very nice to have.
Labels: -Proj-Mustash
I don't believe this is a requirement for mash, so I'm removing the mash tag here. If I'm wrong, add back Proj-Mash.
Labels: -Proj-Mustash-Mus-GPU
Cleaning up old Proj-Mustash labels.
Project Member

Comment 40 by bugdroid1@chromium.org, Sep 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0179aee404cf258548dc163ab5e8ad7aafbfc486

commit 0179aee404cf258548dc163ab5e8ad7aafbfc486
Author: jonross <jonross@chromium.org>
Date: Mon Sep 10 18:53:53 2018

Remove Dead ViewHostMsg_ResizeOrRepaint_ACK_Flags

ViewHostMsg_ResizeOrRepaint_ACK_Flags is no longer used. This removes it and
updates the comments on ViewMsg_SynchronizeVisualProperties to reflec the
current reality.

TBR=piman@chromium.org

Bug: 655231
Change-Id: I388ab96bd0bdf46a84f4e1e92bd8378fcc4dd834
Reviewed-on: https://chromium-review.googlesource.com/1216069
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#590004}
[modify] https://crrev.com/0179aee404cf258548dc163ab5e8ad7aafbfc486/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/0179aee404cf258548dc163ab5e8ad7aafbfc486/content/common/BUILD.gn
[modify] https://crrev.com/0179aee404cf258548dc163ab5e8ad7aafbfc486/content/common/accessibility_messages.h
[delete] https://crrev.com/5bc2e3de5bc4ff19baa646ed1a820883f2effb1e/content/common/view_message_enums.h
[modify] https://crrev.com/0179aee404cf258548dc163ab5e8ad7aafbfc486/content/common/view_messages.h
[modify] https://crrev.com/0179aee404cf258548dc163ab5e8ad7aafbfc486/content/renderer/accessibility/render_accessibility_impl_browsertest.cc
[modify] https://crrev.com/0179aee404cf258548dc163ab5e8ad7aafbfc486/content/renderer/pepper/plugin_power_saver_helper_browsertest.cc
[modify] https://crrev.com/0179aee404cf258548dc163ab5e8ad7aafbfc486/content/renderer/render_view_impl.h
[modify] https://crrev.com/0179aee404cf258548dc163ab5e8ad7aafbfc486/content/test/accessibility_browser_test_utils.cc

Project Member

Comment 41 by bugdroid1@chromium.org, Oct 23

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/180dc4857e1d4c008ff9eda96835f9990ead6d57

commit 180dc4857e1d4c008ff9eda96835f9990ead6d57
Author: jonross <jonross@chromium.org>
Date: Tue Oct 23 21:22:09 2018

Send Allocation Time Alongside LocalSurfaceIds

We'd like to be able to measure the impact of Surface Synchronization. To do
this we want to know how long elapses from LocalSurfaceId allocation until the
Surface is embedded by Viz.

This change has both ParentLocalSurfaceIdAllocator and ChildLocalSurfaceIdAllocator
also save the allocation time.

Then adds piping so that the allocation time is forwarded all the way to Viz.
Where the delta is calculated.

Bug: 655231
TEST: Manual testing of histograms reports on Android, Windows, Mac, Linux, Chrome OS.
And running all associated unit tests.

Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ie3eb35cfe6b5e68b1c113824e3bc79ea99a989e8
Reviewed-on: https://chromium-review.googlesource.com/c/1281231
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Jesse Doherty <jwd@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#602102}
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ash/host/ash_window_tree_host_platform.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ash/host/ash_window_tree_host_platform.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ash/host/ash_window_tree_host_unified.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ash/host/ash_window_tree_host_unified.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ash/wm/non_client_frame_controller_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/layers/scrollbar_layer_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/layers/surface_layer_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/layers/texture_layer_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/test/layer_tree_test.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_common_perftest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_perftest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_unittest_damage.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_unittest_masks.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_host_unittest_picture.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/cc/trees/render_frame_metadata.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/common/quads/compositor_frame_metadata.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/common/surfaces/child_local_surface_id_allocator.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/common/surfaces/child_local_surface_id_allocator.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/common/surfaces/child_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/common/surfaces/parent_local_surface_id_allocator.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/common/surfaces/parent_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/service/display/bsp_tree_perftest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/service/display_embedder/software_output_device_ozone_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/components/viz/service/surfaces/surface.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/browser_compositor_view_mac.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/compositor_impl_android.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/frame_connector_delegate.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/frame_connector_delegate.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_base.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/common/frame_messages.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/common/frame_visual_properties.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/common/render_frame_metadata.mojom
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/common/render_frame_metadata_struct_traits.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/common/render_frame_metadata_struct_traits.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/common/visual_properties.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/common/widget_messages.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/browser_plugin/browser_plugin.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/gpu/layer_tree_view.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/gpu/layer_tree_view.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/media/stream/webmediaplayer_ms.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/media/stream/webmediaplayer_ms_compositor.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/media/stream/webmediaplayer_ms_compositor.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/media/stream/webmediaplayer_ms_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/render_frame_proxy.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/render_widget.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/content/renderer/render_widget.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/headless/lib/browser/headless_browser_impl_aura.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/headless/lib/browser/headless_window_tree_host.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/headless/lib/browser/headless_window_tree_host.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/media/blink/video_frame_compositor.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/media/blink/video_frame_compositor.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/media/blink/video_frame_compositor_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/media/blink/webmediaplayer_impl.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/media/blink/webmediaplayer_impl_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/services/viz/public/cpp/compositing/compositor_frame_metadata_struct_traits.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/services/viz/public/cpp/compositing/compositor_frame_metadata_struct_traits.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/services/viz/public/interfaces/compositing/compositor_frame_metadata.mojom
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/public/platform/web_surface_layer_bridge.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/public/platform/web_video_frame_submitter.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/renderer/core/exported/web_view_test.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/renderer/core/page/page_overlay_test.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/renderer/platform/graphics/surface_layer_bridge.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/renderer/platform/graphics/surface_layer_bridge.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/renderer/platform/graphics/video_frame_submitter.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/renderer/platform/graphics/video_frame_submitter_test.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/third_party/blink/renderer/platform/testing/viewport_layers_setup.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/tools/metrics/histograms/histograms.xml
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/local/window_port_local.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/mus/window_port_mus_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/mus/window_tree_host_mus.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/mus/window_tree_host_mus.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window_port.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window_port_for_shutdown.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window_port_for_shutdown.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window_tree_host.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window_tree_host.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window_tree_host_platform.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/aura/window_tree_host_platform.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/compositor.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/compositor.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/compositor_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/layer_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/recyclable_compositor_mac.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/test/test_compositor_host_android.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/test/test_compositor_host_mac.mm
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/test/test_compositor_host_ozone.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/test/test_compositor_host_win.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/compositor/test/test_compositor_host_x11.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/animation/square_ink_drop_ripple_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/view_unittest.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
[modify] https://crrev.com/180dc4857e1d4c008ff9eda96835f9990ead6d57/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h

Project Member

Comment 42 by bugdroid1@chromium.org, Oct 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b

commit c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b
Author: jonross <jonross@chromium.org>
Date: Tue Oct 30 01:31:35 2018

Create LocalSurfaceIdAllocation

Put together a new class to hold the pair of viz::LocalSurfaceId and its
allocation time.

We will begin using this in (Parent/Child)LocalSurfaceIdAllocator.

Bug: 655231
Change-Id: I7f5c57a8d812eca28f3d68f783b58c989659c2c4
Reviewed-on: https://chromium-review.googlesource.com/c/1306113
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603721}
[modify] https://crrev.com/c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b/components/viz/common/BUILD.gn
[modify] https://crrev.com/c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b/components/viz/common/surfaces/child_local_surface_id_allocator.cc
[modify] https://crrev.com/c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b/components/viz/common/surfaces/child_local_surface_id_allocator.h
[add] https://crrev.com/c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b/components/viz/common/surfaces/local_surface_id_allocation.cc
[add] https://crrev.com/c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b/components/viz/common/surfaces/local_surface_id_allocation.h
[modify] https://crrev.com/c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/c06b133a6d8a2e69cd20a94b94fb3d0505f60a7b/components/viz/common/surfaces/parent_local_surface_id_allocator.h

Project Member

Comment 43 by bugdroid1@chromium.org, Oct 30

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/89807fca83a9da0f034fe6be50364b4b6acb539e

commit 89807fca83a9da0f034fe6be50364b4b6acb539e
Author: Jonathan Ross <jonross@chromium.org>
Date: Tue Oct 30 17:41:21 2018

Change ParentLocalSurfaceIdAllocator GenerateId

We'd like to eventually remove the caching of LocalSurfaceIds everywhere. As a
step along the way, this updates ParentLocalSurfaceIdAllocator::GenerateId to
be a void method.

The rest is a mechanical refactor of the callsites, switching them to the
pre-existing ParentLocalSurfaceIdAllocator::GetCurrentLocalSurfaceId to cache.
We'll update each area separately in follow ups to remove the caches.

TBR=sky@chromium.org
TBR=yfriedman@chromium.org
TBR=boliu@chromium.org

Bug: 655231
Change-Id: I706e66b9d4a9a594f9a61eb15d2a1505fc0e9ead
Reviewed-on: https://chromium-review.googlesource.com/c/1307693
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#603949}
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/android_webview/browser/hardware_renderer.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/android_webview/browser/surfaces_instance.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/common/surfaces/child_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/common/surfaces/parent_local_surface_id_allocator.h
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/common/surfaces/parent_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/service/display/display_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/service/display/surface_aggregator_pixeltest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/service/display/surface_aggregator_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/service/frame_sinks/frame_sink_manager_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/service/frame_sinks/video_detector_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/service/surfaces/surface_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/components/viz/test/test_layer_tree_frame_sink.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/content/renderer/android/synchronous_layer_tree_frame_sink.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/services/ws/client_root.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/ui/android/delegated_frame_host_android_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/ui/aura/mus/window_port_mus_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/ui/compositor/layer_unittest.cc
[modify] https://crrev.com/89807fca83a9da0f034fe6be50364b4b6acb539e/ui/compositor/recyclable_compositor_mac.cc

Project Member

Comment 44 by bugdroid1@chromium.org, Oct 31

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c88fa75bbe537b73505950c023ec2d54ff09445d

commit c88fa75bbe537b73505950c023ec2d54ff09445d
Author: jonross <jonross@chromium.org>
Date: Wed Oct 31 02:57:49 2018

Change ChildLocalSurfaceIdAllocator GenerateId

We'd like to eventually remove the caching of LocalSurfaceIds everywhere. As a
step along the way, this updates ChildLocalSurfaceIdAllocator::GenerateId to
be a void method.

The rest is a mechanical refactor of the callsites, switching them to the
pre-existing ChildLocalSurfaceIdAllocator::GetCurrentLocalSurfaceId to cache.
We'll update each area separately in follow ups to remove the caches.

Bug: 655231
Change-Id: I2107e95a1938e046ed994d4106d86e7be887720d
Reviewed-on: https://chromium-review.googlesource.com/c/1307875
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604126}
[modify] https://crrev.com/c88fa75bbe537b73505950c023ec2d54ff09445d/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/c88fa75bbe537b73505950c023ec2d54ff09445d/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/c88fa75bbe537b73505950c023ec2d54ff09445d/components/viz/common/surfaces/child_local_surface_id_allocator.cc
[modify] https://crrev.com/c88fa75bbe537b73505950c023ec2d54ff09445d/components/viz/common/surfaces/child_local_surface_id_allocator.h
[modify] https://crrev.com/c88fa75bbe537b73505950c023ec2d54ff09445d/components/viz/common/surfaces/child_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/c88fa75bbe537b73505950c023ec2d54ff09445d/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Project Member

Comment 45 by bugdroid1@chromium.org, Nov 1

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a2a1aecd8f587417aedc697e90d1bf7b7b9757d0

commit a2a1aecd8f587417aedc697e90d1bf7b7b9757d0
Author: Fady Samuel <fsamuel@chromium.org>
Date: Thu Nov 01 13:38:23 2018

viz: Fix (Parent|Child)LocalSurfaceIdAllocator allocation time on merge

When parent-allocated and child-allocated LocalSurfaceIds are merged,
a new LocalSurfaceId may result which represents a new allocation. The
allocation timestamp was not updated upon this UpdateFrom(Child|Parent).

This CL fixes that and adds corresponding unit tests. The existing unit
test framework is also cleaned up a bit.

Change-Id: I41038c281c6a2de48a1e3c36ae871018bbb842e8
Bug: 655231
Reviewed-on: https://chromium-review.googlesource.com/c/1310117
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#604568}
[modify] https://crrev.com/a2a1aecd8f587417aedc697e90d1bf7b7b9757d0/components/viz/common/surfaces/child_local_surface_id_allocator.cc
[modify] https://crrev.com/a2a1aecd8f587417aedc697e90d1bf7b7b9757d0/components/viz/common/surfaces/child_local_surface_id_allocator.h
[modify] https://crrev.com/a2a1aecd8f587417aedc697e90d1bf7b7b9757d0/components/viz/common/surfaces/child_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/a2a1aecd8f587417aedc697e90d1bf7b7b9757d0/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/a2a1aecd8f587417aedc697e90d1bf7b7b9757d0/components/viz/common/surfaces/parent_local_surface_id_allocator.h
[modify] https://crrev.com/a2a1aecd8f587417aedc697e90d1bf7b7b9757d0/components/viz/common/surfaces/parent_local_surface_id_allocator_unittest.cc

Project Member

Comment 46 by bugdroid1@chromium.org, Nov 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b655f45f1bc6fad89d2d03a358341debb45cf3b2

commit b655f45f1bc6fad89d2d03a358341debb45cf3b2
Author: Fady Samuel <fsamuel@chromium.org>
Date: Tue Nov 06 00:48:34 2018

viz: Plumb LocalSurfaceIdAllocation to more places

viz::LocalSurfaceIdAllocation bundles a viz::LocalSurfaceId and an
allocation time for that viz::LocalSurfaceId. The purpose of this allocation
time is to determine how long it takes for a surface to get embedded once
an ID has been allocated for it.

There was some concern raised about drift between LocalSurfaceIds and allocation
times and so a previous CL bundled the two together in a class. This CL plumbs
LocalSurfaceIdAllocation to more places to ensure the two quantities remain
in sync with one another.

Change-Id: I4d0ebf74c0a7825a61c133052a1dbfc5fbd37430
Bug: 655231
Reviewed-on: https://chromium-review.googlesource.com/c/1313408
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605547}
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/cc/trees/render_frame_metadata.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/cc/trees/render_frame_metadata.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/components/viz/common/surfaces/child_local_surface_id_allocator.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/components/viz/common/surfaces/child_local_surface_id_allocator.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/components/viz/common/surfaces/child_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/components/viz/common/surfaces/local_surface_id_allocation.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/components/viz/common/surfaces/parent_local_surface_id_allocator.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/components/viz/common/surfaces/parent_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/browser_plugin/browser_plugin_guest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/browser_plugin/browser_plugin_guest.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/frame_host/render_widget_host_view_guest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/frame_host/render_widget_host_view_guest.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/browser_compositor_view_mac.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_frame_metadata_provider_impl.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_frame_metadata_provider_impl.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_child_frame_browsertest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/web_contents/aura/overscroll_navigation_overlay_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/browser/web_contents/web_contents_view_android.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/common/content_param_traits.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/common/content_param_traits.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/common/frame_messages.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/common/render_frame_metadata.mojom
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/common/render_frame_metadata_struct_traits.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/common/render_frame_metadata_struct_traits.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/renderer/browser_plugin/browser_plugin.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/renderer/render_frame_metadata_observer_impl.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/content/renderer/render_frame_proxy.cc
[add] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/services/viz/public/cpp/compositing/local_surface_id_allocation.typemap
[add] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/services/viz/public/cpp/compositing/local_surface_id_allocation_struct_traits.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/services/viz/public/cpp/compositing/typemaps.gni
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/services/viz/public/interfaces/BUILD.gn
[add] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/services/viz/public/interfaces/compositing/local_surface_id_allocation.mojom
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/local/window_port_local.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/mus/window_mus.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/mus/window_port_mus_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/mus/window_tree_client.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/mus/window_tree_client_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/window.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/window.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/window_port.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/window_port_for_shutdown.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/window_port_for_shutdown.h
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/window_tree_host.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/aura/window_unittest.cc
[modify] https://crrev.com/b655f45f1bc6fad89d2d03a358341debb45cf3b2/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc

Project Member

Comment 47 by bugdroid1@chromium.org, Nov 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8d58b577f67b4224d3bad6cc0575f4157b0801ea

commit 8d58b577f67b4224d3bad6cc0575f4157b0801ea
Author: Fady Samuel <fsamuel@chromium.org>
Date: Tue Nov 06 22:21:37 2018

viz: Print FrameSink debug label on orphaned temporary references

FrameSink debug labels are useful to identify the client associated with a
particular FrameSink or Surface. This CL introduces the appropriate plumbing
to allow printing the FrameSink debug label given a FrameSinkId from the
surfaces layer. The debug label will now be printed if a temporary
reference is orphand and will be garbage collected.

Bug: 655231
Change-Id: I75abd9b6aff484fee946e2ee584bd9927a0b843c
Reviewed-on: https://chromium-review.googlesource.com/c/1320018
Reviewed-by: kylechar <kylechar@chromium.org>
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605846}
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/common/surfaces/frame_sink_id.cc
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/common/surfaces/frame_sink_id.h
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/common/surfaces/surface_id.cc
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/common/surfaces/surface_id.h
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/service/BUILD.gn
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/service/display/display_scheduler_unittest.cc
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/service/frame_sinks/frame_sink_manager_impl.cc
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/service/frame_sinks/frame_sink_manager_impl.h
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/service/surfaces/surface_manager.cc
[modify] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/service/surfaces/surface_manager.h
[add] https://crrev.com/8d58b577f67b4224d3bad6cc0575f4157b0801ea/components/viz/service/surfaces/surface_manager_delegate.h

Project Member

Comment 48 by bugdroid1@chromium.org, Nov 6

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c1ad369f6878ec6f12d2581035145ddb7b9edd9

commit 1c1ad369f6878ec6f12d2581035145ddb7b9edd9
Author: Fady Samuel <fsamuel@chromium.org>
Date: Tue Nov 06 23:28:40 2018

viz: Plumb LocalSurfaceIdAllocation to more places [part 2]

viz::LocalSurfaceIdAllocation bundles a viz::LocalSurfaceId and an
allocation time for that viz::LocalSurfaceId. The purpose of this allocation
time is to determine how long it takes for a surface to get embedded once
an ID has been allocated for it.

There was some concern raised about drift between LocalSurfaceIds and allocation
times and so a previous CL bundled the two together in a class. This CL plumbs
LocalSurfaceIdAllocation to more places to ensure the two quantities remain
in sync with one another.

This CL plumbs LocalSurfaceIdAllocation from ui::Compositor/RenderWidget to
LayerTreeHost to LayerTreeHostImpl.

Bug: 655231
Change-Id: I32b4734b187f4fb87dd3cb3e57a5ea86e0c4e359
Reviewed-on: https://chromium-review.googlesource.com/c/1318688
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605871}
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ash/host/ash_window_tree_host_platform.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ash/host/ash_window_tree_host_platform.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ash/host/ash_window_tree_host_unified.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ash/host/ash_window_tree_host_unified.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ash/wm/non_client_frame_controller_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/layers/scrollbar_layer_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/layers/surface_layer_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/layers/texture_layer_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/test/layer_tree_test.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_common_perftest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_perftest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_unittest_copyrequest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_unittest_damage.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_unittest_masks.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_host_unittest_picture.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/components/viz/service/display/bsp_tree_perftest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/components/viz/service/display_embedder/software_output_device_ozone_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/browser/renderer_host/compositor_impl_android.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/browser/renderer_host/compositor_impl_android.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/renderer/gpu/layer_tree_view.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/renderer/gpu/layer_tree_view.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/renderer/render_widget.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/renderer/render_widget.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/renderer/render_widget_browsertest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/content/renderer/render_widget_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/headless/lib/browser/headless_browser_impl_aura.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/headless/lib/browser/headless_window_tree_host.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/headless/lib/browser/headless_window_tree_host.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/third_party/blink/renderer/core/exported/web_view_test.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/third_party/blink/renderer/core/page/page_overlay_test.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/third_party/blink/renderer/platform/testing/viewport_layers_setup.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/aura/mus/window_tree_host_mus.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/aura/mus/window_tree_host_mus.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/aura/window_tree_host.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/aura/window_tree_host.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/aura/window_tree_host_platform.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/aura/window_tree_host_platform.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/compositor.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/compositor.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/compositor_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/layer_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/recyclable_compositor_mac.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/test/test_compositor_host_android.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/test/test_compositor_host_mac.mm
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/test/test_compositor_host_ozone.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/test/test_compositor_host_win.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/compositor/test/test_compositor_host_x11.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/animation/square_ink_drop_ripple_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/mus/desktop_window_tree_host_mus.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/mus/desktop_window_tree_host_mus.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/view_unittest.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/widget/desktop_aura/desktop_window_tree_host_win.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/widget/desktop_aura/desktop_window_tree_host_win.h
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.cc
[modify] https://crrev.com/1c1ad369f6878ec6f12d2581035145ddb7b9edd9/ui/views/widget/desktop_aura/desktop_window_tree_host_x11.h

Project Member

Comment 49 by bugdroid1@chromium.org, Nov 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/84d8a1f7a3d104907616f50986aa06746b1825e7

commit 84d8a1f7a3d104907616f50986aa06746b1825e7
Author: Fady Samuel <fsamuel@chromium.org>
Date: Thu Nov 08 00:26:17 2018

viz: Plumb LocalSurfaceIdAllocation to more places [part 3]

viz::LocalSurfaceIdAllocation bundles a viz::LocalSurfaceId and an
allocation time for that viz::LocalSurfaceId. The purpose of this allocation
time is to determine how long it takes for a surface to get embedded once
an ID has been allocated for it.

There was some concern raised about drift between LocalSurfaceIds and allocation
times and so a previous CL bundled the two together in a class. This CL plumbs
LocalSurfaceIdAllocation to more places to ensure the two quantities remain
in sync with one another.

This CL plumbs LocalSurfaceIdAllocation through VisualProperties which ensures
we plumb valid timestamps from the browser to the renderer.

Change-Id: I4589a5835b82699de106b28cac4a85776975a1bf
Bug: 655231
Reviewed-on: https://chromium-review.googlesource.com/c/1321791
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606245}
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/components/viz/common/surfaces/parent_local_surface_id_allocator.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/browser_plugin/browser_plugin_guest.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/browser_plugin/browser_plugin_guest.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/frame_host/cross_process_frame_connector.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/frame_host/render_widget_host_view_guest.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/frame_host/render_widget_host_view_guest.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/browser_compositor_view_mac.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/frame_connector_delegate.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/frame_connector_delegate.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_base.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/common/visual_properties.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/common/widget_messages.h
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/renderer/render_view_browsertest.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/renderer/render_widget.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/renderer/render_widget_browsertest.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/renderer/render_widget_unittest.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/test/test_render_view_host.cc
[modify] https://crrev.com/84d8a1f7a3d104907616f50986aa06746b1825e7/content/test/test_render_view_host.h

Project Member

Comment 50 by bugdroid1@chromium.org, Nov 8

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b6b52ea6880ee965f9e51441db277a63cea909fe

commit b6b52ea6880ee965f9e51441db277a63cea909fe
Author: Fady Samuel <fsamuel@chromium.org>
Date: Thu Nov 08 20:34:49 2018

viz: Plumb LocalSurfaceIdAllocation to more places [part 4]

viz::LocalSurfaceIdAllocation bundles a viz::LocalSurfaceId and an
allocation time for that viz::LocalSurfaceId. The purpose of this allocation
time is to determine how long it takes for a surface to get embedded once
an ID has been allocated for it.

There was some concern raised about drift between LocalSurfaceIds and allocation
times and so a previous CL bundled the two together in a class. This CL plumbs
LocalSurfaceIdAllocation to more places to ensure the two quantities remain
in sync with one another.

This CL plumbs LocalSurfaceIdAllocation through FrameVisualProperties which
ensures we plumb valid timestamps from a parent renderer to the browser and
ultimately to child renderers.

Bug: 655231
Change-Id: I1cb7e3e3acacc4fc5398d65f6f62892a2127346d
Reviewed-on: https://chromium-review.googlesource.com/c/1324097
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606590}
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/browser/browser_plugin/browser_plugin_guest.cc
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/browser/browser_plugin/browser_plugin_guest.h
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/browser/frame_host/cross_process_frame_connector.cc
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/browser/frame_host/cross_process_frame_connector.h
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/browser/renderer_host/frame_connector_delegate.cc
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/browser/renderer_host/frame_connector_delegate.h
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/common/browser_plugin/browser_plugin_messages.h
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/common/frame_messages.h
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/common/frame_visual_properties.h
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/public/test/browser_test_utils.cc
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/public/test/browser_test_utils.h
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/renderer/browser_plugin/browser_plugin.cc
[modify] https://crrev.com/b6b52ea6880ee965f9e51441db277a63cea909fe/content/renderer/render_frame_proxy.cc

Project Member

Comment 51 by bugdroid1@chromium.org, Nov 9

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7e806513b1b91da6e96a56bfd3ca5f464c4666b9

commit 7e806513b1b91da6e96a56bfd3ca5f464c4666b9
Author: Fady Samuel <fsamuel@chromium.org>
Date: Fri Nov 09 17:36:34 2018

viz: Plumb LocalSurfaceIdAllocation to more places [part 5]

viz::LocalSurfaceIdAllocation bundles a viz::LocalSurfaceId and an
allocation time for that viz::LocalSurfaceId. The purpose of this allocation
time is to determine how long it takes for a surface to get embedded once
an ID has been allocated for it.

There was some concern raised about drift between LocalSurfaceIds and allocation
times and so a previous CL bundled the two together in a class. This CL plumbs
LocalSurfaceIdAllocation to more places to ensure the two quantities remain
in sync with one another.

This CL plumbs removes various accessors on ChildLocalSurfaceIdAllocator and
ParentLocalSurfaceIdAllocator that return an allocation time or LocalSurfaceId
independent of the other. This is to encourage future plumbing of
LocalSurfaceIdAllocation instead.

Bug: 655231
Change-Id: I3118cc06e0afa04914a0e2e7457ffdfd5ad5778d
Reviewed-on: https://chromium-review.googlesource.com/c/1327573
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Chris Harrelson <chrishtr@chromium.org>
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606888}
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/cc/test/layer_tree_test.cc
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/cc/test/layer_tree_test.h
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/components/viz/common/surfaces/child_local_surface_id_allocator.h
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/components/viz/common/surfaces/child_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/components/viz/common/surfaces/parent_local_surface_id_allocator.h
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/components/viz/common/surfaces/parent_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/content/browser/renderer_host/render_widget_host_view_mac_unittest.mm
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/third_party/blink/renderer/platform/graphics/surface_layer_bridge.cc
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc
[modify] https://crrev.com/7e806513b1b91da6e96a56bfd3ca5f464c4666b9/third_party/blink/renderer/platform/graphics/video_frame_submitter_test.cc

Project Member

Comment 52 by bugdroid1@chromium.org, Nov 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efaf42e8094350105b5f2154d330825294a16a96

commit efaf42e8094350105b5f2154d330825294a16a96
Author: jonross <jonross@chromium.org>
Date: Mon Nov 12 16:28:33 2018

Stop auto generating LocalSurfaceId in ParentLocalSurfaceIdAllocator

Currently LocalSurfaceId allocation time is not always accurate.
This is because ParentLocalSurfaceIdAllocator generates on at creation time.

This change stops that, moving the generation to each of the times where
we need to first allocate an ID.

A few sites will need further investigation, as they seem to be accessing
the allocator ID, out of their normal allocation flow. Which would lead
to sending invalid LocalSurfaceIds. These will be addressed in follow-ups,
and for now just fallback to generating an ID at creation time.

BUG: 655231
Change-Id: I1e6c6b49f9b593896318814e50eea21b3671fb6b
Reviewed-on: https://chromium-review.googlesource.com/c/1312118
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607249}
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/client/local_surface_id_provider.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/common/surfaces/child_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/common/surfaces/parent_local_surface_id_allocator.h
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/common/surfaces/parent_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/service/display/surface_aggregator_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/service/surfaces/surface_hittest_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/components/viz/test/test_layer_tree_frame_sink.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/browser/renderer_host/render_widget_host_view_child_frame_browsertest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/browser/renderer_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/renderer/browser_plugin/browser_plugin.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/renderer/gpu/layer_tree_view_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/renderer/render_widget_browsertest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/content/renderer/render_widget_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/services/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/third_party/blink/renderer/platform/graphics/surface_layer_bridge.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/efaf42e8094350105b5f2154d330825294a16a96/ui/aura/mus/window_port_mus.cc

Project Member

Comment 53 by bugdroid1@chromium.org, Nov 14

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9fba4b500e9f3691a5b73f494fe5dc1da0cccf05

commit 9fba4b500e9f3691a5b73f494fe5dc1da0cccf05
Author: jonross <jonross@chromium.org>
Date: Wed Nov 14 00:30:18 2018

Stop Using ParentLocalSurfaceIdAllocation::Reset in BrowserPlugin

In order to address an surface invariants race condition, BrowserPluginGuest
began sending a child allocated LocalSurfaceId. BrowserPlugin would forcibly
begin using this ID.

This was initially a workaround for a <webview> bug. However <webview> no longer
uses BrowserPlugin, so this is no longer necessary. PDFs still do, but do not
suffer from this invariants violation.

Bug: 655231
Change-Id: I02299fee7990b2a6747be16d32c42e5a0b4743ae
Reviewed-on: https://chromium-review.googlesource.com/c/1330218
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607829}
[modify] https://crrev.com/9fba4b500e9f3691a5b73f494fe5dc1da0cccf05/content/browser/browser_plugin/browser_plugin_guest.cc
[modify] https://crrev.com/9fba4b500e9f3691a5b73f494fe5dc1da0cccf05/content/common/browser_plugin/browser_plugin_messages.h
[modify] https://crrev.com/9fba4b500e9f3691a5b73f494fe5dc1da0cccf05/content/renderer/browser_plugin/browser_plugin.cc
[modify] https://crrev.com/9fba4b500e9f3691a5b73f494fe5dc1da0cccf05/content/renderer/browser_plugin/browser_plugin.h

Project Member

Comment 54 by bugdroid1@chromium.org, Nov 19

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1c8b45674cb86c3d81ad2402ddd1980139bbba5a

commit 1c8b45674cb86c3d81ad2402ddd1980139bbba5a
Author: jonross <jonross@chromium.org>
Date: Mon Nov 19 19:14:20 2018

Don't Allocate new LocalSurfaceId at Frame Eviction

Currently when a frame is evicted, we immediately generate a new
viz::LocalSurfaceId. This has been inflating our statistics for
embedding times.

This is a side-effect of how Window::UpdateLocalSurfaceIdFromEmbeddedClient
uses null LocalSurfaceIds to represent generate a new one. This change
adds a new InvalidateLocalSurfaceId for use during Frame Eviction.

RenderWidgetHostViewAura has also been updated to verify if the current
LocalSurfaceId is valid when beginning to show a currently evicted frame.
So that it can allocate a new one.

Bug: 655231
Change-Id: Iafb81333dfeb230311ef5ce19b81aa0d96d05061
Reviewed-on: https://chromium-review.googlesource.com/c/1336438
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Reviewed-by: Saman Sami <samans@chromium.org>
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609383}
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/browser_compositor_view_mac.h
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/delegated_frame_host_client_aura.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/delegated_frame_host_client_aura.h
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/local/window_port_local.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/local/window_port_local.h
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/mus/window_port_mus.h
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/window.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/window.h
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/window_port.h
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/window_port_for_shutdown.cc
[modify] https://crrev.com/1c8b45674cb86c3d81ad2402ddd1980139bbba5a/ui/aura/window_port_for_shutdown.h

Project Member

Comment 55 by bugdroid1@chromium.org, Nov 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9884476490a71e3a83b72fb22f1736ead06d0514

commit 9884476490a71e3a83b72fb22f1736ead06d0514
Author: jonross <jonross@chromium.org>
Date: Tue Nov 27 21:07:21 2018

Invalidate LocalSurfaceId on Hidden Navigation

Currently RenderWidgetHostViewAura allocates a new LocalSurfaceId upon
Navigation. However if this navigation is for a hidden view, then we are
allocating very early. This has skewed the statistics for embedding times.

This updates RenderWidgetHostViewAura::DidNavigate to Invalidate the
LocalSurfaceId if hidden. A new one will be allocated once the view is shown.

Bug: 655231
Change-Id: I86cc4efade8b927149f57323281a87b0dcd1aac3
Reviewed-on: https://chromium-review.googlesource.com/c/1347446
Commit-Queue: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611319}
[modify] https://crrev.com/9884476490a71e3a83b72fb22f1736ead06d0514/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/9884476490a71e3a83b72fb22f1736ead06d0514/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/9884476490a71e3a83b72fb22f1736ead06d0514/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/9884476490a71e3a83b72fb22f1736ead06d0514/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Project Member

Comment 56 by bugdroid1@chromium.org, Nov 27

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/39de18db70755a49b6af9d6614696cb8fd4e19e4

commit 39de18db70755a49b6af9d6614696cb8fd4e19e4
Author: Fady Samuel <fsamuel@chromium.org>
Date: Tue Nov 27 22:50:55 2018

viz: Verify valid LocalSurfaceId allocation timestamp on frame submission

In order to ensure that we're reporting embedding time for all
production clients, this CL verifies that the allocation timestamp is
not null on serialization/deserialization of CompositorFrameMetadata.

Clients that didn't report LocalSurfaceId allocation time have been updated
to do so.

Change-Id: If4a3f744ec8894932c8b63a2850d76fca37a2300
Bug: 655231
Reviewed-on: https://chromium-review.googlesource.com/c/1327534
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Saman Sami <samans@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611391}
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/ash/components/fast_ink/fast_ink_view.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/cc/mojo_embedder/async_layer_tree_frame_sink.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/components/exo/buffer_unittest.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/components/exo/layer_tree_frame_sink_holder.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/components/exo/layer_tree_frame_sink_holder.h
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/components/exo/surface_tree_host.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/components/viz/client/local_surface_id_provider.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/components/viz/client/local_surface_id_provider.h
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/components/viz/test/compositor_frame_helpers.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/content/renderer/android/synchronous_layer_tree_frame_sink.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/content/renderer/android/synchronous_layer_tree_frame_sink.h
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/services/viz/public/cpp/compositing/compositor_frame_metadata_struct_traits.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/services/viz/public/cpp/compositing/compositor_frame_metadata_struct_traits.h
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/services/viz/public/cpp/compositing/struct_traits_unittest.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/third_party/blink/renderer/platform/graphics/video_frame_submitter.cc
[modify] https://crrev.com/39de18db70755a49b6af9d6614696cb8fd4e19e4/third_party/blink/renderer/platform/graphics/video_frame_submitter_test.cc

Project Member

Comment 57 by bugdroid1@chromium.org, Nov 29

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/58cab433eb7b392854322066d5ac65bcf75f6cf4

commit 58cab433eb7b392854322066d5ac65bcf75f6cf4
Author: jonross <jonross@chromium.org>
Date: Thu Nov 29 02:30:30 2018

viz: Plumb LocalSurfaceIdAllocation to more places [part 6]

viz::LocalSurfaceIdAllocation bundles a viz::LocalSurfaceId and an
allocation time for that viz::LocalSurfaceId. The purpose of this allocation
time is to determine how long it takes for a surface to get embedded once
an ID has been allocated for it.

There was some concern raised about drift between LocalSurfaceIds and allocation
times and so a previous CL bundled the two together in a class. This CL plumbs
LocalSurfaceIdAllocation to more places to ensure the two quantities remain
in sync with one another.

This CL plumbs removes various accessors on ParentLocalSurfaceIdAllocator that
return a LocalSurfaceId. This is to encourage future plumbing of
LocalSurfaceIdAllocation instead.

Bug: 655231
TBR: boliu@chromium.org
Change-Id: I304cff6343dc73a26c12852fa33ed5926223b320
Reviewed-on: https://chromium-review.googlesource.com/c/1330217
Commit-Queue: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Bo <boliu@chromium.org>
Reviewed-by: Saman Sami <samans@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611987}
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/android_webview/browser/hardware_renderer.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/android_webview/browser/surfaces_instance.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/android_webview/browser/surfaces_instance.h
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/common/surfaces/parent_local_surface_id_allocator.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/common/surfaces/parent_local_surface_id_allocator.h
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/common/surfaces/parent_local_surface_id_allocator_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/service/display/display_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/service/display/surface_aggregator_pixeltest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/service/display/surface_aggregator_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/service/frame_sinks/direct_layer_tree_frame_sink.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/service/frame_sinks/frame_sink_manager_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/service/frame_sinks/video_detector_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/service/surfaces/surface_hittest_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/service/surfaces/surface_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/components/viz/test/test_layer_tree_frame_sink.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/content/renderer/android/synchronous_layer_tree_frame_sink.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/content/renderer/android/synchronous_layer_tree_frame_sink.h
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/content/renderer/browser_plugin/browser_plugin.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/content/renderer/render_frame_proxy.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/services/ws/client_root.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/services/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/third_party/blink/renderer/platform/graphics/canvas_resource_dispatcher.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/third_party/blink/renderer/platform/graphics/surface_layer_bridge.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/ui/android/delegated_frame_host_android_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/ui/aura/mus/window_port_mus.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/ui/aura/mus/window_port_mus_unittest.cc
[modify] https://crrev.com/58cab433eb7b392854322066d5ac65bcf75f6cf4/ui/compositor/layer_unittest.cc

Project Member

Comment 58 by bugdroid1@chromium.org, Dec 20

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3db9a35db459ed53963cb5f77311b04e90275e0e

commit 3db9a35db459ed53963cb5f77311b04e90275e0e
Author: Scott Violet <sky@chromium.org>
Date: Thu Dec 20 00:10:33 2018

window-service: remove ParentLocationSurfaceIdAllocator from ClientRoot

and instead call into Window, which has a ParentLocationSurfaceIdAllocator.

BUG=655231
TEST=covered by tests

Change-Id: I46674cf0250dd7f01dc8a6cc85a6a231e92db522
Reviewed-on: https://chromium-review.googlesource.com/c/1384527
Reviewed-by: Jonathan Ross <jonross@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
Cr-Commit-Position: refs/heads/master@{#618019}
[modify] https://crrev.com/3db9a35db459ed53963cb5f77311b04e90275e0e/services/ws/client_root.cc
[modify] https://crrev.com/3db9a35db459ed53963cb5f77311b04e90275e0e/services/ws/client_root.h

Sign in to add a comment