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

Issue 823888 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome
Pri: 1
Type: Feature

Blocked on:
issue 896786
issue 841358
issue 871996
issue 874919

Blocking:
issue 732392



Sign in to add a comment

Generate HitTestData in LayerTree

Project Member Reported by sunxd@chromium.org, Mar 20 2018

Issue description

This is the first step of plumbing renderer hit test data to viz. CC has limited knowledge, so the data cc::LayerTreeHostImpl generates does not necessarily eliminates all slow path, we should expect identical result as the HTR generated using compositor frame draw quads.
 
Components: Internals>Services>Viz
Labels: -Proj-Mustash
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 22 2018

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

commit 26e9bae034acf81a1db96663fe8721d7e4fd6668
Author: sunxd <sunxd@chromium.org>
Date: Thu Mar 22 19:32:33 2018

Plumb cc hit test regions to viz.

This CL adds a HitTestDataProvider class for cc layer trees. It generates hit
test data based on surface layers and property trees in cc. The data will be
submitted to viz during SubmitCompositorFrame and be used by HitTestQuery.

This change is hidden behind a flag --use-viz-hit-test-surface-layer. It is
the first of a series of changes. This CL is expected to be functionally
equivalent to generating HTRLs from CompositorFrame draw quads, but it allows
additional data being plumbed in the future CL.

Bug: 823888
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Ie82f04f5837955bfc81049cf6fdcfe2ecb6fef39
Reviewed-on: https://chromium-review.googlesource.com/786349
Reviewed-by: Ria Jiang <riajiang@chromium.org>
Reviewed-by: Robert Flack <flackr@chromium.org>
Reviewed-by: danakj <danakj@chromium.org>
Reviewed-by: Ken Buchanan <kenrb@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Khushal <khushalsagar@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Commit-Queue: Xianda Sun <sunxd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545205}
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/layers/layer_impl.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/layers/layer_impl.h
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/layers/surface_layer.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/layers/surface_layer.h
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/layers/surface_layer_impl.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/layers/surface_layer_impl.h
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/trees/layer_tree_frame_sink.h
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/trees/layer_tree_host_impl.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/trees/layer_tree_impl.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/cc/trees/layer_tree_impl.h
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/client/BUILD.gn
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/client/client_layer_tree_frame_sink.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/client/client_layer_tree_frame_sink.h
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/client/hit_test_data_provider.h
[add] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/client/hit_test_data_provider_surface_layer.cc
[add] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/client/hit_test_data_provider_surface_layer.h
[add] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/client/hit_test_data_provider_surface_layer_unittest.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/common/features.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/components/viz/common/features.h
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/content/browser/site_per_process_hit_test_browsertest.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/content/renderer/child_frame_compositing_helper.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/content/renderer/mus/renderer_window_tree_client.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/content/renderer/render_thread_impl.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/ui/android/delegated_frame_host_android.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/ui/compositor/layer.cc
[modify] https://crrev.com/26e9bae034acf81a1db96663fe8721d7e4fd6668/ui/compositor/layer_unittest.cc

Comment 3 by sunxd@chromium.org, May 9 2018

Blockedon: 841358
Blockedon: 871996
Cc: gklassen@chromium.org samans@chromium.org fsam...@chromium.org enne@chromium.org sunxd@chromium.org
 Issue 732394  has been merged into this issue.
Cc: chrishtr@chromium.org amaralp@chromium.org
 Issue 732392  has been merged into this issue.
Project Member

Comment 7 by bugdroid1@chromium.org, Sep 24

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

commit 08f71f5edd29fafad5d381c3dcc69091746bfa36
Author: Xianda Sun <sunxd@chromium.org>
Date: Mon Sep 24 17:21:03 2018

Add metrics that compare V2 hit testing with async hit testing

Before launching V2 viz hit testing, we need to verify the correctness.
This patch forces V2 to do slow path async hit testing and compare the
results.

If there is no reported mismatched results, it will be safe to launch
V2 viz hit testing.

Bug: 823888
Cq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel
Change-Id: I060b9626e6e59cc12ae2b476425cef715475e40d
Reviewed-on: https://chromium-review.googlesource.com/1157227
Commit-Queue: Xianda Sun <sunxd@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: Robert Kaplow (sloooow) <rkaplow@chromium.org>
Reviewed-by: Ria Jiang <riajiang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593580}
[modify] https://crrev.com/08f71f5edd29fafad5d381c3dcc69091746bfa36/components/viz/common/features.cc
[modify] https://crrev.com/08f71f5edd29fafad5d381c3dcc69091746bfa36/content/browser/renderer_host/render_widget_host_input_event_router.cc
[modify] https://crrev.com/08f71f5edd29fafad5d381c3dcc69091746bfa36/content/browser/renderer_host/render_widget_targeter.cc
[modify] https://crrev.com/08f71f5edd29fafad5d381c3dcc69091746bfa36/content/browser/renderer_host/render_widget_targeter.h
[modify] https://crrev.com/08f71f5edd29fafad5d381c3dcc69091746bfa36/tools/metrics/histograms/histograms.xml

Blockedon: 874919
Blockedon: 896786

Sign in to add a comment