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

Unified Diff: chrome/browser/resources/bookmark_manager/js/main.js

Issue 308003013: Make the Bookmark Manager aware of managed bookmarks. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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/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..cf34c4c2e75d96790d34704b484db9c371000575 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);
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.bind(bmm));
arv (Not doing code reviews) 2014/06/02 23:33:23 no need for bind here since isManaged does not use
Joao da Silva 2014/06/03 14:07:54 Done.
+}
+
+/**
* 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.

Powered by Google App Engine
This is Rietveld 408576698