diff options
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 | 352 |
1 files changed, 0 insertions, 352 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 deleted file mode 100644 index 582ae814c9e..00000000000 --- a/chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js +++ /dev/null @@ -1,352 +0,0 @@ -// Copyright 2015 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -(function() { -'use strict'; - -/** - * This is the absolute difference maintained between standard and - * fixed-width font sizes. http://crbug.com/91922. - * @type {number} - */ -const SIZE_DIFFERENCE_FIXED_STANDARD = 3; - -/** - * ID for autogenerated themes. Should match - * |ThemeService::kAutogeneratedThemeID|. - */ -const AUTOGENERATED_THEME_ID = 'autogenerated_theme_id'; - -/** - * 'settings-appearance-page' is the settings page containing appearance - * settings. - */ -Polymer({ - is: 'settings-appearance-page', - - behaviors: [I18nBehavior], - - properties: { - /** - * Dictionary defining page visibility. - * @type {!AppearancePageVisibility} - */ - pageVisibility: Object, - - prefs: { - type: Object, - notify: true, - }, - - /** @private */ - defaultZoom_: Number, - - /** @private */ - isWallpaperPolicyControlled_: {type: Boolean, value: true}, - - /** - * 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 {!Array<number>} - */ - pageZoomLevels_: { - readOnly: true, - type: Array, - value: [ - // TODO(dbeam): get these dynamically from C++ instead. - 1 / 4, - 1 / 3, - 1 / 2, - 2 / 3, - 3 / 4, - 4 / 5, - 9 / 10, - 1, - 11 / 10, - 5 / 4, - 3 / 2, - 7 / 4, - 2, - 5 / 2, - 3, - 4, - 5, - ], - }, - - /** @private */ - themeSublabel_: String, - - /** @private */ - themeUrl_: String, - - /** @private */ - useSystemTheme_: { - type: Boolean, - value: false, // Can only be true on Linux, but value exists everywhere. - }, - - /** @private {!Map<string, string>} */ - focusConfig_: { - type: Object, - value: function() { - const map = new Map(); - if (settings.routes.FONTS) { - map.set( - settings.routes.FONTS.path, '#customize-fonts-subpage-trigger'); - } - return map; - }, - }, - }, - - /** @private {?settings.AppearanceBrowserProxy} */ - appearanceBrowserProxy_: null, - - // <if expr="chromeos"> - /** @private {?settings.WallpaperBrowserProxy} */ - wallpaperBrowserProxy_: null, - // </if> - - observers: [ - 'defaultFontSizeChanged_(prefs.webkit.webprefs.default_font_size.value)', - 'themeChanged_(prefs.extensions.theme.id.value, useSystemTheme_)', - - // <if expr="is_linux and not chromeos"> - // NOTE: this pref only exists on Linux. - 'useSystemThemePrefChanged_(prefs.extensions.theme.use_system.value)', - // </if> - ], - - /** @override */ - created: function() { - this.appearanceBrowserProxy_ = - settings.AppearanceBrowserProxyImpl.getInstance(); - // <if expr="chromeos"> - this.wallpaperBrowserProxy_ = - settings.WallpaperBrowserProxyImpl.getInstance(); - // </if> - }, - - /** @override */ - ready: function() { - this.$.defaultFontSize.menuOptions = this.fontSizeOptions_; - // TODO(dschuyler): Look into adding a listener for the - // default zoom percent. - this.appearanceBrowserProxy_.getDefaultZoom().then(zoom => { - this.defaultZoom_ = zoom; - }); - // <if expr="chromeos"> - this.wallpaperBrowserProxy_.isWallpaperSettingVisible().then( - isWallpaperSettingVisible => { - assert(this.pageVisibility); - this.pageVisibility.setWallpaper = isWallpaperSettingVisible; - }); - this.wallpaperBrowserProxy_.isWallpaperPolicyControlled().then( - isPolicyControlled => { - this.isWallpaperPolicyControlled_ = isPolicyControlled; - }); - // </if> - }, - - /** - * @param {number} zoom - * @return {number} A zoom easier read by users. - * @private - */ - formatZoom_: function(zoom) { - return Math.round(zoom * 100); - }, - - /** - * @param {boolean} showHomepage Whether to show home page. - * @param {boolean} isNtp Whether to use the NTP as the home page. - * @param {string} homepageValue If not using NTP, use this URL. - * @return {string} The sub-label. - * @private - */ - getShowHomeSubLabel_: function(showHomepage, isNtp, homepageValue) { - if (!showHomepage) { - return this.i18n('homeButtonDisabled'); - } - if (isNtp) { - return this.i18n('homePageNtp'); - } - return homepageValue || this.i18n('customWebAddress'); - }, - - /** @private */ - onCustomizeFontsTap_: function() { - settings.navigateTo(settings.routes.FONTS); - }, - - /** @private */ - onDisableExtension_: function() { - this.fire('refresh-pref', 'homepage'); - }, - - /** - * @param {number} value The changed font size slider value. - * @private - */ - defaultFontSizeChanged_: function(value) { - // This pref is handled separately in some extensions, but here it is tied - // to default_font_size (to simplify the UI). - this.set( - 'prefs.webkit.webprefs.default_fixed_font_size.value', - value - SIZE_DIFFERENCE_FIXED_STANDARD); - }, - - /** - * Open URL for either current theme or the theme gallery. - * @private - */ - openThemeUrl_: function() { - window.open(this.themeUrl_ || loadTimeData.getString('themesGalleryUrl')); - }, - - // <if expr="chromeos"> - /** - * ChromeOS only. - * @private - */ - openWallpaperManager_: function() { - this.wallpaperBrowserProxy_.openWallpaperManager(); - }, - // </if> - - /** @private */ - onUseDefaultTap_: function() { - this.appearanceBrowserProxy_.useDefaultTheme(); - }, - - // <if expr="is_linux and not chromeos"> - /** - * @param {boolean} useSystemTheme - * @private - */ - useSystemThemePrefChanged_: function(useSystemTheme) { - this.useSystemTheme_ = useSystemTheme; - }, - - /** - * @param {string} themeId - * @param {boolean} useSystemTheme - * @return {boolean} Whether to show the "USE CLASSIC" button. - * @private - */ - showUseClassic_: function(themeId, useSystemTheme) { - return !!themeId || useSystemTheme; - }, - - /** - * @param {string} themeId - * @param {boolean} useSystemTheme - * @return {boolean} Whether to show the "USE GTK+" button. - * @private - */ - showUseSystem_: function(themeId, useSystemTheme) { - return (!!themeId || !useSystemTheme) && - !this.appearanceBrowserProxy_.isSupervised(); - }, - - /** - * @param {string} themeId - * @param {boolean} useSystemTheme - * @return {boolean} Whether to show the secondary area where "USE CLASSIC" - * and "USE GTK+" buttons live. - * @private - */ - showThemesSecondary_: function(themeId, useSystemTheme) { - return this.showUseClassic_(themeId, useSystemTheme) || - this.showUseSystem_(themeId, useSystemTheme); - }, - - /** @private */ - onUseSystemTap_: function() { - this.appearanceBrowserProxy_.useSystemTheme(); - }, - // </if> - - /** - * @param {string} themeId - * @param {boolean} useSystemTheme - * @private - */ - themeChanged_: function(themeId, useSystemTheme) { - if (this.prefs == undefined || useSystemTheme == undefined) { - return; - } - - if (themeId.length > 0 && themeId != AUTOGENERATED_THEME_ID) { - assert(!useSystemTheme); - - this.appearanceBrowserProxy_.getThemeInfo(themeId).then(info => { - this.themeSublabel_ = info.name; - }); - - this.themeUrl_ = 'https://chrome.google.com/webstore/detail/' + themeId; - return; - } - - this.themeUrl_ = ''; - - if (themeId == AUTOGENERATED_THEME_ID) { - this.themeSublabel_ = this.i18n('chromeColors'); - return; - } - - let i18nId; - // <if expr="is_linux and not chromeos"> - i18nId = useSystemTheme ? 'systemTheme' : 'classicTheme'; - // </if> - // <if expr="not is_linux or chromeos"> - i18nId = 'chooseFromWebStore'; - // </if> - this.themeSublabel_ = this.i18n(i18nId); - }, - - /** @private */ - onZoomLevelChange_: function() { - chrome.settingsPrivate.setDefaultZoom(parseFloat(this.$.zoomLevel.value)); - }, - - /** - * @param {boolean} bookmarksBarVisible if bookmarks bar option is visible. - * @return {string} 'first' if the argument is false or empty otherwise. - * @private - */ - getFirst_: function(bookmarksBarVisible) { - return !bookmarksBarVisible ? 'first' : ''; - }, - - /** - * @see blink::PageZoomValuesEqual(). - * @param {number} zoom1 - * @param {number} zoom2 - * @return {boolean} - * @private - */ - zoomValuesEqual_: function(zoom1, zoom2) { - return Math.abs(zoom1 - zoom2) <= 0.001; - }, -}); -})(); |