Index: chrome/browser/resources/settings/on_startup_page/startup_urls_page.js |
diff --git a/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js b/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js |
index c194a7d83c3257e9efeb7c9a42203ea3be603b5f..3d45fe2411b837f65be5c16203ee8b9aa3c667fe 100644 |
--- a/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js |
+++ b/chrome/browser/resources/settings/on_startup_page/startup_urls_page.js |
@@ -36,18 +36,48 @@ Polymer({ |
/** @type {!Array<string>} */ |
savedUrlList: { |
type: Array, |
- value: function() { return []; } |
}, |
}, |
+ observers: [ |
+ 'prefsChanged_(prefs.session.startup_urls.value.*)', |
+ ], |
+ |
+ attached: function() { |
+ var updateFunction = this.updateStartupPages_.bind(this); |
+ cr.define('Settings', function() { |
+ return { |
+ updateStartupPages: updateFunction, |
+ }; |
+ }); |
+ }, |
+ |
+ /** @private */ |
+ prefsChanged_: function(change) { |
+ if (this.savedUrlList == undefined && |
+ this.get('prefs.session.startup_urls')) { |
+ this.savedUrlList = this.prefs.session.startup_urls.value.slice(); |
+ } |
+ }, |
+ |
+ /** @private */ |
+ updateStartupPages_: function(data) { |
+ var urlArray = []; |
+ for (var i = 0; i < data.length; ++i) |
+ urlArray.push(data[i].url); |
+ this.set('prefs.session.startup_urls.value', urlArray); |
+ }, |
+ |
/** @private */ |
onUseCurrentPagesTap_: function() { |
- // TODO(dschuyler): I'll be making a chrome.send call here. |
+ chrome.send('setStartupPagesToCurrentPages'); |
}, |
/** @private */ |
onCancelTap_: function() { |
- this.set('prefs.session.startup_urls.value', this.savedUrlList.slice()); |
+ if (this.savedUrlList !== undefined) { |
+ this.set('prefs.session.startup_urls.value', this.savedUrlList.slice()); |
+ } |
}, |
/** @private */ |