slim: Implement hit test region for non-root pass
Pass transform to root to AppendQuads and invert that transform for hit
test region transform.
Bug: 1408128
Change-Id: Ifc4a254fe9854728534ebc830e4660c5bbaedfc2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4327955
Commit-Queue: Bo Liu <boliu@chromium.org>
Reviewed-by: Kyle Charbonneau <kylechar@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1116401}
diff --git a/cc/slim/ui_resource_layer.cc b/cc/slim/ui_resource_layer.cc
index 52d8b6e..309fce1 100644
--- a/cc/slim/ui_resource_layer.cc
+++ b/cc/slim/ui_resource_layer.cc
@@ -140,7 +140,8 @@
void UIResourceLayer::AppendQuads(viz::CompositorRenderPass& render_pass,
FrameData& data,
- const gfx::Transform& transform,
+ const gfx::Transform& transform_to_root,
+ const gfx::Transform& transform_to_target,
const gfx::Rect* clip_in_target,
const gfx::Rect& visible_rect) {
viz::ResourceId viz_resource_id =
@@ -150,7 +151,7 @@
}
viz::SharedQuadState* quad_state = CreateAndAppendSharedQuadState(
- render_pass, transform, clip_in_target, visible_rect);
+ render_pass, transform_to_target, clip_in_target, visible_rect);
viz::TextureDrawQuad* quad =
render_pass.CreateAndAppendDrawQuad<viz::TextureDrawQuad>();