Updating XTBs based on .GRDs from branch master
[chromium-blink-merge.git] / ash / wm / window_state_delegate.h
blobf3480c3e6554e57fd93987aef8a5435c9f02ab7d
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.
5 #ifndef ASH_WM_WINDOW_STATE_DELEGATE_H_
6 #define ASH_WM_WINDOW_STATE_DELEGATE_H_
8 #include "ash/ash_export.h"
9 #include "base/basictypes.h"
11 namespace ash {
12 namespace wm {
13 class WindowState;
15 class ASH_EXPORT WindowStateDelegate {
16 public:
17 WindowStateDelegate();
18 virtual ~WindowStateDelegate();
20 // Invoked when the user uses Shift+F4/F4 to toggle the window fullscreen
21 // state. If the window is not fullscreen and the window supports immersive
22 // fullscreen ToggleFullscreen() should put the window into immersive
23 // fullscreen instead of the default fullscreen type. The caller
24 // (ash::wm::WindowState) falls backs to the default implementation if this
25 // returns false.
26 virtual bool ToggleFullscreen(WindowState* window_state);
28 // Invoked when workspace fullscreen state changes and a window may need to
29 // reassert its always on top state. Returns true if delegate has handled this
30 // and no additional work is needed, false otherwise.
31 virtual bool RestoreAlwaysOnTop(WindowState* window_state);
33 private:
34 DISALLOW_COPY_AND_ASSIGN(WindowStateDelegate);
37 } // namespace wm
38 } // namespace ash
40 #endif // ASH_WM_WINDOW_STATE_DELEGATE_H_