| Index: chrome/browser/resources/bookmark_manager/main.html
|
| ===================================================================
|
| --- chrome/browser/resources/bookmark_manager/main.html (revision 48743)
|
| +++ chrome/browser/resources/bookmark_manager/main.html (working copy)
|
| @@ -1135,6 +1135,49 @@
|
| }
|
| });
|
|
|
| +/**
|
| + * Helper function for handling canExecute for the list and the tree.
|
| + * @param {!Event} e Can exectue event object.
|
| + * @param {boolean} isRecentOrSearch Whether the user is trying to do a command
|
| + * on recent or search.
|
| + */
|
| +function canExcuteShared(e, isRecentOrSearch) {
|
| + var command = e.command;
|
| + var commandId = command.id;
|
| + switch (commandId) {
|
| + case 'paste-command':
|
| + updatePasteCommand();
|
| + break;
|
| +
|
| + case 'sort-command':
|
| + if (isRecentOrSearch) {
|
| + e.canExecute = false;
|
| + } else {
|
| + e.canExecute = list.items.length > 0;
|
| +
|
| + // The list might be loading
|
| + var f = function() {
|
| + list.removeEventListener('load', f);
|
| + command.disabled = list.items.length == 0;
|
| + };
|
| + list.addEventListener('load', f);
|
| + }
|
| + break;
|
| +
|
| + case 'add-new-bookmark-command':
|
| + case 'new-folder-command':
|
| + e.canExecute = !isRecentOrSearch;
|
| + break;
|
| +
|
| + case 'open-in-new-tab-command':
|
| + case 'open-in-background-tab-command':
|
| + case 'open-in-new-window-command':
|
| + case 'open-incognito-window-command':
|
| + updateOpenCommands(e, command);
|
| + break;
|
| + }
|
| +}
|
| +
|
| // Update canExecute for the commands when the list is the active element.
|
| list.addEventListener('canExecute', function(e) {
|
| if (e.target != list) return;
|
| @@ -1191,26 +1234,12 @@
|
| e.canExecute = hasSelected();
|
| break;
|
|
|
| - case 'paste-command':
|
| - updatePasteCommand();
|
| - break;
|
| -
|
| - case 'sort-command':
|
| - case 'add-new-bookmark-command':
|
| - case 'new-folder-command':
|
| - e.canExecute = !isRecentOrSearch();
|
| - break;
|
| -
|
| - case 'open-in-new-tab-command':
|
| - case 'open-in-background-tab-command':
|
| - case 'open-in-new-window-command':
|
| - case 'open-incognito-window-command':
|
| - updateOpenCommands(e, command);
|
| - break;
|
| -
|
| case 'open-in-same-window-command':
|
| e.canExecute = hasSelected();
|
| break;
|
| +
|
| + default:
|
| + canExcuteShared(e, isRecentOrSearch());
|
| }
|
| });
|
|
|
| @@ -1251,22 +1280,8 @@
|
| e.canExecute = hasSelected() && !isTopLevelItem();
|
| break;
|
|
|
| - case 'paste-command':
|
| - updatePasteCommand();
|
| - break;
|
| -
|
| - case 'sort-command':
|
| - case 'add-new-bookmark-command':
|
| - case 'new-folder-command':
|
| - e.canExecute = !isRecentOrSearch();
|
| - break;
|
| -
|
| - case 'open-in-new-tab-command':
|
| - case 'open-in-background-tab-command':
|
| - case 'open-in-new-window-command':
|
| - case 'open-incognito-window-command':
|
| - updateOpenCommands(e, command);
|
| - break;
|
| + default:
|
| + canExcuteShared(e, isRecentOrSearch());
|
| }
|
| });
|
|
|
|
|