Index: chrome/browser/ui/cocoa/browser_window_controller.mm |
diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm |
index e003b0ee4e72d54f230f4c1e9464c80c43ca2c1e..ce360081add6cc0a0ca2e638e2d030f73f0eee6a 100644 |
--- a/chrome/browser/ui/cocoa/browser_window_controller.mm |
+++ b/chrome/browser/ui/cocoa/browser_window_controller.mm |
@@ -1039,8 +1039,9 @@ enum { |
enable &= [self supportsFullscreen]; |
if ([static_cast<NSObject*>(item) isKindOfClass:[NSMenuItem class]]) { |
NSString* menuTitle = l10n_util::GetNSString( |
- [self isFullscreen] ? IDS_EXIT_FULLSCREEN_MAC : |
- IDS_ENTER_FULLSCREEN_MAC); |
+ [self isFullscreen] && ![self inPresentationMode] ? |
+ IDS_EXIT_FULLSCREEN_MAC : |
+ IDS_ENTER_FULLSCREEN_MAC); |
[static_cast<NSMenuItem*>(item) setTitle:menuTitle]; |
if (base::mac::IsOSSnowLeopardOrEarlier()) |
@@ -2028,11 +2029,8 @@ willAnimateFromState:(bookmarks::VisualState)oldState |
if (presentationMode) { |
BOOL fullscreen = [self isFullscreen]; |
- BOOL fullscreen_for_tab = |
- browser_->fullscreen_controller()->IsFullscreenForTabOrPending(); |
- if (!fullscreen_for_tab) |
- [self setShouldUsePresentationModeWhenEnteringFullscreen:YES]; |
enteredPresentationModeFromFullscreen_ = fullscreen; |
+ enteringPresentationMode_ = presentationMode; |
rohitrao (ping after 24h)
2012/07/22 11:50:44
This seems a little silly inside an if (presentati
Robert Sesek
2012/07/23 17:57:53
Done.
|
if (fullscreen) { |
// If already in fullscreen mode, just toggle the presentation mode |
@@ -2057,25 +2055,11 @@ willAnimateFromState:(bookmarks::VisualState)oldState |
[static_cast<FramedBrowserWindow*>(window) toggleSystemFullScreen]; |
} |
} else { |
- if (enteredPresentationModeFromFullscreen_) { |
- // The window is currently in fullscreen mode, but the user is choosing to |
- // turn presentation mode off (choosing to always show the UI). Set the |
- // preference to ensure that presentation mode will stay off for the next |
- // window that goes fullscreen. |
- [self setShouldUsePresentationModeWhenEnteringFullscreen:NO]; |
- [self setPresentationModeInternal:NO forceDropdown:NO]; |
- // Since -windowWillExitFullScreen: won't be called in the |
- // presentation mode --> fullscreen case, manually hide the exit bubble. |
- [self destroyFullscreenExitBubbleIfNecessary]; |
- } else { |
- // The user entered presentation mode directly from non-fullscreen mode |
- // using the "Enter Presentation Mode" menu item and is using that same |
- // menu item to exit presentation mode. In this case, exit fullscreen |
- // mode as well (using the Lion machinery). |
- NSWindow* window = [self window]; |
- if ([window isKindOfClass:[FramedBrowserWindow class]]) |
- [static_cast<FramedBrowserWindow*>(window) toggleSystemFullScreen]; |
- } |
+ // The user is currently in presentation mode and is now exiting it, which |
+ // also exits fullscreen using the Lion machinery. |
+ NSWindow* window = [self window]; |
+ if ([window isKindOfClass:[FramedBrowserWindow class]]) |
+ [static_cast<FramedBrowserWindow*>(window) toggleSystemFullScreen]; |
} |
} |