| 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 /** | 5 /** |
| 6 * @fileoverview 'settings-languages' handles Chrome's language and input | 6 * @fileoverview 'settings-languages' handles Chrome's language and input |
| 7 * method settings. The 'languages' property, which reflects the current | 7 * method settings. The 'languages' property, which reflects the current |
| 8 * language settings, must not be changed directly. Instead, changes to | 8 * language settings, must not be changed directly. Instead, changes to |
| 9 * language settings should be made using the LanguageHelper APIs provided by | 9 * language settings should be made using the LanguageHelper APIs provided by |
| 10 * this class via languageHelper. | 10 * this class via languageHelper. |
| (...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 227 } | 227 } |
| 228 }, | 228 }, |
| 229 | 229 |
| 230 /** @private */ | 230 /** @private */ |
| 231 translateLanguagesPrefChanged_: function() { | 231 translateLanguagesPrefChanged_: function() { |
| 232 var translateBlockedPref = this.getPref('translate_blocked_languages'); | 232 var translateBlockedPref = this.getPref('translate_blocked_languages'); |
| 233 var translateBlockedSet = this.makeSetFromArray_( | 233 var translateBlockedSet = this.makeSetFromArray_( |
| 234 /** @type {!Array<string>} */(translateBlockedPref.value)); | 234 /** @type {!Array<string>} */(translateBlockedPref.value)); |
| 235 | 235 |
| 236 for (var i = 0; i < this.languages.enabled.length; i++) { | 236 for (var i = 0; i < this.languages.enabled.length; i++) { |
| 237 if (this.languages.enabled[i].language.code == navigator.language) |
| 238 continue; |
| 237 var translateCode = this.convertLanguageCodeForTranslate( | 239 var translateCode = this.convertLanguageCodeForTranslate( |
| 238 this.languages.enabled[i].language.code); | 240 this.languages.enabled[i].language.code); |
| 239 this.set( | 241 this.set( |
| 240 'languages.enabled.' + i + '.translateEnabled', | 242 'languages.enabled.' + i + '.translateEnabled', |
| 241 !translateBlockedSet.has(translateCode)); | 243 !translateBlockedSet.has(translateCode)); |
| 242 } | 244 } |
| 243 }, | 245 }, |
| 244 | 246 |
| 245 /** | 247 /** |
| 246 * Constructs the languages model. | 248 * Constructs the languages model. |
| (...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 334 // Skip unsupported languages. | 336 // Skip unsupported languages. |
| 335 if (!language) | 337 if (!language) |
| 336 continue; | 338 continue; |
| 337 var languageState = /** @type {LanguageState} */({}); | 339 var languageState = /** @type {LanguageState} */({}); |
| 338 languageState.language = language; | 340 languageState.language = language; |
| 339 languageState.spellCheckEnabled = !!spellCheckSet.has(code); | 341 languageState.spellCheckEnabled = !!spellCheckSet.has(code); |
| 340 // Translate is considered disabled if this language maps to any translate | 342 // Translate is considered disabled if this language maps to any translate |
| 341 // language that is blocked. | 343 // language that is blocked. |
| 342 var translateCode = this.convertLanguageCodeForTranslate(code); | 344 var translateCode = this.convertLanguageCodeForTranslate(code); |
| 343 languageState.translateEnabled = !!language.supportsTranslate && | 345 languageState.translateEnabled = !!language.supportsTranslate && |
| 346 code != navigator.language && |
| 344 !translateBlockedSet.has(translateCode) && | 347 !translateBlockedSet.has(translateCode) && |
| 345 translateCode != translateTarget; | 348 translateCode != translateTarget; |
| 346 enabledLanguageStates.push(languageState); | 349 enabledLanguageStates.push(languageState); |
| 347 } | 350 } |
| 348 return enabledLanguageStates; | 351 return enabledLanguageStates; |
| 349 }, | 352 }, |
| 350 | 353 |
| 351 /** | 354 /** |
| 352 * Returns a list of enabled input methods. | 355 * Returns a list of enabled input methods. |
| 353 * @return {!Array<!chrome.languageSettingsPrivate.InputMethod>} | 356 * @return {!Array<!chrome.languageSettingsPrivate.InputMethod>} |
| (...skipping 369 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 723 this.updateEnabledInputMethods_(); | 726 this.updateEnabledInputMethods_(); |
| 724 }, | 727 }, |
| 725 | 728 |
| 726 /** @param {string} id Removed input method ID. */ | 729 /** @param {string} id Removed input method ID. */ |
| 727 onInputMethodRemoved_: function(id) { | 730 onInputMethodRemoved_: function(id) { |
| 728 assert(cr.isChromeOS); | 731 assert(cr.isChromeOS); |
| 729 this.updateEnabledInputMethods_(); | 732 this.updateEnabledInputMethods_(); |
| 730 }, | 733 }, |
| 731 }); | 734 }); |
| 732 })(); | 735 })(); |
| OLD | NEW |