• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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 #ifndef CHROME_BROWSER_APPS_APP_WINDOW_REGISTRY_UTIL_H_
6 #define CHROME_BROWSER_APPS_APP_WINDOW_REGISTRY_UTIL_H_
7 
8 #include "ui/gfx/native_widget_types.h"
9 
10 namespace extensions {
11 class AppWindow;
12 }
13 
14 // Utility functions to interact with app windows across all profiles.
15 class AppWindowRegistryUtil {
16  public:
17   // Returns the app window for |window|, looking in all browser contexts.
18   static extensions::AppWindow* GetAppWindowForNativeWindowAnyProfile(
19       gfx::NativeWindow window);
20 
21   // Returns true if the number of app windows registered across all browser
22   // contexts is non-zero. |window_type_mask| is a bitwise OR filter of
23   // AppWindow::WindowType, or 0 for any window type.
24   static bool IsAppWindowRegisteredInAnyProfile(int window_type_mask);
25 
26   // Close all app windows in all profiles.
27   static void CloseAllAppWindows();
28 };
29 
30 #endif  // CHROME_BROWSER_APPS_APP_WINDOW_REGISTRY_UTIL_H_
31