[go: nahoru, domu]

[mus+ash] Implements hit-test client in Aura

Implements HitTestDataProvider for Mus and wire it to
ClientLayerTreeFrameSink. HitTestDataProviderMus makes use of
refactored WindowTargeter::GetHitTestData() to get the hit test
rectangles from a window and associates those with the window ID
and transform before passing it to compositor.

Bug: 732395
Test: aura_unittests --gtest_filter=*HitTestDataProviderMusTest*
Change-Id: Id492e53527387e9e91bf474cfb2bdea7548063ad
Reviewed-on: https://chromium-review.googlesource.com/574882
Reviewed-by: Nasko Oskov <nasko@chromium.org>
Reviewed-by: Robert Kroeger <rjkroege@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: Valery Arkhangorodsky <varkha@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491544}
diff --git a/ui/aura/BUILD.gn b/ui/aura/BUILD.gn
index 6d67370..8677c428 100644
--- a/ui/aura/BUILD.gn
+++ b/ui/aura/BUILD.gn
@@ -44,6 +44,7 @@
     "mus/focus_synchronizer.h",
     "mus/focus_synchronizer_delegate.h",
     "mus/focus_synchronizer_observer.h",
+    "mus/hit_test_data_provider_aura.h",
     "mus/in_flight_change.h",
     "mus/input_method_mus.h",
     "mus/mus_context_factory.h",
@@ -106,6 +107,7 @@
     "mus/client_surface_embedder.cc",
     "mus/drag_drop_controller_mus.cc",
     "mus/focus_synchronizer.cc",
+    "mus/hit_test_data_provider_aura.cc",
     "mus/in_flight_change.cc",
     "mus/input_method_mus.cc",
     "mus/mus_context_factory.cc",
@@ -336,6 +338,7 @@
   sources = [
     "gestures/gesture_recognizer_unittest.cc",
     "mus/drag_drop_controller_mus_unittest.cc",
+    "mus/hit_test_data_provider_aura_unittest.cc",
     "mus/input_method_mus_unittest.cc",
     "mus/os_exchange_data_provider_mus_unittest.cc",
     "mus/property_converter_unittest.cc",
@@ -352,6 +355,7 @@
   deps = [
     ":test_support",
     "//base/test:test_support",
+    "//components/viz/client",
     "//mojo/common",
     "//mojo/edk/system",
     "//net",