Chromium Code Reviews| Index: chrome/browser/resources/md_bookmarks/store.js |
| diff --git a/chrome/browser/resources/md_bookmarks/store.js b/chrome/browser/resources/md_bookmarks/store.js |
| index 5c2718aa8ada50dc8589b61dca479afe2c03bd39..1ff73c788e09f3fb050cd4725e5716446c76377d 100644 |
| --- a/chrome/browser/resources/md_bookmarks/store.js |
| +++ b/chrome/browser/resources/md_bookmarks/store.js |
| @@ -58,6 +58,7 @@ var BookmarksStore = Polymer({ |
| this.documentListeners_ = { |
| 'folder-open-changed': this.onFolderOpenChanged_.bind(this), |
| 'open-item': this.onItemOpened_.bind(this), |
| + 'remove-item': this.onItemRemoved_.bind(this), |
| 'search-term-changed': this.onSearchTermChanged_.bind(this), |
| 'select-item': this.onItemSelected_.bind(this), |
| 'selected-folder-changed': this.onSelectedFolderChanged_.bind(this), |
| @@ -274,6 +275,22 @@ var BookmarksStore = Polymer({ |
| this.selectedIndexSet_.add(this.anchorIndex_); |
| }, |
| + /** |
| + * @param {BookmarkTreeNode} item |
| + * @private |
| + */ |
| + removeSingleItem_: function(item) { |
| + if (item.url) { |
| + chrome.bookmarks.remove(item.id, function() { |
| + // TODO(jiaxi): Add toast later. |
| + }.bind(this)); |
| + } else { |
| + chrome.bookmarks.removeTree(item.id, function() { |
| + // TODO(jiaxi): Add toast later. |
| + }.bind(this)); |
| + } |
| + }, |
| + |
| ////////////////////////////////////////////////////////////////////////////// |
| // bookmarks-store, bookmarks API event listeners: |
| @@ -433,6 +450,24 @@ var BookmarksStore = Polymer({ |
| } |
| } |
| }, |
| + |
| + /** |
| + * @param {CustomEvent} e |
| + * @private |
| + */ |
| + onItemRemoved_: function(e) { |
| + var item = /** BookmarkTreeNode */ (e.detail); |
| + if (this.selectedIndexSet_.size == 1 || !item.isSelectedItem) { |
| + this.removeSingleItem_(item); |
| + } else { |
| + var itemsToRemoved = []; |
| + for (let index of this.selectedIndexSet_) |
| + itemsToRemoved.push(this.displayedList[index]); |
| + |
| + for (var i = 0; i < itemsToRemoved.length; i++) |
| + this.removeSingleItem_(itemsToRemoved[i]); |
|
jiaxi
2017/02/01 23:32:13
This probably needs a test but I'm not sure how to
tsergeant
2017/02/02 02:12:15
That sounds like a reasonable way to do it.
jiaxi
2017/02/02 05:37:19
Done.
|
| + } |
| + }, |
| }); |
| //////////////////////////////////////////////////////////////////////////////// |