summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/resources/settings/appearance_page/appearance_page.js
diff options
context:
space:
mode:
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.js352
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;
- },
-});
-})();