Index: components/mus/ws/window_finder.cc |
diff --git a/components/mus/ws/window_finder.cc b/components/mus/ws/window_finder.cc |
index 592d7538d330c71705ce4306769ecc00f7abd544..116b52cfd8db820a50e4ed5ba97cd91fb82b6821 100644 |
--- a/components/mus/ws/window_finder.cc |
+++ b/components/mus/ws/window_finder.cc |
@@ -4,7 +4,6 @@ |
#include "components/mus/ws/window_finder.h" |
-#include "cc/surfaces/surface_id.h" |
#include "components/mus/surfaces/surfaces_state.h" |
#include "components/mus/ws/server_window.h" |
#include "components/mus/ws/server_window_delegate.h" |
@@ -17,7 +16,6 @@ |
namespace mus { |
namespace ws { |
-namespace { |
bool IsValidWindowForEvents(ServerWindow* window) { |
ServerWindowSurfaceManager* surface_manager = window->surface_manager(); |
@@ -25,8 +23,8 @@ bool IsValidWindowForEvents(ServerWindow* window) { |
surface_manager->HasSurfaceOfType(mojom::SurfaceType::DEFAULT); |
} |
-ServerWindow* FindDeepestVisibleWindowNonSurface(ServerWindow* window, |
- gfx::Point* location) { |
+ServerWindow* FindDeepestVisibleWindowForEvents(ServerWindow* window, |
+ gfx::Point* location) { |
const ServerWindow::Windows children(window->GetChildren()); |
for (auto iter = children.rbegin(); iter != children.rend(); ++iter) { |
ServerWindow* child = *iter; |
@@ -43,8 +41,7 @@ ServerWindow* FindDeepestVisibleWindowNonSurface(ServerWindow* window, |
-child->extended_hit_test_region().bottom()); |
if (child_bounds.Contains(child_location)) { |
*location = child_location; |
- ServerWindow* result = |
- FindDeepestVisibleWindowNonSurface(child, location); |
+ ServerWindow* result = FindDeepestVisibleWindowForEvents(child, location); |
if (IsValidWindowForEvents(result)) |
return result; |
} |
@@ -52,7 +49,7 @@ ServerWindow* FindDeepestVisibleWindowNonSurface(ServerWindow* window, |
return window; |
} |
-gfx::Transform GetTransformToWindowNonSurface(ServerWindow* window) { |
+gfx::Transform GetTransformToWindow(ServerWindow* window) { |
gfx::Transform transform; |
ServerWindow* current = window; |
while (current->parent()) { |
@@ -62,67 +59,5 @@ gfx::Transform GetTransformToWindowNonSurface(ServerWindow* window) { |
return transform; |
} |
-bool HitTestSurfaceOfType(cc::SurfaceId display_surface_id, |
- ServerWindow* window, |
- mus::mojom::SurfaceType surface_type, |
- gfx::Transform* transform) { |
- *transform = gfx::Transform(); |
- ServerWindowSurface* surface = |
- window->GetOrCreateSurfaceManager()->GetSurfaceByType(surface_type); |
- return surface && |
- window->delegate() |
- ->GetSurfacesState() |
- ->hit_tester() |
- ->GetTransformToTargetSurface(display_surface_id, surface->id(), |
- transform); |
-} |
- |
-} // namespace |
- |
-ServerWindow* FindDeepestVisibleWindowForEvents( |
- ServerWindow* root_window, |
- cc::SurfaceId display_surface_id, |
- gfx::Point* location) { |
- // TODO(sky): remove this when insets can be set on surface. |
- display_surface_id = cc::SurfaceId(); |
- |
- if (display_surface_id.is_null()) { |
- // Surface-based hit-testing will not return a valid target if no |
- // CompositorFrame has been submitted (e.g. in unit-tests). |
- return FindDeepestVisibleWindowNonSurface(root_window, location); |
- } |
- |
- gfx::Transform transform; |
- cc::SurfaceId target_surface = |
- root_window->delegate() |
- ->GetSurfacesState() |
- ->hit_tester() |
- ->GetTargetSurfaceAtPoint(display_surface_id, *location, &transform); |
- WindowId id = WindowIdFromTransportId( |
- cc::SurfaceIdAllocator::NamespaceForId(target_surface)); |
- // TODO(fsamuel): This should be a DCHECK but currently we use stale |
- // information to decide where to route input events. This should be fixed |
- // once we implement a UI scheduler. |
- ServerWindow* target = root_window->GetChildWindow(id); |
- if (target) |
- transform.TransformPoint(location); |
- return target; |
-} |
- |
-gfx::Transform GetTransformToWindow(cc::SurfaceId display_surface_id, |
- ServerWindow* window) { |
- if (!display_surface_id.is_null()) { |
- gfx::Transform transform; |
- if (HitTestSurfaceOfType(display_surface_id, window, |
- mus::mojom::SurfaceType::DEFAULT, &transform) || |
- HitTestSurfaceOfType(display_surface_id, window, |
- mus::mojom::SurfaceType::UNDERLAY, &transform)) { |
- return transform; |
- } |
- } |
- |
- return GetTransformToWindowNonSurface(window); |
-} |
- |
} // namespace ws |
} // namespace mus |