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