Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(86)

Side by Side Diff: chrome/browser/ui/views/frame/browser_frame_ash.cc

Issue 59043013: Add flag to enable immersive fullscreen for v2 apps (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/views/frame/browser_frame_ash.h" 5 #include "chrome/browser/ui/views/frame/browser_frame_ash.h"
6 6
7 #include "ash/wm/window_state.h" 7 #include "ash/wm/window_state.h"
8 #include "ash/wm/window_state_delegate.h" 8 #include "ash/wm/window_state_delegate.h"
9 #include "ash/wm/window_util.h" 9 #include "ash/wm/window_util.h"
10 #include "chrome/browser/ui/browser_commands.h" 10 #include "chrome/browser/ui/browser_commands.h"
(...skipping 12 matching lines...) Expand all
23 // request (Shift+F4/F4) for browser (tabbed/popup) windows. 23 // request (Shift+F4/F4) for browser (tabbed/popup) windows.
24 class BrowserWindowStateDelegate : public ash::wm::WindowStateDelegate { 24 class BrowserWindowStateDelegate : public ash::wm::WindowStateDelegate {
25 public: 25 public:
26 explicit BrowserWindowStateDelegate(Browser* browser) 26 explicit BrowserWindowStateDelegate(Browser* browser)
27 : browser_(browser) { 27 : browser_(browser) {
28 DCHECK(browser_); 28 DCHECK(browser_);
29 } 29 }
30 virtual ~BrowserWindowStateDelegate(){} 30 virtual ~BrowserWindowStateDelegate(){}
31 31
32 // Overridden from ash::wm::WindowStateDelegate. 32 // Overridden from ash::wm::WindowStateDelegate.
33 virtual bool ToggleFullscreen(ash::wm::WindowState* window_state) OVERRIDE { 33 virtual bool EnterImmersiveFullscreen(
34 DCHECK(window_state->IsFullscreen() || window_state->CanMaximize()); 34 ash::wm::WindowState* window_state) OVERRIDE {
35 // Windows which cannot be maximized should not be fullscreened. 35 // Immersive fullscreen is the same as browser fullscreen.
36 if (!window_state->IsFullscreen() && !window_state->CanMaximize()) 36 if (!window_state->IsFullscreen())
37 return true; 37 chrome::ToggleFullscreenMode(browser_);
38 chrome::ToggleFullscreenMode(browser_); 38 return true;
39 }
40 virtual bool ExitFullscreen(ash::wm::WindowState* window_state) OVERRIDE {
41 if (window_state->IsFullscreen())
42 chrome::ToggleFullscreenMode(browser_);
39 return true; 43 return true;
40 } 44 }
41 private: 45 private:
42 Browser* browser_; // not owned. 46 Browser* browser_; // not owned.
43 47
44 DISALLOW_COPY_AND_ASSIGN(BrowserWindowStateDelegate); 48 DISALLOW_COPY_AND_ASSIGN(BrowserWindowStateDelegate);
45 }; 49 };
46 50
47 // AppNonClientFrameViewAsh shows only the window controls and no 51 // AppNonClientFrameViewAsh shows only the window controls and no
48 // other window decorations which is pretty close to fullscreen. Put 52 // other window decorations which is pretty close to fullscreen. Put
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 BrowserFrameAsh::~BrowserFrameAsh() { 224 BrowserFrameAsh::~BrowserFrameAsh() {
221 } 225 }
222 226
223 void BrowserFrameAsh::SetWindowAutoManaged() { 227 void BrowserFrameAsh::SetWindowAutoManaged() {
224 if (browser_view_->browser()->type() != Browser::TYPE_POPUP || 228 if (browser_view_->browser()->type() != Browser::TYPE_POPUP ||
225 browser_view_->browser()->is_app()) { 229 browser_view_->browser()->is_app()) {
226 ash::wm::GetWindowState(GetNativeWindow())-> 230 ash::wm::GetWindowState(GetNativeWindow())->
227 set_window_position_managed(true); 231 set_window_position_managed(true);
228 } 232 }
229 } 233 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698