Chromium Code Reviews| 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 9bce9e97b960c5ab00f652ffabac3385e336fb0d..ecf8e63c240646a0a355ea306325d53dd74945e4 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,50 @@ Polymer({ |
| /** @type {!Array<string>} */ |
| savedUrlList: { |
| type: Array, |
| - value: function() { return []; } |
| }, |
| }, |
| + observers: [ |
| + 'prefsChanged_(prefs.session.startup_urls.value.*)', |
| + ], |
| + |
| + attached: function() { |
| + var caller = this; |
|
michaelpg
2015/09/14 19:13:49
use .bind instead of caching this
dschuyler
2015/09/14 23:20:00
Done.
|
| + cr.define('Settings', function() { |
|
michaelpg
2015/09/14 19:13:48
What is this for?
dschuyler
2015/09/14 23:20:00
This is routing the 'Settings.updateStartupPages'
|
| + return { |
| + updateStartupPages: function(data) { |
| + caller.updateStartupPages_(data); |
| + }, |
| + }; |
| + }); |
| + }, |
| + |
| + prefsChanged_: function(change) { |
| + if (this.savedUrlList === undefined && |
|
michaelpg
2015/09/14 19:13:48
use double equals (the property shouldn't be null,
dschuyler
2015/09/14 23:20:00
Actually, I'm expecting it to be undefined. I don
michaelpg
2015/09/17 21:18:13
We rarely use strict equality (===) which is the m
|
| + 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) { |
|
michaelpg
2015/09/14 19:13:48
no braces around single line
dschuyler
2015/09/14 23:20:00
Done.
|
| + urlArray.push(data[i].url); |
|
michaelpg
2015/09/14 19:13:49
or:
var urlArray = data.map(function(datum) { retu
dschuyler
2015/09/14 23:20:00
heh, was this an fyi and I can use either one - or
michaelpg
2015/09/17 21:18:13
"or" meant "optional" :-) I personally prefer this
|
| + } |
| + 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 */ |