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

Unified Diff: chrome/browser/resources/md_history/synced_device_manager.js

Issue 2251323002: MD History: Synced Tabs fixes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@history_css_shuffle
Patch Set: Closure Created 4 years, 4 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/md_history/synced_device_manager.js
diff --git a/chrome/browser/resources/md_history/synced_device_manager.js b/chrome/browser/resources/md_history/synced_device_manager.js
index 12e67fddbe540238b32f22538bf1542ee2947b2d..c473e77017735c61dd765c97ed27fb352587aed2 100644
--- a/chrome/browser/resources/md_history/synced_device_manager.js
+++ b/chrome/browser/resources/md_history/synced_device_manager.js
@@ -5,6 +5,7 @@
/**
* @typedef {{device: string,
* lastUpdateTime: string,
+ * opened: boolean,
* separatorIndexes: !Array<number>,
* timestamp: number,
* tabs: !Array<!ForeignSessionTab>,
@@ -59,6 +60,7 @@ Polymer({
listeners: {
'toggle-menu': 'onToggleMenu_',
+ 'scroll': 'onListScroll_'
},
/** @override */
@@ -105,6 +107,7 @@ Polymer({
return {
device: session.name,
lastUpdateTime: '– ' + session.modifiedTime,
+ opened: true,
separatorIndexes: separatorIndexes,
timestamp: session.timestamp,
tabs: tabs,
@@ -116,6 +119,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);
@@ -209,9 +218,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) {
calamity 2016/08/19 04:02:37 nit: sessionList.length >= this.syncedDevices_.len
tsergeant 2016/08/19 04:48:29 Good point, done.
+ // 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);
}
},

Powered by Google App Engine
This is Rietveld 408576698