summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorerikchen <erikchen@chromium.org>2015-07-15 14:07:27 -0700
committerCommit bot <commit-bot@chromium.org>2015-07-15 21:08:26 +0000
commit9b2c40d8eed68ef8692ec10576c9567ce10dbf9e (patch)
treeac1c7a7cb0b68843dfb4439f23e2b98cda6a8786
parent2ac5656adb9cb3e68127cdc118756de2879454f5 (diff)
downloadchromium_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.xib10
-rw-r--r--chrome/browser/ui/cocoa/browser_window_controller.h3
-rw-r--r--chrome/browser/ui/cocoa/browser_window_controller.mm39
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])