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"
15 class ASH_EXPORT WindowStateDelegate
{
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
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
);
34 DISALLOW_COPY_AND_ASSIGN(WindowStateDelegate
);
40 #endif // ASH_WM_WINDOW_STATE_DELEGATE_H_