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
13namespace 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.
18UI_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.
27UI_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