Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(324)

Side by Side Diff: chrome/browser/resources/settings/languages_page/languages.js

Issue 2649663002: WebUI: Undo some usages of ES6 features that break uglify. (Closed)
Patch Set: Fix i->j Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 /** 218 /**
219 * Updates the list of enabled languages from the preferred languages pref. 219 * Updates the list of enabled languages from the preferred languages pref.
220 * @private 220 * @private
221 */ 221 */
222 preferredLanguagesPrefChanged_: function() { 222 preferredLanguagesPrefChanged_: function() {
223 var enabledLanguageStates = this.getEnabledLanguageStates_( 223 var enabledLanguageStates = this.getEnabledLanguageStates_(
224 this.languages.translateTarget, this.languages.prospectiveUILanguage); 224 this.languages.translateTarget, this.languages.prospectiveUILanguage);
225 225
226 // Recreate the enabled language set before updating languages.enabled. 226 // Recreate the enabled language set before updating languages.enabled.
227 this.enabledLanguageSet_.clear(); 227 this.enabledLanguageSet_.clear();
228 for (var languageState of enabledLanguageStates) 228 for (var i = 0; i < enabledLanguageStates.length; i++)
229 this.enabledLanguageSet_.add(languageState.language.code); 229 this.enabledLanguageSet_.add(enabledLanguageStates[i].language.code);
230 230
231 this.set('languages.enabled', enabledLanguageStates); 231 this.set('languages.enabled', enabledLanguageStates);
232 }, 232 },
233 233
234 /** 234 /**
235 * Updates the spellCheckEnabled state of each enabled language. 235 * Updates the spellCheckEnabled state of each enabled language.
236 * @private 236 * @private
237 */ 237 */
238 spellCheckDictionariesPrefChanged_: function() { 238 spellCheckDictionariesPrefChanged_: function() {
239 var spellCheckSet = this.makeSetFromArray_(/** @type {!Array<string>} */( 239 var spellCheckSet = this.makeSetFromArray_(/** @type {!Array<string>} */(
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 * target language. 272 * target language.
273 * @param {!Array<!chrome.languageSettingsPrivate.InputMethod>|undefined} 273 * @param {!Array<!chrome.languageSettingsPrivate.InputMethod>|undefined}
274 * supportedInputMethods Input methods (Chrome OS only). 274 * supportedInputMethods Input methods (Chrome OS only).
275 * @param {string|undefined} currentInputMethodId ID of the currently used 275 * @param {string|undefined} currentInputMethodId ID of the currently used
276 * input method (Chrome OS only). 276 * input method (Chrome OS only).
277 * @private 277 * @private
278 */ 278 */
279 createModel_: function(supportedLanguages, translateTarget, 279 createModel_: function(supportedLanguages, translateTarget,
280 supportedInputMethods, currentInputMethodId) { 280 supportedInputMethods, currentInputMethodId) {
281 // Populate the hash map of supported languages. 281 // Populate the hash map of supported languages.
282 for (var language of supportedLanguages) { 282 for (var i = 0; i < supportedLanguages.length; i++) {
283 var language = supportedLanguages[i];
283 language.supportsUI = !!language.supportsUI; 284 language.supportsUI = !!language.supportsUI;
284 language.supportsTranslate = !!language.supportsTranslate; 285 language.supportsTranslate = !!language.supportsTranslate;
285 language.supportsSpellcheck = !!language.supportsSpellcheck; 286 language.supportsSpellcheck = !!language.supportsSpellcheck;
286 this.supportedLanguageMap_.set(language.code, language); 287 this.supportedLanguageMap_.set(language.code, language);
287 } 288 }
288 289
289 if (supportedInputMethods) { 290 if (supportedInputMethods) {
290 // Populate the hash map of supported input methods. 291 // Populate the hash map of supported input methods.
291 for (var inputMethod of supportedInputMethods) { 292 for (var j = 0; j < supportedInputMethods.length; j++) {
293 var inputMethod = supportedInputMethods[j];
292 inputMethod.enabled = !!inputMethod.enabled; 294 inputMethod.enabled = !!inputMethod.enabled;
293 // Add the input method to the map of IDs. 295 // Add the input method to the map of IDs.
294 this.supportedInputMethodMap_.set(inputMethod.id, inputMethod); 296 this.supportedInputMethodMap_.set(inputMethod.id, inputMethod);
295 // Add the input method to the list of input methods for each language 297 // Add the input method to the list of input methods for each language
296 // it supports. 298 // it supports.
297 for (var languageCode of inputMethod.languageCodes) { 299 for (var k = 0; k < inputMethod.languageCodes.length; k++) {
300 var languageCode = inputMethod.languageCodes[k];
298 if (!this.supportedLanguageMap_.has(languageCode)) 301 if (!this.supportedLanguageMap_.has(languageCode))
299 continue; 302 continue;
300 if (!this.languageInputMethods_.has(languageCode)) 303 if (!this.languageInputMethods_.has(languageCode))
301 this.languageInputMethods_.set(languageCode, [inputMethod]); 304 this.languageInputMethods_.set(languageCode, [inputMethod]);
302 else 305 else
303 this.languageInputMethods_.get(languageCode).push(inputMethod); 306 this.languageInputMethods_.get(languageCode).push(inputMethod);
304 } 307 }
305 } 308 }
306 } 309 }
307 310
308 var prospectiveUILanguage; 311 var prospectiveUILanguage;
309 if (cr.isChromeOS || cr.isWindows) { 312 if (cr.isChromeOS || cr.isWindows) {
310 prospectiveUILanguage = 313 prospectiveUILanguage =
311 /** @type {string} */(this.getPref('intl.app_locale').value) || 314 /** @type {string} */(this.getPref('intl.app_locale').value) ||
312 this.originalProspectiveUILanguage_; 315 this.originalProspectiveUILanguage_;
313 } 316 }
314 317
315 // Create a list of enabled languages from the supported languages. 318 // Create a list of enabled languages from the supported languages.
316 var enabledLanguageStates = 319 var enabledLanguageStates =
317 this.getEnabledLanguageStates_(translateTarget, prospectiveUILanguage); 320 this.getEnabledLanguageStates_(translateTarget, prospectiveUILanguage);
318 // Populate the hash set of enabled languages. 321 // Populate the hash set of enabled languages.
319 for (var languageState of enabledLanguageStates) 322 for (var l = 0; l < enabledLanguageStates.length; l++)
320 this.enabledLanguageSet_.add(languageState.language.code); 323 this.enabledLanguageSet_.add(enabledLanguageStates[l].language.code);
321 324
322 var model = /** @type {!LanguagesModel} */({ 325 var model = /** @type {!LanguagesModel} */({
323 supported: supportedLanguages, 326 supported: supportedLanguages,
324 enabled: enabledLanguageStates, 327 enabled: enabledLanguageStates,
325 translateTarget: translateTarget, 328 translateTarget: translateTarget,
326 }); 329 });
327 330
328 if (cr.isChromeOS || cr.isWindows) 331 if (cr.isChromeOS || cr.isWindows)
329 model.prospectiveUILanguage = prospectiveUILanguage; 332 model.prospectiveUILanguage = prospectiveUILanguage;
330 333
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
442 }, 445 },
443 446
444 /** 447 /**
445 * Creates a Set from the elements of the array. 448 * Creates a Set from the elements of the array.
446 * @param {!Array<T>} list 449 * @param {!Array<T>} list
447 * @return {!Set<T>} 450 * @return {!Set<T>}
448 * @template T 451 * @template T
449 * @private 452 * @private
450 */ 453 */
451 makeSetFromArray_: function(list) { 454 makeSetFromArray_: function(list) {
452 var set = new Set(); 455 return new Set(list);
453 for (var item of list)
454 set.add(item);
455 return set;
456 }, 456 },
457 457
458 // LanguageHelper implementation. 458 // LanguageHelper implementation.
459 // TODO(michaelpg): replace duplicate docs with @override once b/24294625 459 // TODO(michaelpg): replace duplicate docs with @override once b/24294625
460 // is fixed. 460 // is fixed.
461 461
462 /** @return {!Promise} */ 462 /** @return {!Promise} */
463 whenReady: function() { 463 whenReady: function() {
464 return this.resolver_.promise; 464 return this.resolver_.promise;
465 }, 465 },
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 return; 512 return;
513 513
514 assert(this.canDisableLanguage(languageCode)); 514 assert(this.canDisableLanguage(languageCode));
515 515
516 // Remove the language from spell check. 516 // Remove the language from spell check.
517 this.deletePrefListItem('spellcheck.dictionaries', languageCode); 517 this.deletePrefListItem('spellcheck.dictionaries', languageCode);
518 518
519 if (cr.isChromeOS) { 519 if (cr.isChromeOS) {
520 // Remove input methods that don't support any other enabled language. 520 // Remove input methods that don't support any other enabled language.
521 var inputMethods = this.languageInputMethods_.get(languageCode) || []; 521 var inputMethods = this.languageInputMethods_.get(languageCode) || [];
522 for (var inputMethod of inputMethods) { 522 for (var i = 0; i < inputMethods.length; i++) {
523 var inputMethod = inputMethods[i];
523 var supportsOtherEnabledLanguages = inputMethod.languageCodes.some( 524 var supportsOtherEnabledLanguages = inputMethod.languageCodes.some(
524 function(otherLanguageCode) { 525 function(otherLanguageCode) {
525 return otherLanguageCode != languageCode && 526 return otherLanguageCode != languageCode &&
526 this.isLanguageEnabled(otherLanguageCode); 527 this.isLanguageEnabled(otherLanguageCode);
527 }.bind(this)); 528 }.bind(this));
528 if (!supportsOtherEnabledLanguages) 529 if (!supportsOtherEnabledLanguages)
529 this.removeInputMethod(inputMethod.id); 530 this.removeInputMethod(inputMethod.id);
530 } 531 }
531 } 532 }
532 533
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 this.updateEnabledInputMethods_(); 773 this.updateEnabledInputMethods_();
773 }, 774 },
774 775
775 /** @param {string} id Removed input method ID. */ 776 /** @param {string} id Removed input method ID. */
776 onInputMethodRemoved_: function(id) { 777 onInputMethodRemoved_: function(id) {
777 assert(cr.isChromeOS); 778 assert(cr.isChromeOS);
778 this.updateEnabledInputMethods_(); 779 this.updateEnabledInputMethods_();
779 }, 780 },
780 }); 781 });
781 })(); 782 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698