| 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 (function() { | 5 (function() { |
| 6 'use strict'; | 6 'use strict'; |
| 7 | 7 |
| 8 /** | 8 /** |
| 9 * This is the absolute difference maintained between standard and | 9 * This is the absolute difference maintained between standard and |
| 10 * fixed-width font sizes. http://crbug.com/91922. | 10 * fixed-width font sizes. http://crbug.com/91922. |
| 11 * @const @private {number} | 11 * @const @private {number} |
| 12 */ | 12 */ |
| 13 var SIZE_DIFFERENCE_FIXED_STANDARD_ = 3; | 13 var SIZE_DIFFERENCE_FIXED_STANDARD_ = 3; |
| 14 | 14 |
| 15 /** @const @private {!Array<number>} */ | 15 /** @const @private {!Array<number>} */ |
| 16 var FONT_SIZE_RANGE_ = [ | 16 var FONT_SIZE_RANGE_ = [ |
| 17 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, | 17 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24, |
| 18 40, 44, 48, 56, 64, 72, | 18 26, 28, 30, 32, 34, 36, 40, 44, 48, 56, 64, 72, |
| 19 ]; | 19 ]; |
| 20 | 20 |
| 21 /** @const @private {!Array<number>} */ | 21 /** @const @private {!Array<number>} */ |
| 22 var MINIMUM_FONT_SIZE_RANGE_ = [ | 22 var MINIMUM_FONT_SIZE_RANGE_ = |
| 23 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24 | 23 [6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 22, 24]; |
| 24 ]; | |
| 25 | 24 |
| 26 /** | 25 /** |
| 27 * 'settings-appearance-fonts-page' is the settings page containing appearance | 26 * 'settings-appearance-fonts-page' is the settings page containing appearance |
| 28 * settings. | 27 * settings. |
| 29 * | 28 * |
| 30 * Example: | 29 * Example: |
| 31 * | 30 * |
| 32 * <settings-appearance-fonts-page prefs="{{prefs}}"> | 31 * <settings-appearance-fonts-page prefs="{{prefs}}"> |
| 33 * </settings-appearance-fonts-page> | 32 * </settings-appearance-fonts-page> |
| 34 */ | 33 */ |
| (...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 'fontSizeChanged_(prefs.webkit.webprefs.default_font_size.value)', | 85 'fontSizeChanged_(prefs.webkit.webprefs.default_font_size.value)', |
| 87 ], | 86 ], |
| 88 | 87 |
| 89 /** @override */ | 88 /** @override */ |
| 90 created: function() { | 89 created: function() { |
| 91 this.browserProxy_ = settings.FontsBrowserProxyImpl.getInstance(); | 90 this.browserProxy_ = settings.FontsBrowserProxyImpl.getInstance(); |
| 92 }, | 91 }, |
| 93 | 92 |
| 94 /** @override */ | 93 /** @override */ |
| 95 ready: function() { | 94 ready: function() { |
| 96 this.addWebUIListener('advanced-font-settings-installed', | 95 this.addWebUIListener( |
| 96 'advanced-font-settings-installed', |
| 97 this.setAdvancedExtensionInstalled_.bind(this)); | 97 this.setAdvancedExtensionInstalled_.bind(this)); |
| 98 this.browserProxy_.observeAdvancedFontExtensionAvailable(); | 98 this.browserProxy_.observeAdvancedFontExtensionAvailable(); |
| 99 | 99 |
| 100 this.browserProxy_.fetchFontsData().then( | 100 this.browserProxy_.fetchFontsData().then(this.setFontsData_.bind(this)); |
| 101 this.setFontsData_.bind(this)); | |
| 102 }, | 101 }, |
| 103 | 102 |
| 104 /** @private */ | 103 /** @private */ |
| 105 openAdvancedExtension_: function() { | 104 openAdvancedExtension_: function() { |
| 106 if (this.advancedExtensionInstalled_) | 105 if (this.advancedExtensionInstalled_) |
| 107 this.browserProxy_.openAdvancedFontSettings(); | 106 this.browserProxy_.openAdvancedFontSettings(); |
| 108 else | 107 else |
| 109 window.open(this.advancedExtensionUrl_); | 108 window.open(this.advancedExtensionUrl_); |
| 110 }, | 109 }, |
| 111 | 110 |
| 112 /** | 111 /** |
| 113 * @param {boolean} isInstalled Whether the advanced font settings | 112 * @param {boolean} isInstalled Whether the advanced font settings |
| 114 * extension is installed. | 113 * extension is installed. |
| 115 * @private | 114 * @private |
| 116 */ | 115 */ |
| 117 setAdvancedExtensionInstalled_: function(isInstalled) { | 116 setAdvancedExtensionInstalled_: function(isInstalled) { |
| 118 this.advancedExtensionInstalled_ = isInstalled; | 117 this.advancedExtensionInstalled_ = isInstalled; |
| 119 this.advancedExtensionSublabel_ = this.i18n(isInstalled ? | 118 this.advancedExtensionSublabel_ = this.i18n( |
| 120 'openAdvancedFontSettings' : 'requiresWebStoreExtension'); | 119 isInstalled ? 'openAdvancedFontSettings' : |
| 120 'requiresWebStoreExtension'); |
| 121 }, | 121 }, |
| 122 | 122 |
| 123 /** | 123 /** |
| 124 * @param {!FontsData} response A list of fonts and the advanced | 124 * @param {!FontsData} response A list of fonts and the advanced |
| 125 * font settings extension URL. | 125 * font settings extension URL. |
| 126 * @private | 126 * @private |
| 127 */ | 127 */ |
| 128 setFontsData_: function(response) { | 128 setFontsData_: function(response) { |
| 129 var fontMenuOptions = []; | 129 var fontMenuOptions = []; |
| 130 for (var i = 0; i < response.fontList.length; ++i) { | 130 for (var i = 0; i < response.fontList.length; ++i) { |
| 131 fontMenuOptions.push({ | 131 fontMenuOptions.push( |
| 132 value: response.fontList[i][0], | 132 {value: response.fontList[i][0], name: response.fontList[i][1]}); |
| 133 name: response.fontList[i][1] | |
| 134 }); | |
| 135 } | 133 } |
| 136 this.fontOptions_ = fontMenuOptions; | 134 this.fontOptions_ = fontMenuOptions; |
| 137 this.advancedExtensionUrl_ = response.extensionUrl; | 135 this.advancedExtensionUrl_ = response.extensionUrl; |
| 138 }, | 136 }, |
| 139 | 137 |
| 140 /** | 138 /** |
| 141 * @param {number} value The changed font size slider value. | 139 * @param {number} value The changed font size slider value. |
| 142 * @private | 140 * @private |
| 143 */ | 141 */ |
| 144 fontSizeChanged_: function(value) { | 142 fontSizeChanged_: function(value) { |
| 145 // TODO(michaelpg): Whitelist this pref in prefs_utils.cc so it is | 143 // TODO(michaelpg): Whitelist this pref in prefs_utils.cc so it is |
| 146 // included in the <settings-prefs> getAllPrefs call, otherwise this path | 144 // included in the <settings-prefs> getAllPrefs call, otherwise this path |
| 147 // is invalid and nothing happens. See crbug.com/612535. | 145 // is invalid and nothing happens. See crbug.com/612535. |
| 148 this.set('prefs.webkit.webprefs.default_fixed_font_size.value', | 146 this.set( |
| 147 'prefs.webkit.webprefs.default_fixed_font_size.value', |
| 149 value - SIZE_DIFFERENCE_FIXED_STANDARD_); | 148 value - SIZE_DIFFERENCE_FIXED_STANDARD_); |
| 150 }, | 149 }, |
| 151 | 150 |
| 152 /** | 151 /** |
| 153 * Creates an html style value. | 152 * Creates an html style value. |
| 154 * @param {number} fontSize The font size to use. | 153 * @param {number} fontSize The font size to use. |
| 155 * @param {string} fontFamily The name of the font family use. | 154 * @param {string} fontFamily The name of the font family use. |
| 156 * @return {string} | 155 * @return {string} |
| 157 * @private | 156 * @private |
| 158 */ | 157 */ |
| 159 computeStyle_: function(fontSize, fontFamily) { | 158 computeStyle_: function(fontSize, fontFamily) { |
| 160 return 'font-size: ' + fontSize + "px; font-family: '" + fontFamily + | 159 return 'font-size: ' + fontSize + "px; font-family: '" + fontFamily + |
| 161 "';"; | 160 "';"; |
| 162 }, | 161 }, |
| 163 }); | 162 }); |
| 164 })(); | 163 })(); |
| OLD | NEW |