1 // Copyright 2013 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 UI_BASE_COCOA_FOCUS_WINDOW_SET_H_
6 #define UI_BASE_COCOA_FOCUS_WINDOW_SET_H_
7 
8 #include <set>
9 
10 #include "ui/base/ui_base_export.h"
11 #include "ui/gfx/native_widget_types.h"
12 
13 namespace ui {
14 
15 // Brings a group of windows to the front without changing their order, and
16 // makes the frontmost one key and main. If none are visible, the frontmost
17 // miniaturized window is deminiaturized.
18 UI_BASE_EXPORT void FocusWindowSet(const std::set<gfx::NativeWindow>& windows);
19 
20 // Brings a group of windows to the front without changing their
21 // order, and makes the frontmost one key and main. If none are
22 // visible, the frontmost miniaturized window is deminiaturized. This
23 // variant is meant to clean up after the system-default Dock icon
24 // behavior. Unlike FocusWindowSet, only windows on the current space
25 // are considered. It also ignores the hidden state of windows; the
26 // window system may be in the middle of unhiding the application.
27 UI_BASE_EXPORT void FocusWindowSetOnCurrentSpace(
28     const std::set<gfx::NativeWindow>& windows);
29 
30 }  // namespace ui
31 
32 #endif  // UI_BASE_COCOA_FOCUS_WINDOW_SET_H_
33