| Index: chrome/browser/ui/cocoa/browser_window_controller_private.mm
|
| diff --git a/chrome/browser/ui/cocoa/browser_window_controller_private.mm b/chrome/browser/ui/cocoa/browser_window_controller_private.mm
|
| index 303bd7a318776c555adfb4926c21fdd153ec28f8..9ff7da1c64303fa0bff5b3de5f8fea12a9fa2901 100644
|
| --- a/chrome/browser/ui/cocoa/browser_window_controller_private.mm
|
| +++ b/chrome/browser/ui/cocoa/browser_window_controller_private.mm
|
| @@ -10,6 +10,7 @@
|
| #import "base/mac/scoped_nsobject.h"
|
| #include "base/prefs/pref_service.h"
|
| #include "chrome/browser/browser_process.h"
|
| +#include "chrome/browser/fullscreen.h"
|
| #include "chrome/browser/prefs/scoped_user_pref_update.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/profiles/profile_info_util.h"
|
| @@ -318,10 +319,10 @@ willPositionSheet:(NSWindow*)sheet
|
| // toggle button on Lion. On non-Lion systems, the right indent needs to be
|
| // adjusted to make room for the new tab button when an avatar is present.
|
| CGFloat rightIndent = 0;
|
| - if (base::mac::IsOSLionOrLater()) {
|
| + if (base::mac::IsOSLionOrLater() &&
|
| + [[self window] isKindOfClass:[FramedBrowserWindow class]]) {
|
| FramedBrowserWindow* window =
|
| static_cast<FramedBrowserWindow*>([self window]);
|
| - DCHECK([window isKindOfClass:[FramedBrowserWindow class]]);
|
| rightIndent += -[window fullScreenButtonOriginAdjustment].x;
|
| } else if ([self shouldShowAvatar]) {
|
| rightIndent += kAvatarTabStripShrink;
|
| @@ -492,14 +493,14 @@ willPositionSheet:(NSWindow*)sheet
|
| // Fullscreen and presentation mode methods
|
|
|
| - (BOOL)shouldShowPresentationModeToggle {
|
| - return base::mac::IsOSLionOrLater() && [self isFullscreen];
|
| + return chrome::mac::SupportsSystemFullscreen() && [self isFullscreen];
|
| }
|
|
|
| - (void)moveViewsForFullscreenForSnowLeopard:(BOOL)fullscreen
|
| regularWindow:(NSWindow*)regularWindow
|
| fullscreenWindow:(NSWindow*)fullscreenWindow {
|
| - // This method is only for Snow Leopard.
|
| - DCHECK(base::mac::IsOSSnowLeopard());
|
| + // This method is only for systems without fullscreen support.
|
| + DCHECK(!chrome::mac::SupportsSystemFullscreen());
|
|
|
| NSWindow* sourceWindow = fullscreen ? regularWindow : fullscreenWindow;
|
| NSWindow* destWindow = fullscreen ? fullscreenWindow : regularWindow;
|
| @@ -613,7 +614,9 @@ willPositionSheet:(NSWindow*)sheet
|
| }
|
|
|
| - (void)enterFullscreenForSnowLeopard {
|
| - DCHECK(base::mac::IsOSSnowLeopard());
|
| + // TODO(rohitrao): This method is misnamed now, since there is a flag that
|
| + // enables 10.6-style fullscreen on newer OSes.
|
| + DCHECK(!chrome::mac::SupportsSystemFullscreen());
|
|
|
| // Fade to black.
|
| const CGDisplayReservationInterval kFadeDurationSeconds = 0.6;
|
| @@ -650,7 +653,9 @@ willPositionSheet:(NSWindow*)sheet
|
| }
|
|
|
| - (void)exitFullscreenForSnowLeopard {
|
| - DCHECK(base::mac::IsOSSnowLeopard());
|
| + // TODO(rohitrao): This method is misnamed now, since there is a flag that
|
| + // enables 10.6-style fullscreen on newer OSes.
|
| + DCHECK(!chrome::mac::SupportsSystemFullscreen());
|
|
|
| // Fade to black.
|
| const CGDisplayReservationInterval kFadeDurationSeconds = 0.6;
|
| @@ -779,7 +784,7 @@ willPositionSheet:(NSWindow*)sheet
|
| }
|
|
|
| - (void)windowDidEnterFullScreen:(NSNotification*)notification {
|
| - if (base::mac::IsOSLionOrLater())
|
| + if (chrome::mac::SupportsSystemFullscreen())
|
| [self deregisterForContentViewResizeNotifications];
|
| enteringFullscreen_ = NO;
|
| enteringPresentationMode_ = NO;
|
| @@ -788,14 +793,14 @@ willPositionSheet:(NSWindow*)sheet
|
| }
|
|
|
| - (void)windowWillExitFullScreen:(NSNotification*)notification {
|
| - if (base::mac::IsOSLionOrLater())
|
| + if (chrome::mac::SupportsSystemFullscreen())
|
| [self registerForContentViewResizeNotifications];
|
| [self destroyFullscreenExitBubbleIfNecessary];
|
| [self setPresentationModeInternal:NO forceDropdown:NO];
|
| }
|
|
|
| - (void)windowDidExitFullScreen:(NSNotification*)notification {
|
| - if (base::mac::IsOSLionOrLater())
|
| + if (chrome::mac::SupportsSystemFullscreen())
|
| [self deregisterForContentViewResizeNotifications];
|
| browser_->WindowFullscreenStateChanged();
|
| }
|
|
|