| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 /** | 5 /** |
| 6 * @fileoverview Fake implementation of chrome.languageSettingsPrivate | 6 * @fileoverview Fake implementation of chrome.languageSettingsPrivate |
| 7 * for testing. | 7 * for testing. |
| 8 */ | 8 */ |
| 9 cr.define('settings', function() { | 9 cr.define('settings', function() { |
| 10 /** | 10 /** |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 * @param {function(!Array<!chrome.languageSettingsPrivate.Language>)} | 113 * @param {function(!Array<!chrome.languageSettingsPrivate.Language>)} |
| 114 * callback | 114 * callback |
| 115 */ | 115 */ |
| 116 getLanguageList: function(callback) { | 116 getLanguageList: function(callback) { |
| 117 setTimeout(function() { | 117 setTimeout(function() { |
| 118 callback(JSON.parse(JSON.stringify(this.languages))); | 118 callback(JSON.parse(JSON.stringify(this.languages))); |
| 119 }.bind(this)); | 119 }.bind(this)); |
| 120 }, | 120 }, |
| 121 | 121 |
| 122 /** | 122 /** |
| 123 * Sets the accepted languages, used to decide which languages to translate, | 123 * Enables a language, adding it to the Accept-Language list (used to decide |
| 124 * generate the Accept-Language header, etc. | 124 * which languages to translate, generate the Accept-Language header, etc.). |
| 125 * @param {!Array<string>} languageCodes | 125 * @param {string} languageCode |
| 126 */ | 126 */ |
| 127 setLanguageList: function(languageCodes) { | 127 enableLanguage: function(languageCode) { |
| 128 var languages = languageCodes.join(','); | 128 var languageCodes = this.settingsPrefs_.prefs.intl.accept_languages.value; |
| 129 this.settingsPrefs_.set('prefs.intl.accept_languages.value', languages); | 129 var languages = languageCodes.split(','); |
| 130 if (languages.indexOf(languageCode) != -1) |
| 131 return; |
| 132 languages.push(languageCode); |
| 133 languageCodes = languages.join(','); |
| 134 this.settingsPrefs_.set( |
| 135 'prefs.intl.accept_languages.value', languageCodes); |
| 130 if (cr.isChromeOS) { | 136 if (cr.isChromeOS) { |
| 131 this.settingsPrefs_.set( | 137 this.settingsPrefs_.set( |
| 132 'prefs.settings.language.preferred_languages.value', languages); | 138 'prefs.settings.language.preferred_languages.value', languageCodes); |
| 133 } | 139 } |
| 134 }, | 140 }, |
| 135 | 141 |
| 142 /** |
| 143 * Disables a language, removing it from the Accept-Language list. |
| 144 * @param {string} languageCode |
| 145 */ |
| 146 disableLanguage: function(languageCode) { |
| 147 var languageCodes = this.settingsPrefs_.prefs.intl.accept_languages.value; |
| 148 var languages = languageCodes.split(','); |
| 149 var index = languages.indexOf(languageCode); |
| 150 if (index == -1) |
| 151 return; |
| 152 languages.splice(index, 1); |
| 153 languageCodes = languages.join(','); |
| 154 this.settingsPrefs_.set( |
| 155 'prefs.intl.accept_languages.value', languageCodes); |
| 156 if (cr.isChromeOS) { |
| 157 this.settingsPrefs_.set( |
| 158 'prefs.settings.language.preferred_languages.value', languageCodes); |
| 159 } |
| 160 }, |
| 161 |
| 136 /** | 162 /** |
| 137 * Gets the current status of the chosen spell check dictionaries. | 163 * Gets the current status of the chosen spell check dictionaries. |
| 138 * @param {function(!Array< | 164 * @param {function(!Array< |
| 139 * !chrome.languageSettingsPrivate.SpellcheckDictionaryStatus>):void} | 165 * !chrome.languageSettingsPrivate.SpellcheckDictionaryStatus>):void} |
| 140 * callback | 166 * callback |
| 141 */ | 167 */ |
| 142 getSpellcheckDictionaryStatuses: | 168 getSpellcheckDictionaryStatuses: |
| 143 wrapAssertNotReached('getSpellcheckDictionaryStatuses'), | 169 wrapAssertNotReached('getSpellcheckDictionaryStatuses'), |
| 144 | 170 |
| 145 /** | 171 /** |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 | 268 |
| 243 /** | 269 /** |
| 244 * Called when an input method is removed. | 270 * Called when an input method is removed. |
| 245 * @type {!ChromeEvent} | 271 * @type {!ChromeEvent} |
| 246 */ | 272 */ |
| 247 onInputMethodRemoved: new FakeChromeEvent(), | 273 onInputMethodRemoved: new FakeChromeEvent(), |
| 248 }; | 274 }; |
| 249 | 275 |
| 250 return {FakeLanguageSettingsPrivate: FakeLanguageSettingsPrivate}; | 276 return {FakeLanguageSettingsPrivate: FakeLanguageSettingsPrivate}; |
| 251 }); | 277 }); |
| OLD | NEW |