OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 #import "chrome/browser/ui/cocoa/browser_window_controller_private.h" | 5 #import "chrome/browser/ui/cocoa/browser_window_controller_private.h" |
6 | 6 |
7 #include <cmath> | 7 #include <cmath> |
8 | 8 |
9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
10 #import "base/memory/scoped_nsobject.h" | 10 #import "base/memory/scoped_nsobject.h" |
(...skipping 492 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 toolbarFrame.size.height = newHeight; | 503 toolbarFrame.size.height = newHeight; |
504 NSRect bookmarkFrame = [[bookmarkBarController_ view] frame]; | 504 NSRect bookmarkFrame = [[bookmarkBarController_ view] frame]; |
505 bookmarkFrame.size.height = bookmarkFrame.size.height - deltaH; | 505 bookmarkFrame.size.height = bookmarkFrame.size.height - deltaH; |
506 [[toolbarController_ view] setFrame:toolbarFrame]; | 506 [[toolbarController_ view] setFrame:toolbarFrame]; |
507 [[bookmarkBarController_ view] setFrame:bookmarkFrame]; | 507 [[bookmarkBarController_ view] setFrame:bookmarkFrame]; |
508 [self layoutSubviews]; | 508 [self layoutSubviews]; |
509 } | 509 } |
510 | 510 |
511 // Fullscreen and presentation mode methods | 511 // Fullscreen and presentation mode methods |
512 | 512 |
513 - (BOOL)shouldUsePresentationModeWhenEnteringFullscreen { | |
514 return browser_->profile()->GetPrefs()->GetBoolean( | |
515 prefs::kPresentationModeEnabled); | |
516 } | |
517 | |
518 - (void)setShouldUsePresentationModeWhenEnteringFullscreen:(BOOL)flag { | |
519 browser_->profile()->GetPrefs()->SetBoolean( | |
520 prefs::kPresentationModeEnabled, flag); | |
521 } | |
522 | |
523 - (BOOL)shouldShowPresentationModeToggle { | 513 - (BOOL)shouldShowPresentationModeToggle { |
524 return base::mac::IsOSLionOrLater() && [self isFullscreen]; | 514 return base::mac::IsOSLionOrLater() && [self isFullscreen]; |
525 } | 515 } |
526 | 516 |
527 - (void)moveViewsForFullscreenForSnowLeopardOrEarlier:(BOOL)fullscreen | 517 - (void)moveViewsForFullscreenForSnowLeopardOrEarlier:(BOOL)fullscreen |
528 regularWindow:(NSWindow*)regularWindow | 518 regularWindow:(NSWindow*)regularWindow |
529 fullscreenWindow:(NSWindow*)fullscreenWindow { | 519 fullscreenWindow:(NSWindow*)fullscreenWindow { |
530 // This method is only for Snow Leopard and earlier. | 520 // This method is only for Snow Leopard and earlier. |
531 DCHECK(base::mac::IsOSSnowLeopardOrEarlier()); | 521 DCHECK(base::mac::IsOSSnowLeopardOrEarlier()); |
532 | 522 |
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
802 return (opt | | 792 return (opt | |
803 NSApplicationPresentationAutoHideDock | | 793 NSApplicationPresentationAutoHideDock | |
804 NSApplicationPresentationAutoHideMenuBar); | 794 NSApplicationPresentationAutoHideMenuBar); |
805 } | 795 } |
806 | 796 |
807 - (void)windowWillEnterFullScreen:(NSNotification*)notification { | 797 - (void)windowWillEnterFullScreen:(NSNotification*)notification { |
808 [self registerForContentViewResizeNotifications]; | 798 [self registerForContentViewResizeNotifications]; |
809 | 799 |
810 NSWindow* window = [self window]; | 800 NSWindow* window = [self window]; |
811 savedRegularWindowFrame_ = [window frame]; | 801 savedRegularWindowFrame_ = [window frame]; |
812 BOOL mode = [self shouldUsePresentationModeWhenEnteringFullscreen]; | 802 BOOL mode = enteringPresentationMode_ || |
813 mode = mode || | 803 browser_->fullscreen_controller()->IsFullscreenForTabOrPending(); |
814 browser_->fullscreen_controller()->IsFullscreenForTabOrPending(); | |
815 enteringFullscreen_ = YES; | 804 enteringFullscreen_ = YES; |
816 [self setPresentationModeInternal:mode forceDropdown:NO]; | 805 [self setPresentationModeInternal:mode forceDropdown:NO]; |
817 } | 806 } |
818 | 807 |
819 - (void)windowDidEnterFullScreen:(NSNotification*)notification { | 808 - (void)windowDidEnterFullScreen:(NSNotification*)notification { |
820 if (base::mac::IsOSLionOrLater()) | 809 if (base::mac::IsOSLionOrLater()) |
821 [self deregisterForContentViewResizeNotifications]; | 810 [self deregisterForContentViewResizeNotifications]; |
822 enteringFullscreen_ = NO; | 811 enteringFullscreen_ = NO; |
| 812 enteringPresentationMode_ = NO; |
823 [self showFullscreenExitBubbleIfNecessary]; | 813 [self showFullscreenExitBubbleIfNecessary]; |
824 browser_->WindowFullscreenStateChanged(); | 814 browser_->WindowFullscreenStateChanged(); |
825 } | 815 } |
826 | 816 |
827 - (void)windowWillExitFullScreen:(NSNotification*)notification { | 817 - (void)windowWillExitFullScreen:(NSNotification*)notification { |
828 if (base::mac::IsOSLionOrLater()) | 818 if (base::mac::IsOSLionOrLater()) |
829 [self registerForContentViewResizeNotifications]; | 819 [self registerForContentViewResizeNotifications]; |
830 [self destroyFullscreenExitBubbleIfNecessary]; | 820 [self destroyFullscreenExitBubbleIfNecessary]; |
831 [self setPresentationModeInternal:NO forceDropdown:NO]; | 821 [self setPresentationModeInternal:NO forceDropdown:NO]; |
832 } | 822 } |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
869 - (void)disableBarVisibilityUpdates { | 859 - (void)disableBarVisibilityUpdates { |
870 // Early escape if there's nothing to do. | 860 // Early escape if there's nothing to do. |
871 if (!barVisibilityUpdatesEnabled_) | 861 if (!barVisibilityUpdatesEnabled_) |
872 return; | 862 return; |
873 | 863 |
874 barVisibilityUpdatesEnabled_ = NO; | 864 barVisibilityUpdatesEnabled_ = NO; |
875 [presentationModeController_ cancelAnimationAndTimers]; | 865 [presentationModeController_ cancelAnimationAndTimers]; |
876 } | 866 } |
877 | 867 |
878 @end // @implementation BrowserWindowController(Private) | 868 @end // @implementation BrowserWindowController(Private) |
OLD | NEW |