1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/ui/ash/ash_util.h"
6
7#include "ash/shell.h"
8#include "chrome/browser/ui/ash/ash_init.h"
9#include "chrome/browser/ui/host_desktop.h"
10#include "ui/aura/window_event_dispatcher.h"
11
12namespace chrome {
13
14bool IsNativeViewInAsh(gfx::NativeView native_view) {
15#if defined(OS_CHROMEOS)
16  // Optimization. There is only ash or only athena on ChromeOS.
17  return ash::Shell::HasInstance();
18#endif
19
20  if (!ash::Shell::HasInstance())
21    return false;
22
23  aura::Window::Windows root_windows =
24      ash::Shell::GetInstance()->GetAllRootWindows();
25
26  for (aura::Window::Windows::const_iterator it = root_windows.begin();
27       it != root_windows.end(); ++it) {
28    if ((*it)->Contains(native_view))
29      return true;
30  }
31
32  return false;
33}
34
35bool IsNativeWindowInAsh(gfx::NativeWindow native_window) {
36  return IsNativeViewInAsh(native_window);
37}
38
39}  // namespace chrome
40