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 ASH_WM_WINDOW_STATE_DELEGATE_H_
6#define ASH_WM_WINDOW_STATE_DELEGATE_H_
7
8#include "ash/ash_export.h"
9#include "base/basictypes.h"
10
11namespace ash {
12namespace wm {
13class WindowState;
14
15class ASH_EXPORT WindowStateDelegate {
16 public:
17  WindowStateDelegate();
18  virtual ~WindowStateDelegate();
19
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);
27
28 private:
29  DISALLOW_COPY_AND_ASSIGN(WindowStateDelegate);
30};
31
32}  // namespace wm
33}  // namespace ash
34
35#endif  // ASH_WM_WINDOW_STATE_DELEGATE_H_
36