Chromium Code Reviews| Index: chrome/browser/resources/settings/languages_page/manage_languages_page.js |
| diff --git a/chrome/browser/resources/settings/languages_page/manage_languages_page.js b/chrome/browser/resources/settings/languages_page/manage_languages_page.js |
| index b7a44af763e8368735fc54f6eeaffd8982bbd819..8d00aece21a0a8ed21caa1a100ac0535cffbd03d 100644 |
| --- a/chrome/browser/resources/settings/languages_page/manage_languages_page.js |
| +++ b/chrome/browser/resources/settings/languages_page/manage_languages_page.js |
| @@ -26,29 +26,43 @@ Polymer({ |
| notify: true, |
| }, |
| - /** |
| - * @private {!Array<!{code: string, displayName: string, |
| - * nativeDisplayName: string, enabled: boolean}>| |
| - * undefined} |
| - */ |
| - availableLanguages_: Array, |
| - |
| /** @private {!LanguageHelper} */ |
| languageHelper_: Object, |
| }, |
| - observers: [ |
| - 'enabledLanguagesChanged_(languages.enabledLanguages.*)', |
| - ], |
| - |
| /** @override */ |
| created: function() { |
| this.languageHelper_ = LanguageHelperImpl.getInstance(); |
| }, |
| /** |
| + * @param {!chrome.languageSettingsPrivate.Language} language |
| + * @param {!Object} change |
|
stevenjb
2016/04/20 20:40:50
It is a little confusing as to what this is and wh
michaelpg
2016/04/20 23:19:59
It's awkward to type, and @unused isn't a thing, b
michaelpg
2016/04/21 03:23:13
I've updated this with the comment you suggested i
|
| + * @return {boolean} |
| + * @private |
| + */ |
| + isCheckboxChecked_: function(language, change) { |
| + return this.languageHelper_.isLanguageEnabled(language.code); |
| + }, |
| + |
| + /** |
| + * Determines whether a language must be enabled. If so, the checkbox in the |
| + * available languages list should not be changeable. |
| + * @param {!chrome.languageSettingsPrivate.Language} language |
| + * @param {!Object} change |
|
stevenjb
2016/04/20 20:40:50
Same here.
michaelpg
2016/04/20 23:19:59
Done.
|
| + * @return {boolean} |
| + * @private |
| + */ |
| + isLanguageRequired_: function(language, change) { |
| + // This check only applies to enabled languages. |
| + if (!this.languageHelper_.isLanguageEnabled(language.code)) |
| + return false; |
| + return !this.languageHelper_.canDisableLanguage(language.code); |
| + }, |
| + |
| + /** |
| * Handler for removing a language. |
| - * @param {!{model: !{item: !LanguageInfo}}} e |
| + * @param {!{model: !{item: !LanguageState}}} e |
| * @private |
| */ |
| onRemoveLanguageTap_: function(e) { |
| @@ -68,48 +82,4 @@ Polymer({ |
| else |
| this.languageHelper_.disableLanguage(code); |
| }, |
| - |
| - /** |
| - * True if a language is not the current or prospective UI language, ie, |
| - * it could be disabled. |
| - * @param {string} languageCode |
| - * @param {string} prospectiveUILanguageCode |
| - * @return {boolean} |
| - * @private |
| - */ |
| - canRemoveLanguage_: function(languageCode, prospectiveUILanguageCode) { |
| - if (languageCode == navigator.language || |
| - languageCode == prospectiveUILanguageCode) { |
| - return false; |
| - } |
| - return true; |
| - }, |
| - |
| - /** |
| - * Updates the available languages that are bound to the iron-list. |
| - * @private |
| - */ |
| - enabledLanguagesChanged_: function() { |
| - if (!this.availableLanguages_) { |
| - var availableLanguages = []; |
| - for (var i = 0; i < this.languages.supportedLanguages.length; i++) { |
| - var language = this.languages.supportedLanguages[i]; |
| - availableLanguages.push({ |
| - code: language.code, |
| - displayName: language.displayName, |
| - nativeDisplayName: language.nativeDisplayName, |
| - enabled: this.languageHelper_.isLanguageEnabled(language.code), |
| - }); |
| - } |
| - // Set the Polymer property after building the full array. |
| - this.availableLanguages_ = availableLanguages; |
| - } else { |
| - // Update the available languages in place. |
| - for (var i = 0; i < this.availableLanguages_.length; i++) { |
| - this.set('availableLanguages_.' + i + '.enabled', |
| - this.languageHelper_.isLanguageEnabled( |
| - this.availableLanguages_[i].code)); |
| - } |
| - } |
| - }, |
| }); |