[go: nahoru, domu]

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>();