Commit c5e234cc authored by dpapad's avatar dpapad Committed by Commit Bot

Bookmark manager: Change "Open all ..." context menu strings.

With these changes the strings become consistent with the bookmarks
bar context menu.

Bug: 757531
Change-Id: Ibba7856677f0bff6b29fc7d9fb98b9386a69e9d2
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2419377Reviewed-by: default avatarJohn Lee <johntlee@chromium.org>
Commit-Queue: dpapad <dpapad@chromium.org>
Cr-Commit-Position: refs/heads/master@{#809968}
parent 2791928e
......@@ -374,14 +374,23 @@
Import bookmarks
</message>
<message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL" desc="Menu title for opening all urls in a bookmark folder">
Open all bookmarks
Open all
</message>
<message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_WITH_COUNT" desc="Menu title for opening all urls in a bookmark folder, which includes a count of urls">
Open all (<ph name="URL_COUNT">$1<ex>5</ex></ph>)
</message>
<message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_NEW_WINDOW" desc="Menu title for opening all urls in a bookmark folder in a new window">
Open all in new window
</message>
<message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_NEW_WINDOW_WITH_COUNT" desc="Menu title for opening all urls in a bookmark folder in a new window, which includes a count of urls">
Open all (<ph name="URL_COUNT">$1<ex>5</ex></ph>) in new window
</message>
<message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_INCOGNITO" desc="Menu description for opening all urls in a bookmark folder in an incognito window">
Open all in incognito window
</message>
<message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_INCOGNITO_WITH_COUNT" desc="Menu description for opening all urls in a bookmark folder in an incognito window, which includes a count of urls">
Open all (<ph name="URL_COUNT">$1<ex>5</ex></ph>) in incognito window
</message>
<message name="IDS_BOOKMARK_MANAGER_MENU_OPEN_IN_NEW_TAB" desc="Menu description for opening a bookmark in a new tab">
Open in new tab
</message>
......
64c387506cc1123d0cd7e3a0035d346a3d6a4e38
\ No newline at end of file
64c387506cc1123d0cd7e3a0035d346a3d6a4e38
\ No newline at end of file
135ae97888b4a4004a0bc4499189a6d49df07b0f
\ No newline at end of file
64c387506cc1123d0cd7e3a0035d346a3d6a4e38
\ No newline at end of file
135ae97888b4a4004a0bc4499189a6d49df07b0f
\ No newline at end of file
135ae97888b4a4004a0bc4499189a6d49df07b0f
\ No newline at end of file
<style include="shared-style">
.label {
flex: 1;
}
.sublabel {
color: var(--cr-secondary-text-color);
margin-inline-start: 8px;
text-align: end;
width: 3ch;
}
:host(:not([has-any-sublabel_])) .sublabel {
display: none;
}
</style>
<style include="shared-style"></style>
<cr-lazy-render id="dropdown">
<template>
<cr-action-menu on-mousedown="onMenuMousedown_"
......@@ -24,12 +9,7 @@
hidden$="[[!isCommandVisible_(command, menuIds_)]]"
disabled$="[[!isCommandEnabled_(command, menuIds_, canPaste_)]]"
on-click="onCommandClick_">
<span class="label">
[[getCommandLabel_(command, menuIds_)]]
</span>
<span class="sublabel">
[[getCommandSublabel_(command, menuIds_)]]
</span>
[[getCommandLabel_(command, menuIds_)]]
</button>
<hr hidden$="[[!showDividerAfter_(command, menuIds_)]]"
aria-hidden="true">
......
......@@ -16,7 +16,7 @@ import './shared_style.js';
import './strings.m.js';
import {getToastManager} from 'chrome://resources/cr_elements/cr_toast/cr_toast_manager.m.js';
import {assert} from 'chrome://resources/js/assert.m.js';
import {assert, assertNotReached} from 'chrome://resources/js/assert.m.js';
import {isMac} from 'chrome://resources/js/cr.m.js';
import {KeyboardShortcutList} from 'chrome://resources/js/cr/ui/keyboard_shortcut_list.m.js';
import {loadTimeData} from 'chrome://resources/js/load_time_data.m.js';
......@@ -52,13 +52,6 @@ export const CommandManager = Polymer({
/** @private {Set<string>} */
menuIds_: Object,
/** @private */
hasAnySublabel_: {
type: Boolean,
reflectToAttribute: true,
computed: 'computeHasAnySublabel_(menuCommands_, menuIds_)',
},
/**
* Indicates where the context menu was opened from. Will be NONE if
* menu is not open, indicating that commands are from keyboard shortcuts
......@@ -639,11 +632,8 @@ export const CommandManager = Polymer({
* @private
*/
getCommandLabel_(command) {
const multipleNodes = this.menuIds_.size > 1 ||
this.containsMatchingNode_(this.menuIds_, function(node) {
return !node.url;
});
let label;
// Handle non-pluralized strings first.
let label = null;
switch (command) {
case Command.EDIT:
if (this.menuIds_.size !== 1) {
......@@ -672,15 +662,6 @@ export const CommandManager = Polymer({
case Command.SHOW_IN_FOLDER:
label = 'menuShowInFolder';
break;
case Command.OPEN_NEW_TAB:
label = multipleNodes ? 'menuOpenAllNewTab' : 'menuOpenNewTab';
break;
case Command.OPEN_NEW_WINDOW:
label = multipleNodes ? 'menuOpenAllNewWindow' : 'menuOpenNewWindow';
break;
case Command.OPEN_INCOGNITO:
label = multipleNodes ? 'menuOpenAllIncognito' : 'menuOpenIncognito';
break;
case Command.SORT:
label = 'menuSort';
break;
......@@ -700,9 +681,51 @@ export const CommandManager = Polymer({
label = 'menuHelpCenter';
break;
}
assert(label);
if (label !== null) {
return loadTimeData.getString(assert(label));
}
// Handle pluralized strings.
switch (command) {
case Command.OPEN_NEW_TAB:
return this.getPluralizedOpenAllString_(
'menuOpenAllNewTab', 'menuOpenNewTab',
'menuOpenAllNewTabWithCount');
case Command.OPEN_NEW_WINDOW:
return this.getPluralizedOpenAllString_(
'menuOpenAllNewWindow', 'menuOpenNewWindow',
'menuOpenAllNewWindowWithCount');
case Command.OPEN_INCOGNITO:
return this.getPluralizedOpenAllString_(
'menuOpenAllIncognito', 'menuOpenIncognito',
'menuOpenAllIncognitoWithCount');
}
return loadTimeData.getString(assert(label));
assertNotReached();
return '';
},
/**
* @param {string} case0 String ID for the case of zero URLs.
* @param {string} case1 String ID for the case of 1 URL.
* @param {string} caseOther String ID for string that includes the URL count.
* @return {string}
* @private
*/
getPluralizedOpenAllString_(case0, case1, caseOther) {
const multipleNodes = this.menuIds_.size > 1 ||
this.containsMatchingNode_(this.menuIds_, node => !node.url);
const urls = this.expandUrls_(this.menuIds_);
if (urls.length === 0) {
return loadTimeData.getStringF(case0, urls.length);
}
if (urls.length === 1 && !multipleNodes) {
return loadTimeData.getString(case1);
}
return loadTimeData.getStringF(caseOther, urls.length);
},
/**
......@@ -766,19 +789,6 @@ export const CommandManager = Polymer({
assert(false);
},
/**
* @return {boolean}
* @private
*/
computeHasAnySublabel_() {
if (this.menuIds_ === undefined || this.menuCommands_ === undefined) {
return false;
}
return this.menuCommands_.some(
(command) => this.getCommandSublabel_(command) !== '');
},
/**
* @param {Command} command
* @param {!Set<string>} itemIds
......
......@@ -101,8 +101,14 @@ content::WebUIDataSource* CreateBookmarksUIHTMLSource(Profile* profile) {
{"menuHelpCenter", IDS_BOOKMARK_MANAGER_MENU_HELP_CENTER},
{"menuImport", IDS_BOOKMARK_MANAGER_MENU_IMPORT},
{"menuOpenAllNewTab", IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL},
{"menuOpenAllNewTabWithCount",
IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_WITH_COUNT},
{"menuOpenAllNewWindow", IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_NEW_WINDOW},
{"menuOpenAllNewWindowWithCount",
IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_NEW_WINDOW_WITH_COUNT},
{"menuOpenAllIncognito", IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_INCOGNITO},
{"menuOpenAllIncognitoWithCount",
IDS_BOOKMARK_MANAGER_MENU_OPEN_ALL_INCOGNITO_WITH_COUNT},
{"menuOpenNewTab", IDS_BOOKMARK_MANAGER_MENU_OPEN_IN_NEW_TAB},
{"menuOpenNewWindow", IDS_BOOKMARK_MANAGER_MENU_OPEN_IN_NEW_WINDOW},
{"menuOpenIncognito", IDS_BOOKMARK_MANAGER_MENU_OPEN_INCOGNITO},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment