Don't include hidden windows in IsAppWindowRegisteredInAnyProfile.
[chromium-blink-merge.git] / chrome / browser / apps / app_window_registry_util.h
blob8fd6b358cc8ca99fc8e9377bbbd8032773ad6cb2
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.
5 #ifndef CHROME_BROWSER_APPS_APP_WINDOW_REGISTRY_UTIL_H_
6 #define CHROME_BROWSER_APPS_APP_WINDOW_REGISTRY_UTIL_H_
8 #include "ui/gfx/native_widget_types.h"
10 namespace extensions {
11 class AppWindow;
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);
21 // Returns true if the number of visible app windows registered across all
22 // browser 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 IsAppWindowVisibleInAnyProfile(int window_type_mask);
26 // Close all app windows in all profiles.
27 static void CloseAllAppWindows();
30 #endif // CHROME_BROWSER_APPS_APP_WINDOW_REGISTRY_UTIL_H_