Home | History | Annotate | Download | only in ash
      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 
     12 namespace chrome {
     13 
     14 bool 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 
     35 bool IsNativeWindowInAsh(gfx::NativeWindow native_window) {
     36   return IsNativeViewInAsh(native_window);
     37 }
     38 
     39 }  // namespace chrome
     40