Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / ash / wm / window_state_util.cc
blobe5d6f8e1cdd9cf4c3207e3cb1c805c9232712e53
1 // Copyright 2014 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 #include "ash/wm/window_state_util.h"
7 #include "ash/wm/window_state.h"
8 #include "ash/wm/window_state_delegate.h"
9 #include "ui/aura/client/aura_constants.h"
11 namespace ash {
12 namespace wm {
14 void ToggleFullScreen(wm::WindowState* window_state,
15 WindowStateDelegate* delegate) {
16 // Window which cannot be maximized should not be full screen'ed.
17 // It can, however, be restored if it was full screen'ed.
18 bool is_fullscreen = window_state->IsFullscreen();
19 if (!is_fullscreen && !window_state->CanMaximize())
20 return;
22 if (delegate && delegate->ToggleFullscreen(window_state))
23 return;
25 if (is_fullscreen) {
26 window_state->Restore();
27 } else {
28 // Set the property to activate full screen.
29 window_state->window()->SetProperty(aura::client::kShowStateKey,
30 ui::SHOW_STATE_FULLSCREEN);
34 } // namespace wm
35 } // namespace ash