| 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 |