| Index: chrome/browser/resources/md_bookmarks/reducers.js
|
| diff --git a/chrome/browser/resources/md_bookmarks/reducers.js b/chrome/browser/resources/md_bookmarks/reducers.js
|
| index e5217cdd64be1745d1dac2acbac70d3e1785c658..61050a7b9eaf6309312439ca3e53484c69daa988 100644
|
| --- a/chrome/browser/resources/md_bookmarks/reducers.js
|
| +++ b/chrome/browser/resources/md_bookmarks/reducers.js
|
| @@ -23,7 +23,14 @@ cr.define('bookmarks', function() {
|
| newItems = new Set(selectionState.items);
|
|
|
| action.items.forEach(function(id) {
|
| - newItems.add(id);
|
| + var add = true;
|
| + if (action.toggle)
|
| + add = !newItems.has(id);
|
| +
|
| + if (add)
|
| + newItems.add(id);
|
| + else
|
| + newItems.delete(id);
|
| });
|
|
|
| return /** @type {SelectionState} */ (Object.assign({}, selectionState, {
|
| @@ -51,7 +58,9 @@ cr.define('bookmarks', function() {
|
| SelectionState.deselectDeletedItems = function(selectionState, deleted) {
|
| return /** @type {SelectionState} */ Object.assign({}, selectionState, {
|
| items: bookmarks.util.removeIdsFromSet(selectionState.items, deleted),
|
| - anchor: null,
|
| + anchor: !selectionState.anchor || deleted.has(selectionState.anchor) ?
|
| + null :
|
| + selectionState.anchor,
|
| });
|
| };
|
|
|
|
|