diff options
author | erikchen <erikchen@chromium.org> | 2015-07-15 14:07:27 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-15 21:08:26 +0000 |
commit | 9b2c40d8eed68ef8692ec10576c9567ce10dbf9e (patch) | |
tree | ac1c7a7cb0b68843dfb4439f23e2b98cda6a8786 | |
parent | 2ac5656adb9cb3e68127cdc118756de2879454f5 (diff) | |
download | chromium_src-9b2c40d8eed68ef8692ec10576c9567ce10dbf9e.zip chromium_src-9b2c40d8eed68ef8692ec10576c9567ce10dbf9e.tar.gz chromium_src-9b2c40d8eed68ef8692ec10576c9567ce10dbf9e.tar.bz2 |
mac: Remove presentation mode on OSX 10.7+.
This CL changes the "Enter Presentation Mode" menu item to be an alternate for
"Enter Fullscreen" on OSX 10.7+. There is no behavior change on OSX 10.6.
This CL changes the order of menu items in MainMenu.xib to have "Enter
Fullscreen" appear before "Enter Presentation Mode", which is required for the
latter to be an alternate for the former.
BUG=504573
Review URL: https://codereview.chromium.org/1214533002
Cr-Commit-Position: refs/heads/master@{#338915}
-rw-r--r-- | chrome/app/nibs/MainMenu.xib | 10 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/browser_window_controller.h | 3 | ||||
-rw-r--r-- | chrome/browser/ui/cocoa/browser_window_controller.mm | 39 |
3 files changed, 35 insertions, 17 deletions
diff --git a/chrome/app/nibs/MainMenu.xib b/chrome/app/nibs/MainMenu.xib index e12d70e..9850ab2 100644 --- a/chrome/app/nibs/MainMenu.xib +++ b/chrome/app/nibs/MainMenu.xib @@ -342,17 +342,17 @@ CA </connections> </menuItem> <menuItem isSeparatorItem="YES" id="457"/> - <menuItem title="^IDS_ENTER_PRESENTATION_MAC" tag="34039" keyEquivalent="F" id="541"> - <connections> - <action selector="commandDispatch:" target="-1" id="630"/> - </connections> - </menuItem> <menuItem title="^IDS_ENTER_FULLSCREEN_MAC" tag="34030" keyEquivalent="f" id="692"> <modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/> <connections> <action selector="commandDispatch:" target="-1" id="693"/> </connections> </menuItem> + <menuItem title="^IDS_ENTER_FULLSCREEN_MAC" tag="34039" keyEquivalent="F" id="541"> + <connections> + <action selector="commandDispatch:" target="-1" id="630"/> + </connections> + </menuItem> <menuItem title="^IDS_TEXT_DEFAULT_MAC" tag="38002" keyEquivalent="0" id="460"> <connections> <action selector="commandDispatch:" target="-1" id="556"/> diff --git a/chrome/browser/ui/cocoa/browser_window_controller.h b/chrome/browser/ui/cocoa/browser_window_controller.h index 74a6972..93070f5 100644 --- a/chrome/browser/ui/cocoa/browser_window_controller.h +++ b/chrome/browser/ui/cocoa/browser_window_controller.h @@ -499,6 +499,9 @@ class Command; // or exit Lion fullscreen mode. Must not be called on Snow Leopard or earlier. - (void)handleLionToggleFullscreen; +// The title of the fullscreen menu item in the menu bar. +- (NSString*)titleForFullscreenMenuItem; + // Enters Browser/Appkit Fullscreen. // If |withToolbar| is NO, the tab strip and toolbar are hidden // (aka Presentation Mode). diff --git a/chrome/browser/ui/cocoa/browser_window_controller.mm b/chrome/browser/ui/cocoa/browser_window_controller.mm index 0d017f6..a3a39bd 100644 --- a/chrome/browser/ui/cocoa/browser_window_controller.mm +++ b/chrome/browser/ui/cocoa/browser_window_controller.mm @@ -1132,23 +1132,20 @@ using content::WebContents; break; case IDC_FULLSCREEN: { if (NSMenuItem* menuItem = base::mac::ObjCCast<NSMenuItem>(item)) { - NSString* menuTitle = l10n_util::GetNSString( - [self isInAppKitFullscreen] && ![self inPresentationMode] - ? IDS_EXIT_FULLSCREEN_MAC - : IDS_ENTER_FULLSCREEN_MAC); - [menuItem setTitle:menuTitle]; - - if (!chrome::mac::SupportsSystemFullscreen()) + if (chrome::mac::SupportsSystemFullscreen()) { + [menuItem setTitle:[self titleForFullscreenMenuItem]]; + } else { [menuItem setHidden:YES]; + } } break; } case IDC_PRESENTATION_MODE: { if (NSMenuItem* menuItem = base::mac::ObjCCast<NSMenuItem>(item)) { - NSString* menuTitle = l10n_util::GetNSString( - [self inPresentationMode] ? IDS_EXIT_PRESENTATION_MAC : - IDS_ENTER_PRESENTATION_MAC); - [menuItem setTitle:menuTitle]; + [menuItem setTitle:[self titleForFullscreenMenuItem]]; + + if (chrome::mac::SupportsSystemFullscreen()) + [menuItem setAlternate:YES]; } break; } @@ -1219,7 +1216,13 @@ using content::WebContents; targetController = [[sender window] windowController]; DCHECK([targetController isKindOfClass:[BrowserWindowController class]]); DCHECK(targetController->browser_.get()); - chrome::ExecuteCommand(targetController->browser_.get(), [sender tag]); + + // When system fullscreen is available, it supercedes presentation mode. + int tag = [sender tag]; + if (tag == IDC_PRESENTATION_MODE && chrome::mac::SupportsSystemFullscreen()) + tag = IDC_FULLSCREEN; + + chrome::ExecuteCommand(targetController->browser_.get(), tag); } // Same as |-commandDispatch:|, but executes commands using a disposition @@ -2102,6 +2105,18 @@ willAnimateFromState:(BookmarkBar::State)oldState chrome::ExecuteCommand(browser_.get(), IDC_FULLSCREEN); } +- (NSString*)titleForFullscreenMenuItem { + if (!chrome::mac::SupportsSystemFullscreen()) { + return l10n_util::GetNSString([self inPresentationMode] + ? IDS_EXIT_PRESENTATION_MAC + : IDS_ENTER_PRESENTATION_MAC); + } + + return l10n_util::GetNSString([self isInAppKitFullscreen] + ? IDS_EXIT_FULLSCREEN_MAC + : IDS_ENTER_FULLSCREEN_MAC); +} + - (void)enterBrowserFullscreenWithToolbar:(BOOL)withToolbar { if (!chrome::mac::SupportsSystemFullscreen()) { if (![self isInImmersiveFullscreen]) |