| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 Polymer({ | 5 Polymer({ |
| 6 is: 'synced-device-manager', | 6 is: 'synced-device-manager', |
| 7 | 7 |
| 8 properties: { | 8 properties: { |
| 9 // An array of synced devices with synced tab data. | 9 // An array of synced devices with synced tab data. |
| 10 syncedDevices: { | 10 syncedDevices: { |
| 11 type: Array, | 11 type: Array, |
| 12 value: [] | 12 value: [] |
| 13 } | 13 } |
| 14 }, | 14 }, |
| 15 | 15 |
| 16 /** | 16 /** |
| 17 * Re-organises the sessionList information. | 17 * Re-organises the sessionList information. |
| 18 */ | 18 */ |
| 19 addSyncedHistory: function(sessionList) { | 19 addSyncedHistory: function(sessionList) { |
| 20 // Does not add more items onto the page when the sessionList updates. | 20 // Update synced device cards when the user modifies tabs in any synced |
| 21 // TODO(yingran) : update the cards dynamically by refreshing the tab list | 21 // device. |
| 22 // and last update time for each synced tab card. | |
| 23 if (this.syncedDevices.length > 0) { | 22 if (this.syncedDevices.length > 0) { |
| 24 return; | 23 var devices = |
| 25 } | 24 Polymer.dom(this.root).querySelectorAll('synced-device-card'); |
| 26 | 25 for (var i = 0; i < devices.length; i++) { |
| 27 for (var i = 0; i < sessionList.length && sessionList[i].windows[0]; i++) { | 26 for (var j = 0; j < sessionList.length && |
| 28 this.push('syncedDevices', { | 27 sessionList[j].windows[0]; j++) { |
| 29 device: sessionList[i].name, | 28 if (devices[i].device == sessionList[j].name) { |
| 30 lastUpdateTime: '- ' + sessionList[i].modifiedTime, | 29 devices[i].lastUpdateTime = '- ' + sessionList[j].modifiedTime; |
| 31 tabs: sessionList[i].windows[0].tabs, | 30 devices[i].tabs = sessionList[j].windows[0].tabs; |
| 32 }); | 31 sessionList.splice(j, 1); |
| 32 } |
| 33 } |
| 34 } |
| 35 // Sets up the initial synced device cards. |
| 36 } else { |
| 37 for (var i = 0; i < sessionList.length && |
| 38 sessionList[i].windows[0]; i++) { |
| 39 this.push('syncedDevices', { |
| 40 device: sessionList[i].name, |
| 41 lastUpdateTime: '- ' + sessionList[i].modifiedTime, |
| 42 tabs: sessionList[i].windows[0].tabs, |
| 43 }); |
| 44 } |
| 33 } | 45 } |
| 34 } | 46 } |
| 35 }); | 47 }); |
| OLD | NEW |