Chromium Code Reviews| Index: chrome/browser/resources/bookmark_manager/js/main.js |
| diff --git a/chrome/browser/resources/bookmark_manager/js/main.js b/chrome/browser/resources/bookmark_manager/js/main.js |
| index f6f2eb32370d16bff44d2a61a19cf584273eae3c..b59f5e34677d3257496fa7ac9e146b917f51eda9 100644 |
| --- a/chrome/browser/resources/bookmark_manager/js/main.js |
| +++ b/chrome/browser/resources/bookmark_manager/js/main.js |
| @@ -455,7 +455,8 @@ function handleCanExecuteForDocument(e) { |
| break; |
| case 'sort-command': |
| e.canExecute = !list.isSearch() && |
| - list.dataModel && list.dataModel.length > 1; |
| + list.dataModel && list.dataModel.length > 1 && |
| + !bmm.isManaged(tree.getBookmarkNodeById(list.parentId)); |
| break; |
| case 'undo-command': |
| // The global undo command has no visible UI, so always enable it, and |
| @@ -485,7 +486,9 @@ function canExecuteShared(e, isSearch) { |
| case 'add-new-bookmark-command': |
| case 'new-folder-command': |
| - e.canExecute = !isSearch && canEdit; |
| + var parentId = computeParentFolderForNewItem(); |
| + var isManaged = bmm.isManaged(tree.getBookmarkNodeById(parentId)); |
| + e.canExecute = !isSearch && canEdit && !isManaged; |
| break; |
| case 'open-in-new-tab-command': |
| @@ -551,7 +554,7 @@ function canExecuteForList(e) { |
| command.hidden = true; |
| } else { |
| var isFolder = bmm.isFolder(items[0]); |
| - e.canExecute = isFolder && canEdit; |
| + e.canExecute = isFolder && canEdit && !hasManaged(items); |
|
arv (Not doing code reviews)
2014/06/03 14:31:39
Can't this just check if the list is managed since
Joao da Silva
2014/06/05 20:28:38
The isManaged check needs a BookmarkTreeNode, I'm
|
| command.hidden = !isFolder; |
| } |
| break; |
| @@ -564,7 +567,7 @@ function canExecuteForList(e) { |
| command.hidden = false; |
| } else { |
| var isFolder = bmm.isFolder(items[0]); |
| - e.canExecute = !isFolder && canEdit; |
| + e.canExecute = !isFolder && canEdit && !hasManaged(items); |
| command.hidden = isFolder; |
| } |
| break; |
| @@ -575,7 +578,8 @@ function canExecuteForList(e) { |
| case 'delete-command': |
| case 'cut-command': |
| - e.canExecute = canCopyItems() && canEdit; |
| + e.canExecute = canCopyItems() && canEdit && |
| + !hasManaged(list.selectedItems); |
| break; |
| case 'copy-command': |
| @@ -620,7 +624,8 @@ function handleCanExecuteForTree(e) { |
| switch (commandId) { |
| case 'rename-folder-command': |
| command.hidden = false; |
| - e.canExecute = hasSelected() && !isTopLevelItem() && canEdit; |
| + e.canExecute = hasSelected() && !isTopLevelItem() && canEdit && |
| + !hasManaged(tree.selectedFolders); |
| break; |
| case 'edit-command': |
| @@ -630,7 +635,8 @@ function handleCanExecuteForTree(e) { |
| case 'delete-command': |
| case 'cut-command': |
| - e.canExecute = hasSelected() && !isTopLevelItem() && canEdit; |
| + e.canExecute = hasSelected() && !isTopLevelItem() && canEdit && |
| + !hasManaged(tree.selectedFolders); |
| break; |
| case 'copy-command': |
| @@ -790,6 +796,14 @@ function getSelectedBookmarkIds() { |
| } |
| /** |
| + * @param {BookmarkList} A list of BookmarkNodes. |
| + * @return {boolean} Whether any of the nodes is managed. |
| + */ |
| +function hasManaged(nodes) { |
| + return nodes.some(bmm.isManaged); |
| +} |
| + |
| +/** |
| * Opens the selected bookmarks. |
| * @param {LinkKind} kind The kind of link we want to open. |
| * @param {HTMLElement} opt_eventTarget The target of the user initiated event. |