OLD | NEW |
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 | |
6 | |
7 /** | 5 /** |
8 * 'cr-settings-appearance-page' is the settings page containing appearance | 6 * 'cr-settings-appearance-page' is the settings page containing appearance |
9 * settings. | 7 * settings. |
10 * | 8 * |
11 * Example: | 9 * Example: |
12 * | 10 * |
13 * <iron-animated-pages> | 11 * <iron-animated-pages> |
14 * <cr-settings-appearance-page prefs="{{prefs}}"> | 12 * <cr-settings-appearance-page prefs="{{prefs}}"> |
15 * </cr-settings-appearance-page> | 13 * </cr-settings-appearance-page> |
16 * ... other pages ... | 14 * ... other pages ... |
17 * </iron-animated-pages> | 15 * </iron-animated-pages> |
18 * | 16 * |
19 * @group Chrome Settings Elements | 17 * @group Chrome Settings Elements |
20 * @element cr-settings-appearance-page | 18 * @element cr-settings-appearance-page |
21 */ | 19 */ |
22 Polymer({ | 20 Polymer({ |
23 is: 'cr-settings-appearance-page', | 21 is: 'cr-settings-appearance-page', |
24 | 22 |
| 23 properties: { |
| 24 /** |
| 25 * Preferences state. |
| 26 */ |
| 27 prefs: { |
| 28 type: Object, |
| 29 notify: true, |
| 30 }, |
| 31 |
| 32 // prefs.homepage_is_newtabpage.value |
| 33 isNewTabPageString_: { |
| 34 type: String, |
| 35 notify: true, |
| 36 observer: 'isNewTabPageStringChanged_', |
| 37 } |
| 38 }, |
| 39 |
| 40 observers: [ |
| 41 'homepageIsNewTabPageChanged_(prefs.homepage_is_newtabpage.value)', |
| 42 ], |
| 43 |
25 /** @override */ | 44 /** @override */ |
26 attached: function() { | 45 attached: function() { |
27 // Query the initial state. | 46 // Query the initial state. |
28 cr.sendWithCallback('getResetThemeEnabled', undefined, | 47 cr.sendWithCallback('getResetThemeEnabled', undefined, |
29 this.setResetThemeEnabled.bind(this)); | 48 this.setResetThemeEnabled.bind(this)); |
30 | 49 |
31 // Set up the change event listener. | 50 // Set up the change event listener. |
32 cr.addWebUIListener('reset-theme-enabled-changed', | 51 cr.addWebUIListener('reset-theme-enabled-changed', |
33 this.setResetThemeEnabled.bind(this)); | 52 this.setResetThemeEnabled.bind(this)); |
34 }, | 53 }, |
35 | 54 |
36 properties: { | 55 /** @private */ |
37 /** | 56 homepageIsNewTabPageChanged_: function(newValue) { |
38 * Preferences state. | 57 this.isNewTabPageString_ = (newValue == true).toString(); |
39 */ | 58 }, |
40 prefs: { | 59 |
41 type: Object, | 60 /** @private */ |
42 notify: true, | 61 isNewTabPageStringChanged_: function(newValue) { |
43 }, | 62 this.set('prefs.homepage_is_newtabpage.value', |
| 63 this.isNewTabPageString_ == 'true'); |
44 }, | 64 }, |
45 | 65 |
46 setResetThemeEnabled: function(enabled) { | 66 setResetThemeEnabled: function(enabled) { |
47 this.$.resetTheme.disabled = !enabled; | 67 this.$.resetTheme.disabled = !enabled; |
48 }, | 68 }, |
49 | 69 |
50 /** @private */ | 70 /** @private */ |
51 openThemesGallery_: function() { | 71 openThemesGallery_: function() { |
52 window.open(loadTimeData.getString('themesGalleryUrl')); | 72 window.open(loadTimeData.getString('themesGalleryUrl')); |
53 }, | 73 }, |
54 | 74 |
55 /** @private */ | 75 /** @private */ |
56 resetTheme_: function() { | 76 resetTheme_: function() { |
57 chrome.send('resetTheme'); | 77 chrome.send('resetTheme'); |
58 }, | 78 }, |
59 }); | 79 }); |
OLD | NEW |