1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// Copyright 2014 The Chromium Authors. All rights reserved. 2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// Use of this source code is governed by a BSD-style license that can be 3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org// found in the LICENSE file. 4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "chrome/browser/ui/views/tabs/window_finder.h" 6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "ui/views/widget/desktop_aura/x11_topmost_window_finder.h" 8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if defined(USE_ASH) 10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgaura::Window* GetLocalProcessWindowAtPointAsh( 11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const gfx::Point& screen_point, 12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const std::set<aura::Window*>& ignore); 13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgaura::Window* GetLocalProcessWindowAtPoint( 16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org chrome::HostDesktopType host_desktop_type, 17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const gfx::Point& screen_point, 18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org const std::set<aura::Window*>& ignore) { 19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#if defined(USE_ASH) 20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org if (host_desktop_type == chrome::HOST_DESKTOP_TYPE_ASH) 21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return GetLocalProcessWindowAtPointAsh(screen_point, ignore); 22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif 23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org 24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org // The X11 server is the canonical state of what the window stacking order 25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org // is. 26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org views::X11TopmostWindowFinder finder; 27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org return finder.FindLocalProcessWindowAt(screen_point, ignore); 28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org} 29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org