diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2016-01-25 11:39:07 +0100 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2016-01-25 15:20:42 +0000 |
commit | 6c91641271e536ffaa88a1dff5127e42ee99a91e (patch) | |
tree | 703d9dd49602377ddc90cbf886aad37913f2496b /chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js | |
parent | b145b7fafd36f0c260d6a768c81fc14e32578099 (diff) | |
download | qtwebengine-chromium-6c91641271e536ffaa88a1dff5127e42ee99a91e.tar.gz |
BASELINE: Update Chromium to 49.0.2623.23
Also adds missing printing sources.
Change-Id: I3726b8f0c7d6751c9fc846096c571fadca7108cd
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Diffstat (limited to 'chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js')
-rw-r--r-- | chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js | 131 |
1 files changed, 120 insertions, 11 deletions
diff --git a/chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js b/chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js index d12a1acc5f3..52691cb918f 100644 --- a/chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js +++ b/chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js @@ -3,25 +3,33 @@ // found in the LICENSE file. /** - * 'cr-settings-appearance-page' is the settings page containing appearance + * 'settings-appearance-page' is the settings page containing appearance * settings. * * Example: * * <iron-animated-pages> - * <cr-settings-appearance-page prefs="{{prefs}}"> - * </cr-settings-appearance-page> + * <settings-appearance-page prefs="{{prefs}}"> + * </settings-appearance-page> * ... other pages ... * </iron-animated-pages> * * @group Chrome Settings Elements - * @element cr-settings-appearance-page + * @element settings-appearance-page */ Polymer({ - is: 'cr-settings-appearance-page', + is: 'settings-appearance-page', properties: { /** + * The current active route. + */ + currentRoute: { + notify: true, + type: Object, + }, + + /** * Preferences state. */ prefs: { @@ -30,18 +38,87 @@ Polymer({ }, /** - * Translated strings used in data binding. + * @private + */ + allowResetTheme_: { + notify: true, + type: Boolean, + value: false, + }, + + /** + * @private */ - i18n_: { + defaultZoomLevel_: { + notify: true, type: Object, value: function() { return { - homePageNtp: loadTimeData.getString('homePageNtp'), - openThisPage: loadTimeData.getString('openThisPage'), - onStartupEnterUrl: loadTimeData.getString('onStartupEnterUrl'), + type: chrome.settingsPrivate.PrefType.NUMBER, }; }, }, + + /** + * List of options for the font size drop-down menu. + * @type {!DropdownMenuOptionList} + */ + fontSizeOptions_: { + readOnly: true, + type: Array, + value: function() { + return [ + {value: 9, name: loadTimeData.getString('verySmall')}, + {value: 12, name: loadTimeData.getString('small')}, + {value: 16, name: loadTimeData.getString('medium')}, + {value: 20, name: loadTimeData.getString('large')}, + {value: 24, name: loadTimeData.getString('veryLarge')}, + ]; + }, + }, + + /** + * List of options for the page zoom drop-down menu. + * @type {!DropdownMenuOptionList} + */ + pageZoomOptions_: { + readOnly: true, + type: Array, + value: [ + {value: 25, name: '25%'}, + {value: 33, name: '33%'}, + {value: 50, name: '50%'}, + {value: 67, name: '67%'}, + {value: 75, name: '75%'}, + {value: 90, name: '90%'}, + {value: 100, name: '100%'}, + {value: 110, name: '110%'}, + {value: 125, name: '125%'}, + {value: 150, name: '150%'}, + {value: 175, name: '175%'}, + {value: 200, name: '200%'}, + {value: 300, name: '300%'}, + {value: 400, name: '400%'}, + {value: 500, name: '500%'}, + ], + }, + }, + + behaviors: [ + I18nBehavior, + ], + + observers: [ + 'zoomLevelChanged_(defaultZoomLevel_.value)', + ], + + ready: function() { + this.$.defaultFontSize.menuOptions = this.fontSizeOptions_; + this.$.pageZoom.menuOptions = this.pageZoomOptions_; + // TODO(dschuyler): Look into adding a listener for the + // default zoom percent. + chrome.settingsPrivate.getDefaultZoomPercent( + this.zoomPrefChanged_.bind(this)); }, /** @override */ @@ -55,8 +132,16 @@ Polymer({ this.setResetThemeEnabled.bind(this)); }, + /** + * @param {boolean} enabled Whether the theme reset is available. + */ setResetThemeEnabled: function(enabled) { - this.$.resetTheme.disabled = !enabled; + this.allowResetTheme_ = enabled; + }, + + /** @private */ + onCustomizeFontsTap_: function() { + this.$.pages.setSubpageChain(['appearance-fonts']); }, /** @private */ @@ -68,4 +153,28 @@ Polymer({ resetTheme_: function() { chrome.send('resetTheme'); }, + + /** @private */ + showFontsPage_: function() { + return this.currentRoute.subpage[0] == 'appearance-fonts'; + }, + + /** + * @param {number} percent The integer percentage of the page zoom. + * @private + */ + zoomPrefChanged_: function(percent) { + this.set('defaultZoomLevel_.value', percent); + }, + + /** + * @param {number} percent The integer percentage of the page zoom. + * @private + */ + zoomLevelChanged_: function(percent) { + // The |percent| may be undefined on startup. + if (percent === undefined) + return; + chrome.settingsPrivate.setDefaultZoomPercent(percent); + }, }); |