New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 697086 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocked on:
issue 703079

Blocking:
issue 646774
issue 401331
issue 465819



Sign in to add a comment

Add BeginFrame acknowledgements to compositor

Project Member Reported by eseckler@chromium.org, Feb 28 2017

Issue description

Tracking bug for BeginFrameAcks. Design doc: http://bit.ly/beginframeacks

Some patches already landed against 401331:

[cc] Adds source_id and sequence_number to BeginFrameArgs.
https://codereview.chromium.org/2583483002

[cc] Add and use BeginFrameAck for DidFinishFrame.
https://codereview.chromium.org/2591013004

[cc] facilitate use of BeginFrameAcks in tests.
https://codereview.chromium.org/2686193002

[cc] Track observer status in ExternalBeginFrameSource.
https://codereview.chromium.org/2691453002

[cc] Calculate the correct latest_confirmed_sequence_number in cc::Scheduler.
https://codereview.chromium.org/2632563003
 
Blocking: 646774
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 2 2017

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

commit d9bbb44814c924c58e80bb0e8b64a9a634fd2198
Author: eseckler <eseckler@chromium.org>
Date: Thu Mar 02 22:12:14 2017

[cc] Forward BeginFrameAcks through DirectCFS and CFSSupport.

Also updates unit tests to check that acks are indeed forwarded.

BUG= 697086 ,646774,  696030 ,  480361 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2727553004
Cr-Commit-Position: refs/heads/master@{#454400}

[modify] https://crrev.com/d9bbb44814c924c58e80bb0e8b64a9a634fd2198/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/d9bbb44814c924c58e80bb0e8b64a9a634fd2198/cc/surfaces/compositor_frame_sink_support.h
[modify] https://crrev.com/d9bbb44814c924c58e80bb0e8b64a9a634fd2198/cc/surfaces/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/d9bbb44814c924c58e80bb0e8b64a9a634fd2198/cc/surfaces/direct_compositor_frame_sink.cc
[modify] https://crrev.com/d9bbb44814c924c58e80bb0e8b64a9a634fd2198/cc/surfaces/direct_compositor_frame_sink.h
[modify] https://crrev.com/d9bbb44814c924c58e80bb0e8b64a9a634fd2198/cc/surfaces/direct_compositor_frame_sink_unittest.cc
[modify] https://crrev.com/d9bbb44814c924c58e80bb0e8b64a9a634fd2198/cc/test/fake_compositor_frame_sink_client.cc
[modify] https://crrev.com/d9bbb44814c924c58e80bb0e8b64a9a634fd2198/cc/test/fake_compositor_frame_sink_client.h

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 7 2017

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

commit dde665fa0a7577e619e819c13c9e4af95d8b19b1
Author: eseckler <eseckler@chromium.org>
Date: Tue Mar 07 20:19:27 2017

[cc] Set BeginFrame sequence numbers on CompositorFrames from Scheduler.

Other CompositorFrame creators will have to set these, too. But that'll
follow separately.

BUG=646774,  401331 ,  697086 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2712983003
Cr-Commit-Position: refs/heads/master@{#455194}

[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/output/begin_frame_args.h
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/output/compositor_frame_metadata.h
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/scheduler/scheduler.cc
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/scheduler/scheduler.h
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/scheduler/scheduler_state_machine.h
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/scheduler/scheduler_state_machine_unittest.cc
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/test/begin_frame_source_test.cc
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/trees/proxy_impl.cc
[modify] https://crrev.com/dde665fa0a7577e619e819c13c9e4af95d8b19b1/cc/trees/single_thread_proxy.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 15 2017

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

commit 599d86bbcfeb41cd4d48f73d85f62a47918be0f1
Author: eseckler <eseckler@chromium.org>
Date: Wed Mar 15 09:02:55 2017

[exo] Clean up Surface BeginFrame distribution & add acks in Surface.

This refactors exo::Surface to use a BeginFrameSource again, adds a call
to DidFinishFrame(), and passes on the ack in submitted CompositorFrames.

Passing on of no-damage ack through MojoCompositorFrameSink remains TODO.

This is work towards unified BeginFrame acknowledgments, see:
Tracking bug:  https://crbug.com/697086 
Design doc: http://bit.ly/beginframeacks

BUG= 697086 , 646774

Review-Url: https://codereview.chromium.org/2724953007
Cr-Commit-Position: refs/heads/master@{#457038}

[modify] https://crrev.com/599d86bbcfeb41cd4d48f73d85f62a47918be0f1/components/exo/BUILD.gn
[modify] https://crrev.com/599d86bbcfeb41cd4d48f73d85f62a47918be0f1/components/exo/compositor_frame_sink_holder.cc
[modify] https://crrev.com/599d86bbcfeb41cd4d48f73d85f62a47918be0f1/components/exo/compositor_frame_sink_holder.h
[modify] https://crrev.com/599d86bbcfeb41cd4d48f73d85f62a47918be0f1/components/exo/surface.cc
[modify] https://crrev.com/599d86bbcfeb41cd4d48f73d85f62a47918be0f1/components/exo/surface.h
[modify] https://crrev.com/599d86bbcfeb41cd4d48f73d85f62a47918be0f1/components/exo/surface_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Mar 18 2017

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

commit 31ef6f5c55de6abf3e1c7cf108411491f38632cc
Author: eseckler <eseckler@chromium.org>
Date: Sat Mar 18 06:10:16 2017

[cc] Pass on BeginFrameAcks from CompositorEBFS through RWHVAura, DFH.

This patch adds forwarding of BeginFrameAcks from the renderer through
the SwapCompositorFrame and BeginFrameDidNotSwap IPCs to the browser,
where they are received and passed on by RenderWidgetHostViewAura.

Other platforms to follow.

This is work towards unified BeginFrame acknowledgments, see:
Tracking bug:  https://crbug.com/697086 
Design doc: http://bit.ly/beginframeacks

BUG= 697086 , 646774
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2740833005
Cr-Commit-Position: refs/heads/master@{#457962}

[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/begin_frame_args.mojom
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/begin_frame_args.typemap
[add] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/begin_frame_args_for_blink.typemap
[add] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/begin_frame_args_struct_traits.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/begin_frame_args_struct_traits.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/cc_param_traits_macros.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/cc_serialization_perftest.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/compositor_frame_metadata.mojom
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/compositor_frame_metadata_struct_traits.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/compositor_frame_metadata_struct_traits.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/struct_traits_unittest.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/ipc/traits_test_service.mojom
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/cc/scheduler/begin_frame_source.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/bad_message.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/common/view_messages.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/renderer/gpu/compositor_external_begin_frame_source.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/renderer/gpu/compositor_external_begin_frame_source.h
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/renderer/gpu/queue_message_swap_promise.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/content/renderer/gpu/renderer_compositor_frame_sink.cc
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/third_party/WebKit/public/blink_typemaps.gni
[modify] https://crrev.com/31ef6f5c55de6abf3e1c7cf108411491f38632cc/tools/metrics/histograms/histograms.xml

Blockedon: 703079
Project Member

Comment 7 by bugdroid1@chromium.org, Mar 22 2017

Project Member

Comment 9 by bugdroid1@chromium.org, Mar 24 2017

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

commit 6a9efe9bb5bce08d48578cda5497045c4d33b6ec
Author: eseckler <eseckler@chromium.org>
Date: Fri Mar 24 16:29:56 2017

[cc] Fix CompositorFrameSinkSupport BeginFrameAck interface.

This replaces CFSSupport::DidFinishFrame with BeginFrameDidNotSwap and
uses SubmitCompositorFrame for BeginFrameAcks with damage instead.

This change also requires that all CompositorFrame submitters actually
set the BeginFrameAck on their CompositorFrames, so that we avoid
 crbug.com/696030  (and so that we don't hit the newly added
DLOG/DCHECKs).

This is work towards unified BeginFrame acknowledgments, see:
Tracking bug:  https://crbug.com/697086 
Design doc: http://bit.ly/beginframeacks

BUG= 697086 , 646774,  696030 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2755463002
Cr-Commit-Position: refs/heads/master@{#459451}

[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/android_webview/browser/hardware_renderer.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/android_webview/browser/surfaces_instance.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/android_webview/browser/test/rendering_test.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/ash/laser/laser_pointer_view.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/ash/laser/laser_pointer_view.h
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/ipc/mojo_compositor_frame_sink.mojom
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/output/begin_frame_args.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/output/begin_frame_args.h
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/surfaces/compositor_frame_sink_support.h
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/surfaces/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/surfaces/direct_compositor_frame_sink.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/surfaces/direct_compositor_frame_sink_unittest.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/components/display_compositor/gpu_compositor_frame_sink.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/components/display_compositor/gpu_compositor_frame_sink.h
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/components/display_compositor/gpu_root_compositor_frame_sink.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/components/display_compositor/gpu_root_compositor_frame_sink.h
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/components/exo/compositor_frame_sink.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/components/exo/compositor_frame_sink.h
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/components/exo/compositor_frame_sink_holder.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/components/exo/surface.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/content/browser/renderer_host/offscreen_canvas_compositor_frame_sink.h
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/content/renderer/android/synchronous_compositor_frame_sink.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/services/ui/public/cpp/client_compositor_frame_sink.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/services/ui/ws/display_client_compositor_frame_sink.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
[modify] https://crrev.com/6a9efe9bb5bce08d48578cda5497045c4d33b6ec/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.h

Project Member

Comment 10 by bugdroid1@chromium.org, Mar 28 2017

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

commit dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3
Author: eseckler <eseckler@chromium.org>
Date: Tue Mar 28 09:17:56 2017

[cc] Remove remaining_frames from BeginFrameAck.

The remaining_frames field is not used anywhere anymore. This patch
removes it (and its test) and updates BeginFrameAck creators.

BUG= 697086 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_site_isolation
TBR=piman@chromium.org, fsamuel@chromium.org, sky@chromium.org, boliu@chromium.org, reveman@chromium.org, junov@chromium.org

Review-Url: https://codereview.chromium.org/2779633002
Cr-Commit-Position: refs/heads/master@{#460045}

[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/android_webview/browser/test/rendering_test.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/ipc/struct_traits_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/output/begin_frame_args.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/output/begin_frame_args.h
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/scheduler/begin_frame_source.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/scheduler/begin_frame_source.h
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/scheduler/begin_frame_source_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/scheduler/scheduler.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/scheduler/scheduler_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/surfaces/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/surfaces/direct_compositor_frame_sink_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/surfaces/display_scheduler.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/test/begin_frame_args_test.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/cc/trees/single_thread_proxy.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/components/exo/surface.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/components/exo/surface_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/services/ui/ws/frame_generator.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/services/ui/ws/frame_generator_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/dcb90786e5bf56b20b80e1a57df7ccd47a99a3c3/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp

Project Member

Comment 11 by bugdroid1@chromium.org, Mar 28 2017

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

commit 5c732104d0278822b4df84d76362f60d2929b037
Author: eseckler <eseckler@chromium.org>
Date: Tue Mar 28 09:39:53 2017

[cc] Forward BeginFrameAcks through RWHVChildFrame.

Passes on BeginFrameAcks from RenderWidgetHostViewChildFrame to
CompositorFrameSinkSupport and adds a test for this.

This is work towards unified BeginFrame acknowledgments, see:
Tracking bug:  https://crbug.com/697086 
Design doc: http://bit.ly/beginframeacks

BUG= 697086 , 646774
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2779593002
Cr-Commit-Position: refs/heads/master@{#460054}

[modify] https://crrev.com/5c732104d0278822b4df84d76362f60d2929b037/content/browser/frame_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/5c732104d0278822b4df84d76362f60d2929b037/content/browser/frame_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/5c732104d0278822b4df84d76362f60d2929b037/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Mar 30 2017

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

commit e4201c2d7ffca39470fa1a69febc2e9c92f10def
Author: eseckler <eseckler@chromium.org>
Date: Thu Mar 30 14:26:53 2017

[cc] Forward BeginFrameAcks through RWHVAndroid / DFHAndroid.

Passes on BeginFrameAcks from RenderWidgetHostViewAndroid through
DelegatedFrameHostAndroid to its CompositorFrameSinkSupport.

This is work towards unified BeginFrame acknowledgments, see:
Tracking bug:  https://crbug.com/697086 
Design doc: http://bit.ly/beginframeacks

BUG= 697086 , 646774

Review-Url: https://codereview.chromium.org/2781103002
Cr-Commit-Position: refs/heads/master@{#460750}

[modify] https://crrev.com/e4201c2d7ffca39470fa1a69febc2e9c92f10def/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/e4201c2d7ffca39470fa1a69febc2e9c92f10def/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/e4201c2d7ffca39470fa1a69febc2e9c92f10def/ui/android/delegated_frame_host_android.cc

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 4 2017

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

commit bc1653a4f1a74aba2540fd0f59298d1c2c6601c5
Author: eseckler <eseckler@chromium.org>
Date: Tue Apr 04 09:52:38 2017

[cc] Test that CFSSupport forwards BeginFrameAcks in CompositorFrames.

Also fixes
DirectCompositorFrameSinkTest.AcknowledgesBeginFramesWithoutDamage,
whose observer was acknowledging to the wrong source.

BUG= 697086 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel

Review-Url: https://codereview.chromium.org/2789143002
Cr-Commit-Position: refs/heads/master@{#461670}

[modify] https://crrev.com/bc1653a4f1a74aba2540fd0f59298d1c2c6601c5/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/bc1653a4f1a74aba2540fd0f59298d1c2c6601c5/cc/surfaces/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/bc1653a4f1a74aba2540fd0f59298d1c2c6601c5/cc/surfaces/direct_compositor_frame_sink_unittest.cc

Components: Internals>Headless
Project Member

Comment 15 by bugdroid1@chromium.org, May 22 2017

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

commit 9404a23e0073ff0f04f156963ffe99fba1c63a4a
Author: eseckler <eseckler@chromium.org>
Date: Mon May 22 14:49:43 2017

[cc] Add and plumb CFS::DidNotProduceFrame.

We're planning to remove BeginFrameAcks from BFS::DidFinishFrame.
Instead, we plumb them through the CompositorFrameSink via
SubmitCompositorFrame (this plumbing exists already) and
DidNotProduceFrame (new in this patch).

The DidFinishFrame interface (and remaining unit tests) will be
updated separately.

The patch also renames existing BeginFrameDidNotSwap methods/IPCs to
unify the naming across the code base.

BUG= 697086 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_site_isolation
TBR=junov@chromium.org

Review-Url: https://codereview.chromium.org/2888043004
Cr-Commit-Position: refs/heads/master@{#473577}

[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/ipc/mojo_compositor_frame_sink.mojom
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/output/compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/output/compositor_frame_sink_unittest.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/scheduler/begin_frame_source.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/scheduler/begin_frame_source.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/scheduler/begin_frame_source_unittest.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/scheduler/scheduler.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/scheduler/scheduler.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/scheduler/scheduler_unittest.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/surfaces/compositor_frame_sink_support.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/surfaces/direct_compositor_frame_sink.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/surfaces/direct_compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/surfaces/direct_compositor_frame_sink_unittest.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/surfaces/surface_synchronization_unittest.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/test/fake_compositor_frame_sink.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/test/fake_compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/test/test_compositor_frame_sink.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/test/test_compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/trees/layer_tree_host_impl.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/trees/proxy_impl.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/trees/proxy_impl.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/trees/single_thread_proxy.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/cc/trees/single_thread_proxy.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/components/exo/surface.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/components/viz/frame_sinks/gpu_compositor_frame_sink.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/components/viz/frame_sinks/gpu_compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/components/viz/frame_sinks/gpu_root_compositor_frame_sink.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/components/viz/frame_sinks/gpu_root_compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/compositor/gpu_vsync_begin_frame_source.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/compositor/gpu_vsync_begin_frame_source.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/frame_host/render_widget_host_view_child_frame.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/frame_host/render_widget_host_view_child_frame.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/browser_compositor_view_mac.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/browser_compositor_view_mac.mm
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_impl.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_view_aura.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_view_aura.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_view_base.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_view_mac.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/browser/renderer_host/render_widget_host_view_mac.mm
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/common/view_messages.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/renderer/android/synchronous_compositor_frame_sink.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/renderer/android/synchronous_compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/renderer/gpu/compositor_external_begin_frame_source.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/renderer/gpu/compositor_external_begin_frame_source.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/renderer/gpu/renderer_compositor_frame_sink.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/content/renderer/gpu/renderer_compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/services/ui/public/cpp/client_compositor_frame_sink.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/services/ui/public/cpp/client_compositor_frame_sink.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/services/ui/ws/compositor_frame_sink_client_binding.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/services/ui/ws/compositor_frame_sink_client_binding.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/services/ui/ws/frame_generator.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/services/ui/ws/frame_generator_unittest.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/ui/android/delegated_frame_host_android.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/ui/android/delegated_frame_host_android.h
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/ui/aura/local/compositor_frame_sink_local.cc
[modify] https://crrev.com/9404a23e0073ff0f04f156963ffe99fba1c63a4a/ui/aura/local/compositor_frame_sink_local.h

Project Member

Comment 16 by bugdroid1@chromium.org, May 26 2017

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

commit ca6d7cb7945ff4b54d76c1df3806b979cc7584b5
Author: eseckler <eseckler@chromium.org>
Date: Fri May 26 11:33:47 2017

[cc] Remove BeginFrameAck from BFS::DidFinishFrame and update tests.

Follow-up to https://codereview.chromium.org/2888043004/.

BeginFrameAcks are now plumbed through the CompositorFrameSink via
SubmitCompositorFrame and DidNotProduceFrame.

BUG= 697086 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2897053002
Cr-Commit-Position: refs/heads/master@{#474983}

[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/scheduler/begin_frame_source.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/scheduler/begin_frame_source.h
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/scheduler/begin_frame_source_unittest.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/scheduler/scheduler.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/scheduler/scheduler_unittest.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/surfaces/direct_compositor_frame_sink_unittest.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/surfaces/display_scheduler.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/surfaces/primary_begin_frame_source.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/surfaces/primary_begin_frame_source.h
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/surfaces/surface_synchronization_unittest.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/test/fake_external_begin_frame_source.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/cc/test/fake_external_begin_frame_source.h
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/components/exo/surface.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/components/exo/surface_unittest.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/content/renderer/gpu/compositor_external_begin_frame_source.cc
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/content/renderer/gpu/compositor_external_begin_frame_source.h
[modify] https://crrev.com/ca6d7cb7945ff4b54d76c1df3806b979cc7584b5/ui/android/window_android.cc

Project Member

Comment 17 by bugdroid1@chromium.org, May 26 2017

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

commit e356c64f253923983248656d304d8aa471aad5f0
Author: eseckler <eseckler@chromium.org>
Date: Fri May 26 12:59:36 2017

[cc] Plumb BeginFrameAcks through SurfaceManager to DisplayScheduler.

Plumbs the BeginFrameAcks from DidNotProduceFrame and
SubmitCompositorFrame through new SurfaceObserver methods from
CompositorFrameSinks to the DisplayScheduler.

Also replaces the expected surface damage heuristics previously used
by DisplayScheduler with tracking BeginFrame(Ack)s and surface damage.

This is work towards unified BeginFrame acknowledgments, see:
Tracking bug:  https://crbug.com/697086 
Design doc: http://bit.ly/beginframeacks

BUG= 697086 , 646774,  678119 ,  703079 ,  707513 
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2854163003
Cr-Commit-Position: refs/heads/master@{#474989}

[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/BUILD.gn
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/direct_compositor_frame_sink_unittest.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/display.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/display.h
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/display_scheduler.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/display_scheduler.h
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/display_scheduler_unittest.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/display_unittest.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/surface.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/surface.h
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/surface_manager.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/surface_manager.h
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/surface_observer.h
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/surfaces/surface_synchronization_unittest.cc
[add] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/test/fake_surface_observer.cc
[add] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/cc/test/fake_surface_observer.h
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/components/viz/frame_sinks/mojo_frame_sink_manager.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/components/viz/frame_sinks/mojo_frame_sink_manager.h
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/e356c64f253923983248656d304d8aa471aad5f0/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Project Member

Comment 18 by bugdroid1@chromium.org, Jun 5 2017

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

commit 6444a99819d7fe77ee5c8f895e1e47b95698c716
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Jun 05 15:20:38 2017

[cc] Fix display_damaged calculation in Display::OnSurfaceDamaged.

We were previously passing on *changed, which could lead to
propagation of the flag value from other Displays / SurfaceObservers.
Calculate the value passed on to DisplayScheduler locally instead.

Also updates the OnSurfaceDamaged interface to return a boolean and
removes unnecessary calls to UpdateRootSurfaceResourcesLocked and
SurfaceDamageExpected.

Bug:  727162 ,  697086 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ie0f78705ee8f76417a7d9f2d8ed87365c8a1cb0a
Reviewed-on: https://chromium-review.googlesource.com/520766
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#476985}
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/cc/surfaces/display.cc
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/cc/surfaces/display.h
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/cc/surfaces/display_unittest.cc
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/cc/surfaces/surface_manager.cc
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/cc/surfaces/surface_observer.h
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/cc/test/fake_surface_observer.cc
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/cc/test/fake_surface_observer.h
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/components/viz/frame_sinks/mojo_frame_sink_manager.cc
[modify] https://crrev.com/6444a99819d7fe77ee5c8f895e1e47b95698c716/components/viz/frame_sinks/mojo_frame_sink_manager.h

Project Member

Comment 19 by bugdroid1@chromium.org, Jun 20 2017

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

commit 18478f664a4e90a0416f782902c8d7a292cf355b
Author: Eric Seckler <eseckler@chromium.org>
Date: Tue Jun 20 20:18:10 2017

[cc] Track surface state without OnSurfaceCreated in DisplayScheduler.

OnSurfaceCreated is not called for pre-existing surfaces. This leads
to the DisplayScheduler ignoring expected surface damage. This patch
removes the use of OnSurfaceCreated and initializes tracking state in
OnSurfaceDamageExpected instead.

Bug:  734942 ,  697086 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I737293e3b72202aa5fc7fdb4dd6aab4937aabea7
Reviewed-on: https://chromium-review.googlesource.com/541278
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#480929}
[modify] https://crrev.com/18478f664a4e90a0416f782902c8d7a292cf355b/cc/surfaces/compositor_frame_sink_support.cc
[modify] https://crrev.com/18478f664a4e90a0416f782902c8d7a292cf355b/cc/surfaces/display_scheduler.cc
[modify] https://crrev.com/18478f664a4e90a0416f782902c8d7a292cf355b/cc/surfaces/display_scheduler_unittest.cc

Project Member

Comment 20 by bugdroid1@chromium.org, Jun 26 2017

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

commit f6d730546e0180c4383d3d50028261afc22ce55e
Author: Eric Seckler <eseckler@chromium.org>
Date: Mon Jun 26 09:24:55 2017

[cc] No early DisplayScheduler deadline if there is no damage.

If no damage exists yet, the DisplayScheduler shouldn't trigger an
immediate deadline, as this may prevents using the current BeginFrame
to draw later damage from other surfaces (in case a surface receives
a missed BeginFrame later but before the deadline).

Bug:  697086 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ib57454f6730405c21308de27e5cbd8e95ffbff14
Reviewed-on: https://chromium-review.googlesource.com/536932
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Sunny Sachanandani <sunnyps@chromium.org>
Cr-Commit-Position: refs/heads/master@{#482216}
[modify] https://crrev.com/f6d730546e0180c4383d3d50028261afc22ce55e/cc/surfaces/display_scheduler.cc
[modify] https://crrev.com/f6d730546e0180c4383d3d50028261afc22ce55e/cc/surfaces/display_scheduler_unittest.cc

Blocking: 465819
Project Member

Comment 22 by bugdroid1@chromium.org, Jul 13 2017

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

commit 2fdea409522469e17391f6203a80edf2e9d21915
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Jul 13 12:07:15 2017

[cc] Remove latest_confirmed_sequence_number from BeginFrameAcks.

The field is no longer needed or used.

We intended to use these to detect incomplete redraws in headless mode,
but ended up preventing such cases in the first place through a new
scheduler mode (wait_for_all_pipeline_stages_before_draw).

Bug:  697086 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I88c03fd651d6d80153414b1ddd047f2b809fa380
TBR: junov@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/559530
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: Antoine Labour <piman@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Cr-Commit-Position: refs/heads/master@{#486351}
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/ipc/begin_frame_args.mojom
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/ipc/begin_frame_args_struct_traits.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/ipc/begin_frame_args_struct_traits.h
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/ipc/cc_param_traits.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/ipc/struct_traits_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/output/begin_frame_args.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/output/begin_frame_args.h
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/scheduler/scheduler.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/scheduler/scheduler_state_machine.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/scheduler/scheduler_state_machine.h
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/scheduler/scheduler_state_machine_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/scheduler/scheduler_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/test/begin_frame_args_test.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/test/compositor_frame_helpers.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/trees/layer_tree_host_impl_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/trees/layer_tree_host_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/cc/trees/single_thread_proxy.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/components/exo/surface.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/components/exo/surface_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/components/viz/service/display/display_scheduler_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/components/viz/service/frame_sinks/compositor_frame_sink_support_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/components/viz/service/frame_sinks/direct_layer_tree_frame_sink_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/content/browser/frame_host/render_widget_host_view_child_frame_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/content/browser/frame_host/render_widget_host_view_guest_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/content/browser/renderer_host/delegated_frame_host.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/content/browser/renderer_host/delegated_frame_host.h
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/content/browser/renderer_host/render_widget_host_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/services/ui/ws/frame_generator.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/services/ui/ws/frame_generator_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/services/ui/ws/window_tree_client_unittest.cc
[modify] https://crrev.com/2fdea409522469e17391f6203a80edf2e9d21915/third_party/WebKit/Source/platform/graphics/OffscreenCanvasFrameDispatcherImpl.cpp

Status: Fixed (was: Started)
Project Member

Comment 24 by bugdroid1@chromium.org, Sep 24 2017

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

commit 1b697fc546af51e355c458bc4e10f821a1c8d551
Author: Eric Seckler <eseckler@chromium.org>
Date: Sun Sep 24 07:41:53 2017

[viz] Ensure that ClientLTFS acknowledges racy BeginFrames.

When the ClientLayerTreeFrameSink doesn't actually want a BeginFrame,
but still receives one from its parent sink, it previously would just
ignore such BeginFrame. The parent sink, however, still expects a
BeginFrameAck for such BeginFrames.

Bug:  697086 
Change-Id: Ib9c1294662fd4c85838db7d13b6026f819f1581b
Reviewed-on: https://chromium-review.googlesource.com/678506
Reviewed-by: Fady Samuel <fsamuel@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#503952}
[modify] https://crrev.com/1b697fc546af51e355c458bc4e10f821a1c8d551/components/viz/client/client_layer_tree_frame_sink.cc
[modify] https://crrev.com/1b697fc546af51e355c458bc4e10f821a1c8d551/components/viz/client/client_layer_tree_frame_sink.h

Project Member

Comment 25 by bugdroid1@chromium.org, Oct 5 2017

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

commit e02d1e631160ebb4d0583dc406fafabbfd590cfe
Author: Eric Seckler <eseckler@chromium.org>
Date: Thu Oct 05 11:33:45 2017

[viz] Ignore stray BeginFrameAcks in DisplayScheduler.

The DisplayScheduler's surface state tracking mechanism was susceptible
to overriding a surface's state with an older sequence number, which
could cause infinite blocking in wait_for_all_surfaces_before_draw mode.

Bug:  697086 
Change-Id: Ife6ea5df9ccef729df2a17ff3f199ee5784c880b
Reviewed-on: https://chromium-review.googlesource.com/700554
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Cr-Commit-Position: refs/heads/master@{#506700}
[modify] https://crrev.com/e02d1e631160ebb4d0583dc406fafabbfd590cfe/components/viz/service/display/display_scheduler.cc
[modify] https://crrev.com/e02d1e631160ebb4d0583dc406fafabbfd590cfe/components/viz/service/display/display_scheduler_unittest.cc

Project Member

Comment 26 by bugdroid1@chromium.org, Oct 18 2017

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

commit 2d19d9177de74b153644f4ca783562ca19935b46
Author: Eric Seckler <eseckler@chromium.org>
Date: Wed Oct 18 16:23:04 2017

[cc] Ensure that RWHI calls DidNotProduceFrame when dropping a frame.

Otherwise, --run-all-compositor-stages-before-draw mode may get stuck
while waiting for a BeginFrameAck.

Bug:  697086 
Change-Id: I1d0daedb8a76782f65c6760525b9473c55443852
Reviewed-on: https://chromium-review.googlesource.com/725711
Reviewed-by: Antoine Labour <piman@chromium.org>
Commit-Queue: Eric Seckler <eseckler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#509784}
[modify] https://crrev.com/2d19d9177de74b153644f4ca783562ca19935b46/content/browser/renderer_host/render_widget_host_impl.cc
[modify] https://crrev.com/2d19d9177de74b153644f4ca783562ca19935b46/content/browser/renderer_host/render_widget_host_unittest.cc

Sign in to add a comment