Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3834)

Unified Diff: chrome/browser/ui/cocoa/browser_window_touch_bar.mm

Issue 2814683005: [Mac] Support for Touch Bar Customization (Closed)
Patch Set: Fix for rsesek Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/browser_window_touch_bar.mm
diff --git a/chrome/browser/ui/cocoa/browser_window_touch_bar.mm b/chrome/browser/ui/cocoa/browser_window_touch_bar.mm
index a8400112461baf35401c8cbdb27d6f96eb260726..88495e0a1b04bac442fe3c3aa179e2e237c412a8 100644
--- a/chrome/browser/ui/cocoa/browser_window_touch_bar.mm
+++ b/chrome/browser/ui/cocoa/browser_window_touch_bar.mm
@@ -54,15 +54,21 @@ enum TouchBarAction {
// The touch bar's identifier.
const NSTouchBarCustomizationIdentifier kBrowserWindowTouchBarId =
- @"BrowserWindowTouchBarId";
+ @"com.google.chrome.browser-window";
// Touch bar items identifiers.
-const NSTouchBarItemIdentifier kBackForwardTouchId = @"BackForwardTouchId";
-const NSTouchBarItemIdentifier kReloadOrStopTouchId = @"ReloadOrStopTouchId";
-const NSTouchBarItemIdentifier kHomeTouchId = @"HomeTouchId";
-const NSTouchBarItemIdentifier kSearchTouchId = @"SearchTouchId";
-const NSTouchBarItemIdentifier kStarTouchId = @"StarTouchId";
-const NSTouchBarItemIdentifier kNewTabTouchId = @"NewTabTouchId";
+const NSTouchBarItemIdentifier kBackForwardTouchId =
+ @"com.google.chrome.browser-window-BACK-FWD";
+const NSTouchBarItemIdentifier kReloadOrStopTouchId =
+ @"com.google.chrome.browser-window-RELOAD-STOP";
+const NSTouchBarItemIdentifier kHomeTouchId =
+ @"com.google.chrome.browser-window-HOME";
+const NSTouchBarItemIdentifier kSearchTouchId =
+ @"com.google.chrome.browser-window--SEARCH";
+const NSTouchBarItemIdentifier kStarTouchId =
+ @"com.google.chrome.browser-window-BOOKMARK";
+const NSTouchBarItemIdentifier kNewTabTouchId =
+ @"com.google.chrome.browser-window-NEW-TAB";
// The button indexes in the back and forward segment control.
const int kBackSegmentIndex = 0;
@@ -75,9 +81,8 @@ const SkColor kTouchBarStarActiveColor = gfx::kGoogleBlue500;
// The size of the touch bar icons.
const int kTouchBarIconSize = 16;
-// The width of the search button in the touch bar.
-const int kSearchBtnWidthWithHomeBtn = 205;
-const int kSearchBtnWidthWithoutHomeBtn = 280;
+// The min width of the search button in the touch bar.
+const int kSearchBtnMinWidth = 205;
// Creates an NSImage from the given VectorIcon.
NSImage* CreateNSImageFromIcon(const gfx::VectorIcon& icon,
@@ -206,6 +211,10 @@ class HomePrefNotificationBridge {
base::scoped_nsobject<NSTouchBar> touchBar(
[[NSClassFromString(@"NSTouchBar") alloc] init]);
NSArray* touchBarItemIdentifiers;
+ NSArray* customTouchBarItemIdentifiers = @[
+ kBackForwardTouchId, kReloadOrStopTouchId, kHomeTouchId, kSearchTouchId,
+ kStarTouchId, kNewTabTouchId, NSTouchBarItemIdentifierFlexibleSpace
+ ];
if (showHomeButton_.GetValue()) {
touchBarItemIdentifiers = @[
kBackForwardTouchId, kReloadOrStopTouchId, kHomeTouchId, kSearchTouchId,
@@ -220,7 +229,8 @@ class HomePrefNotificationBridge {
[touchBar setCustomizationIdentifier:kBrowserWindowTouchBarId];
[touchBar setDefaultItemIdentifiers:touchBarItemIdentifiers];
- [touchBar setCustomizationAllowedItemIdentifiers:touchBarItemIdentifiers];
+ [touchBar
+ setCustomizationAllowedItemIdentifiers:customTouchBarItemIdentifiers];
[touchBar setDelegate:self];
return touchBar.autorelease();
@@ -235,6 +245,9 @@ class HomePrefNotificationBridge {
@"NSCustomTouchBarItem") alloc] initWithIdentifier:identifier]);
if ([identifier isEqualTo:kBackForwardTouchId]) {
[touchBarItem setView:[self backOrForwardTouchBarView]];
+ [touchBarItem setCustomizationLabel:
+ l10n_util::GetNSString(
+ IDS_TOUCH_BAR_BACK_FORWARD_CUSTOMIZATION_LABEL)];
} else if ([identifier isEqualTo:kReloadOrStopTouchId]) {
const gfx::VectorIcon& icon =
isPageLoading_ ? kNavigateStopIcon : kNavigateReloadIcon;
@@ -242,13 +255,22 @@ class HomePrefNotificationBridge {
int tooltipId = isPageLoading_ ? IDS_TOOLTIP_STOP : IDS_TOOLTIP_RELOAD;
[touchBarItem
setView:CreateTouchBarButton(icon, self, commandId, tooltipId)];
+ [touchBarItem setCustomizationLabel:
+ l10n_util::GetNSString(
+ IDS_TOUCH_BAR_STOP_RELOAD_CUSTOMIZATION_LABEL)];
} else if ([identifier isEqualTo:kHomeTouchId]) {
[touchBarItem setView:CreateTouchBarButton(kNavigateHomeIcon, self,
IDC_HOME, IDS_TOOLTIP_HOME)];
+ [touchBarItem
+ setCustomizationLabel:l10n_util::GetNSString(
+ IDS_TOUCH_BAR_HOME_CUSTOMIZATION_LABEL)];
} else if ([identifier isEqualTo:kNewTabTouchId]) {
[touchBarItem
setView:CreateTouchBarButton(kNewTabMacTouchbarIcon, self, IDC_NEW_TAB,
IDS_TOOLTIP_NEW_TAB)];
+ [touchBarItem
+ setCustomizationLabel:l10n_util::GetNSString(
+ IDS_TOUCH_BAR_NEW_TAB_CUSTOMIZATION_LABEL)];
} else if ([identifier isEqualTo:kStarTouchId]) {
const gfx::VectorIcon& icon =
isStarred_ ? toolbar::kStarActiveIcon : toolbar::kStarIcon;
@@ -257,8 +279,13 @@ class HomePrefNotificationBridge {
int tooltipId = isStarred_ ? IDS_TOOLTIP_STARRED : IDS_TOOLTIP_STAR;
[touchBarItem setView:CreateTouchBarButton(icon, self, IDC_BOOKMARK_PAGE,
tooltipId, iconColor)];
+ [touchBarItem
+ setCustomizationLabel:l10n_util::GetNSString(
+ IDS_TOUCH_BAR_BOOKMARK_CUSTOMIZATION_LABEL)];
} else if ([identifier isEqualTo:kSearchTouchId]) {
[touchBarItem setView:[self searchTouchBarView]];
+ [touchBarItem setCustomizationLabel:l10n_util::GetNSString(
+ IDS_TOUCH_BAR_GOOGLE_SEARCH)];
}
return touchBarItem.autorelease();
@@ -329,9 +356,12 @@ class HomePrefNotificationBridge {
action:@selector(executeCommand:)];
searchButton.imageHugsTitle = YES;
searchButton.tag = IDC_FOCUS_LOCATION;
- int width = showHomeButton_.GetValue() ? kSearchBtnWidthWithHomeBtn
- : kSearchBtnWidthWithoutHomeBtn;
- [searchButton.widthAnchor constraintEqualToConstant:width].active = YES;
+ [searchButton.widthAnchor
+ constraintGreaterThanOrEqualToConstant:kSearchBtnMinWidth]
+ .active = YES;
+ [searchButton
+ setContentHuggingPriority:1.0
+ forOrientation:NSLayoutConstraintOrientationHorizontal];
return searchButton;
}
« chrome/browser/app_controller_mac.mm ('K') | « chrome/browser/app_controller_mac.mm ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698