viz HitTest component delegates sync to display compositor |
|||||
Issue descriptionCompositorFrame instance arrive at viz with an accompanying HitTestData instance that specifies how events should be routed. Extend the display compositor with delegation facilities such that it can tell the hit-test component which surfaces were selected for the current display frame by the surface-sync/surface-aggregation code.
,
Jun 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a15e976b52b92c65ad791be142dbd5f11364ae07 commit a15e976b52b92c65ad791be142dbd5f11364ae07 Author: gklassen <gklassen@chromium.org> Date: Thu Jun 15 22:22:54 2017 Add SurfaceWillDraw notification Adds a SurfaceWillDraw notification to allow observers to monitor as surfaces are added to the next display frame. Viz will implement a hit-test component that will aggregate hit-test information published along with compositor frames. The aggregated data will be made available for hit testing in a shared memory object. In order to ensure that the hit-test information matches the current information for the frame it needs to know which surfaces have been added to the current DisplayFrame. A method has been added to Surface observer so that observers will be notified as surfaces are added to the Display frame. The notification is invoked during Surface Aggregation at the same place and following the same convention as the existing RunWillDrawCallback - the key difference being that this implementation allows one observer to monitor all surfaces without creating observers for each surface instance. BUG=732398 CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Review-Url: https://codereview.chromium.org/2938833002 Cr-Commit-Position: refs/heads/master@{#479865} [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/surfaces/display_scheduler.cc [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/surfaces/display_scheduler.h [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/surfaces/surface_aggregator.cc [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/surfaces/surface_aggregator_unittest.cc [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/surfaces/surface_manager.cc [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/surfaces/surface_manager.h [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/surfaces/surface_observer.h [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/test/fake_surface_observer.cc [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/cc/test/fake_surface_observer.h [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/components/viz/service/frame_sinks/mojo_frame_sink_manager.cc [modify] https://crrev.com/a15e976b52b92c65ad791be142dbd5f11364ae07/components/viz/service/frame_sinks/mojo_frame_sink_manager.h
,
Aug 15 2017
,
Aug 15 2017
,
Aug 14
,
Aug 15
Cleaning up old Proj-Mustash labels. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by rjkroege@chromium.org
, Jun 12 2017