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
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
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
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
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
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d086be303574fcf89fe19de16307b2a582dd3362 commit d086be303574fcf89fe19de16307b2a582dd3362 Author: eseckler <eseckler@chromium.org> Date: Wed Mar 22 10:25:31 2017 [ui/ws] Acknowledge BeginFrames in FrameGenerator + add tests. 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/2763623002 Cr-Commit-Position: refs/heads/master@{#458707} [modify] https://crrev.com/d086be303574fcf89fe19de16307b2a582dd3362/services/ui/ws/frame_generator.cc [modify] https://crrev.com/d086be303574fcf89fe19de16307b2a582dd3362/services/ui/ws/frame_generator.h [modify] https://crrev.com/d086be303574fcf89fe19de16307b2a582dd3362/services/ui/ws/frame_generator_unittest.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6d6eb7494eacfa69b2cbb22c673ce08d31a0ac7f commit 6d6eb7494eacfa69b2cbb22c673ce08d31a0ac7f Author: eseckler <eseckler@chromium.org> Date: Fri Mar 24 16:10:03 2017 [content] Forward BeginFrameAcks through RWHVMac/BrowserCompositorMac. 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/2761843002 Cr-Commit-Position: refs/heads/master@{#459444} [modify] https://crrev.com/6d6eb7494eacfa69b2cbb22c673ce08d31a0ac7f/content/browser/renderer_host/browser_compositor_view_mac.h [modify] https://crrev.com/6d6eb7494eacfa69b2cbb22c673ce08d31a0ac7f/content/browser/renderer_host/browser_compositor_view_mac.mm [modify] https://crrev.com/6d6eb7494eacfa69b2cbb22c673ce08d31a0ac7f/content/browser/renderer_host/render_widget_host_view_mac.h [modify] https://crrev.com/6d6eb7494eacfa69b2cbb22c673ce08d31a0ac7f/content/browser/renderer_host/render_widget_host_view_mac.mm
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Comment 1 by eseckler@chromium.org
, Mar 2 2017