| Index: chrome/browser/resources/md_history/app.crisper.js
|
| diff --git a/chrome/browser/resources/md_history/app.crisper.js b/chrome/browser/resources/md_history/app.crisper.js
|
| index c4c8a3ad163a49851d7ae0841efa1f9f36a875b6..c95766c88da1e2a697ff781e5938271993001139 100644
|
| --- a/chrome/browser/resources/md_history/app.crisper.js
|
| +++ b/chrome/browser/resources/md_history/app.crisper.js
|
| @@ -14589,7 +14589,7 @@ Polymer({
|
| separatorIndexes: Array,
|
|
|
| // Whether the card is open.
|
| - cardOpen_: {type: Boolean, value: true},
|
| + opened: Boolean,
|
|
|
| searchTerm: String,
|
|
|
| @@ -14641,12 +14641,22 @@ Polymer({
|
| },
|
|
|
| /**
|
| - * @param {boolean} cardOpen
|
| + * @param {boolean} opened
|
| * @return {string}
|
| + * @private
|
| + */
|
| + getCollapseIcon_: function(opened) {
|
| + return opened ? 'cr:expand-less' : 'cr:expand-more';
|
| + },
|
| +
|
| + /**
|
| + * @param {boolean} opened
|
| + * @return {string}
|
| + * @private
|
| */
|
| - getCollapseTitle_: function(cardOpen) {
|
| - return cardOpen ? loadTimeData.getString('collapseSessionButton') :
|
| - loadTimeData.getString('expandSessionButton');
|
| + getCollapseTitle_: function(opened) {
|
| + return opened ? loadTimeData.getString('collapseSessionButton') :
|
| + loadTimeData.getString('expandSessionButton');
|
| },
|
|
|
| /**
|
| @@ -14668,6 +14678,7 @@ Polymer({
|
| /**
|
| * @typedef {{device: string,
|
| * lastUpdateTime: string,
|
| + * opened: boolean,
|
| * separatorIndexes: !Array<number>,
|
| * timestamp: number,
|
| * tabs: !Array<!ForeignSessionTab>,
|
| @@ -14722,6 +14733,7 @@ Polymer({
|
|
|
| listeners: {
|
| 'toggle-menu': 'onToggleMenu_',
|
| + 'scroll': 'onListScroll_'
|
| },
|
|
|
| /** @override */
|
| @@ -14768,6 +14780,7 @@ Polymer({
|
| return {
|
| device: session.name,
|
| lastUpdateTime: '– ' + session.modifiedTime,
|
| + opened: true,
|
| separatorIndexes: separatorIndexes,
|
| timestamp: session.timestamp,
|
| tabs: tabs,
|
| @@ -14779,6 +14792,12 @@ Polymer({
|
| chrome.send('startSignInFlow');
|
| },
|
|
|
| + onListScroll_: function() {
|
| + var menu = this.$.menu.getIfExists();
|
| + if (menu)
|
| + menu.closeMenu();
|
| + },
|
| +
|
| onToggleMenu_: function(e) {
|
| this.$.menu.get().then(function(menu) {
|
| menu.toggleMenu(e.detail.target, e.detail.tag);
|
| @@ -14872,9 +14891,16 @@ Polymer({
|
| }
|
| }
|
|
|
| - // Then, append any new devices.
|
| - for (var i = updateCount; i < sessionList.length; i++) {
|
| - this.push('syncedDevices_', this.createInternalDevice_(sessionList[i]));
|
| + if (updateCount == this.syncedDevices_.length) {
|
| + // The list grew; append new items.
|
| + for (var i = updateCount; i < sessionList.length; i++) {
|
| + this.push('syncedDevices_', this.createInternalDevice_(sessionList[i]));
|
| + }
|
| + } else {
|
| + // The list shrank; remove deleted items.
|
| + this.splice(
|
| + 'syncedDevices_', updateCount,
|
| + this.syncedDevices_.length - updateCount);
|
| }
|
| },
|
|
|
|
|