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

Side by Side Diff: chrome/browser/resources/settings/on_startup_page/startup_urls_page.js

Issue 1344613002: [MD settings] on startup use current pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 /** 5 /**
6 * @fileoverview 'cr-settings-startup-urls-page' is the settings page 6 * @fileoverview 'cr-settings-startup-urls-page' is the settings page
7 * containing the urls that will be opened when chrome is started. 7 * containing the urls that will be opened when chrome is started.
8 * 8 *
9 * Example: 9 * Example:
10 * 10 *
(...skipping 18 matching lines...) Expand all
29 notify: true, 29 notify: true,
30 }, 30 },
31 31
32 newUrl: { 32 newUrl: {
33 type: String, 33 type: String,
34 }, 34 },
35 35
36 /** @type {!Array<string>} */ 36 /** @type {!Array<string>} */
37 savedUrlList: { 37 savedUrlList: {
38 type: Array, 38 type: Array,
39 value: function() { return []; }
40 }, 39 },
41 }, 40 },
42 41
42 observers: [
43 'prefsChanged_(prefs.session.startup_urls.value.*)',
44 ],
45
46 attached: function() {
47 var caller = this;
michaelpg 2015/09/14 19:13:49 use .bind instead of caching this
dschuyler 2015/09/14 23:20:00 Done.
48 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'
49 return {
50 updateStartupPages: function(data) {
51 caller.updateStartupPages_(data);
52 },
53 };
54 });
55 },
56
57 prefsChanged_: function(change) {
58 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
59 this.get('prefs.session.startup_urls')) {
60 this.savedUrlList = this.prefs.session.startup_urls.value.slice();
61 }
62 },
63
64 /** @private */
65 updateStartupPages_: function(data) {
66 var urlArray = [];
67 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.
68 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
69 }
70 this.set('prefs.session.startup_urls.value', urlArray);
71 },
72
43 /** @private */ 73 /** @private */
44 onUseCurrentPagesTap_: function() { 74 onUseCurrentPagesTap_: function() {
45 // TODO(dschuyler): I'll be making a chrome.send call here. 75 chrome.send('setStartupPagesToCurrentPages');
46 }, 76 },
47 77
48 /** @private */ 78 /** @private */
49 onCancelTap_: function() { 79 onCancelTap_: function() {
50 this.set('prefs.session.startup_urls.value', this.savedUrlList.slice()); 80 if (this.savedUrlList !== undefined) {
81 this.set('prefs.session.startup_urls.value', this.savedUrlList.slice());
82 }
51 }, 83 },
52 84
53 /** @private */ 85 /** @private */
54 onOkTap_: function() { 86 onOkTap_: function() {
55 var value = this.newUrl && this.newUrl.trim(); 87 var value = this.newUrl && this.newUrl.trim();
56 if (!value) 88 if (!value)
57 return; 89 return;
58 this.push('prefs.session.startup_urls.value', value); 90 this.push('prefs.session.startup_urls.value', value);
59 this.newUrl = undefined; 91 this.newUrl = undefined;
60 }, 92 },
61 93
62 /** @private */ 94 /** @private */
63 onRemoveUrlTap_: function(e) { 95 onRemoveUrlTap_: function(e) {
64 this.splice('prefs.session.startup_urls.value', e.model.index, 1); 96 this.splice('prefs.session.startup_urls.value', e.model.index, 1);
65 }, 97 },
66 }); 98 });
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698