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

Side by Side Diff: chrome/browser/ui/cocoa/apps/native_app_window_cocoa.mm

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/cocoa/apps/native_app_window_cocoa.h" 5 #include "chrome/browser/ui/cocoa/apps/native_app_window_cocoa.h"
6 6
7 #include "apps/app_shim/extension_app_shim_handler_mac.h" 7 #include "apps/app_shim/extension_app_shim_handler_mac.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/mac/mac_util.h" 9 #include "base/mac/mac_util.h"
10 #include "base/strings/sys_string_conversions.h" 10 #include "base/strings/sys_string_conversions.h"
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
420 } 420 }
421 421
422 bool NativeAppWindowCocoa::IsMinimized() const { 422 bool NativeAppWindowCocoa::IsMinimized() const {
423 return [window() isMiniaturized]; 423 return [window() isMiniaturized];
424 } 424 }
425 425
426 bool NativeAppWindowCocoa::IsFullscreen() const { 426 bool NativeAppWindowCocoa::IsFullscreen() const {
427 return is_fullscreen_; 427 return is_fullscreen_;
428 } 428 }
429 429
430 void NativeAppWindowCocoa::SetFullscreen(bool fullscreen) { 430 void NativeAppWindowCocoa::SetFullscreen(ShellWindow::FullscreenType type) {
oshima 2013/11/07 18:56:13 Is it worth DCHECKing not immersive here?
pkotwicz 2013/11/07 22:21:48 Personally, I would rather skip the DCHECK() given
431 bool fullscreen = (type != ShellWindow::FULLSCREEN_TYPE_NONE);
431 if (fullscreen == is_fullscreen_) 432 if (fullscreen == is_fullscreen_)
432 return; 433 return;
433 is_fullscreen_ = fullscreen; 434 is_fullscreen_ = fullscreen;
434 435
435 if (base::mac::IsOSLionOrLater()) { 436 if (base::mac::IsOSLionOrLater()) {
436 // If going fullscreen, but the window is constrained (fullscreen UI control 437 // If going fullscreen, but the window is constrained (fullscreen UI control
437 // is disabled), temporarily enable it. It will be disabled again on leaving 438 // is disabled), temporarily enable it. It will be disabled again on leaving
438 // fullscreen. 439 // fullscreen.
439 if (fullscreen && !shows_fullscreen_controls_) 440 if (fullscreen && !shows_fullscreen_controls_)
440 SetFullScreenCollectionBehavior(window(), true); 441 SetFullScreenCollectionBehavior(window(), true);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
476 InstallView(); 477 InstallView();
477 478
478 // Fade back in. 479 // Fade back in.
479 if (did_fade_out) { 480 if (did_fade_out) {
480 CGDisplayFade(token, kFadeDurationSeconds / 2, kCGDisplayBlendSolidColor, 481 CGDisplayFade(token, kFadeDurationSeconds / 2, kCGDisplayBlendSolidColor,
481 kCGDisplayBlendNormal, 0.0, 0.0, 0.0, /*synchronous=*/false); 482 kCGDisplayBlendNormal, 0.0, 0.0, 0.0, /*synchronous=*/false);
482 CGReleaseDisplayFadeReservation(token); 483 CGReleaseDisplayFadeReservation(token);
483 } 484 }
484 } 485 }
485 486
486 bool NativeAppWindowCocoa::IsFullscreenOrPending() const { 487 bool NativeAppWindowCocoa::SupportsImmersiveFullscreen() const {
487 return is_fullscreen_; 488 return false;
488 } 489 }
489 490
490 bool NativeAppWindowCocoa::IsDetached() const { 491 bool NativeAppWindowCocoa::IsDetached() const {
491 return false; 492 return false;
492 } 493 }
493 494
494 gfx::NativeWindow NativeAppWindowCocoa::GetNativeWindow() { 495 gfx::NativeWindow NativeAppWindowCocoa::GetNativeWindow() {
495 return window(); 496 return window();
496 } 497 }
497 498
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
564 UpdateRestoredBounds(); 565 UpdateRestoredBounds();
565 is_maximized_ = true; // See top of file NOTE: State Before Update. 566 is_maximized_ = true; // See top of file NOTE: State Before Update.
566 [window() setFrame:[[window() screen] visibleFrame] display:YES animate:YES]; 567 [window() setFrame:[[window() screen] visibleFrame] display:YES animate:YES];
567 } 568 }
568 569
569 void NativeAppWindowCocoa::Minimize() { 570 void NativeAppWindowCocoa::Minimize() {
570 [window() miniaturize:window_controller_]; 571 [window() miniaturize:window_controller_];
571 } 572 }
572 573
573 void NativeAppWindowCocoa::Restore() { 574 void NativeAppWindowCocoa::Restore() {
574 DCHECK(!IsFullscreenOrPending()); // SetFullscreen, not Restore, expected. 575 DCHECK(!is_fullscreen_); // SetFullscreen, not Restore, expected.
575 576
576 if (IsMaximized()) { 577 if (IsMaximized()) {
577 is_maximized_ = false; // See top of file NOTE: State Before Update. 578 is_maximized_ = false; // See top of file NOTE: State Before Update.
578 [window() setFrame:restored_bounds() display:YES animate:YES]; 579 [window() setFrame:restored_bounds() display:YES animate:YES];
579 } else if (IsMinimized()) { 580 } else if (IsMinimized()) {
580 is_maximized_ = false; // See top of file NOTE: State Before Update. 581 is_maximized_ = false; // See top of file NOTE: State Before Update.
581 [window() deminiaturize:window_controller_]; 582 [window() deminiaturize:window_controller_];
582 } 583 }
583 } 584 }
584 585
(...skipping 424 matching lines...) Expand 10 before | Expand all | Expand 10 after
1009 [window() setContentMinSize:NSMakeSize(min_size.width(), min_size.height())]; 1010 [window() setContentMinSize:NSMakeSize(min_size.width(), min_size.height())];
1010 1011
1011 gfx::Size max_size = shell_window_->size_constraints().GetMaximumSize(); 1012 gfx::Size max_size = shell_window_->size_constraints().GetMaximumSize();
1012 const int kUnboundedSize = ShellWindow::SizeConstraints::kUnboundedSize; 1013 const int kUnboundedSize = ShellWindow::SizeConstraints::kUnboundedSize;
1013 CGFloat max_width = max_size.width() == kUnboundedSize ? 1014 CGFloat max_width = max_size.width() == kUnboundedSize ?
1014 CGFLOAT_MAX : max_size.width(); 1015 CGFLOAT_MAX : max_size.width();
1015 CGFloat max_height = max_size.height() == kUnboundedSize ? 1016 CGFloat max_height = max_size.height() == kUnboundedSize ?
1016 CGFLOAT_MAX : max_size.height(); 1017 CGFLOAT_MAX : max_size.height();
1017 [window() setContentMaxSize:NSMakeSize(max_width, max_height)]; 1018 [window() setContentMaxSize:NSMakeSize(max_width, max_height)];
1018 } 1019 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698