| Index: services/viz/hit_test/public/interfaces/hit_test_region_list.mojom
 | 
| diff --git a/services/viz/hit_test/public/interfaces/hit_test_region_list.mojom b/services/viz/hit_test/public/interfaces/hit_test_region_list.mojom
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..3c3674382c2fb1add1efb7a6d965460ca835d288
 | 
| --- /dev/null
 | 
| +++ b/services/viz/hit_test/public/interfaces/hit_test_region_list.mojom
 | 
| @@ -0,0 +1,59 @@
 | 
| +// Copyright 2017 The Chromium Authors. All rights reserved.
 | 
| +// Use of this source code is governed by a BSD-style license that can be
 | 
| +// found in the LICENSE file.
 | 
| +
 | 
| +module viz.mojom;
 | 
| +
 | 
| +import "cc/ipc/surface_id.mojom";
 | 
| +import "ui/gfx/geometry/mojo/geometry.mojom";
 | 
| +import "ui/gfx/mojo/transform.mojom";
 | 
| +
 | 
| +// Region maps to this surface (me).
 | 
| +const uint32 kHitTestMine = 0x01;
 | 
| +
 | 
| +// Region ignored for hit testing (transparent backgrounds & hover:none).
 | 
| +const uint32 kHitTestIgnore = 0x02;
 | 
| +
 | 
| +// Region maps to child surface (OOPIF).
 | 
| +const uint32 kHitTestChildSurface = 0x04;
 | 
| +
 | 
| +// Irregular boundary - send HitTestRequest to resolve.
 | 
| +const uint32 kHitTestAsk = 0x08;
 | 
| +
 | 
| +// Touch event handler exists.
 | 
| +const uint32 kHitTestTouchEventHandler = 0x10;
 | 
| +
 | 
| +struct HitTestRegion {
 | 
| +  // Flags to indicate the type of HitTestRegion.
 | 
| +  uint32 flags;
 | 
| +
 | 
| +  // SurfaceId is required when flags = kHitTestChildSurface.
 | 
| +  cc.mojom.SurfaceId surface_id;
 | 
| +
 | 
| +  // The rect of the region in the coordinate space of the embedder.
 | 
| +  gfx.mojom.Rect rect;
 | 
| +
 | 
| +  // The transform of the region.  The transform applied to the rect
 | 
| +  // defines the space occupied by this region in the coordinate space of
 | 
| +  // the embedder.
 | 
| +  gfx.mojom.Transform transform;
 | 
| +};
 | 
| +
 | 
| +struct HitTestRegionList {
 | 
| +  // SurfaceId corresponding to this HitTestData.
 | 
| +  cc.mojom.SurfaceId surface_id;
 | 
| +
 | 
| +  // Flags indicate how to handle events that match no sub-regions.
 | 
| +  // kHitTestMine routes un-matched events to this surface (opaque).
 | 
| +  // kHitTestIgnore keeps previous match in the parent (transparent).
 | 
| +  uint32 flags;
 | 
| +
 | 
| +  // The bounds of the surface.
 | 
| +  gfx.mojom.Rect bounds;
 | 
| +
 | 
| +  // The transform applied to all regions in this surface.
 | 
| +  gfx.mojom.Transform transform;
 | 
| +
 | 
| +  // The list of sub-regions in front to back order.
 | 
| +  array<HitTestRegion> regions;
 | 
| +};
 | 
| 
 |