Index: chrome/browser/resources/settings/languages_page/languages_page.js |
diff --git a/chrome/browser/resources/settings/languages_page/languages_page.js b/chrome/browser/resources/settings/languages_page/languages_page.js |
index dd43e36703e0354d6c2b86bd6bcfe3b9c0273679..12c83e3a7e3cf93384a6bdf8ec914010c97bd413 100644 |
--- a/chrome/browser/resources/settings/languages_page/languages_page.js |
+++ b/chrome/browser/resources/settings/languages_page/languages_page.js |
@@ -43,19 +43,26 @@ Polymer({ |
}, |
}, |
+ /** @private {!LanguageHelper} */ |
+ languageHelper_: LanguageHelperImpl.getInstance(), |
+ |
/** |
* Handler for clicking a language on the main page, which selects the |
* language as the prospective UI language on Chrome OS and Windows. |
* @param {!{model: !{item: !LanguageInfo}}} e |
*/ |
onLanguageTap_: function(e) { |
+ // Only change the UI language on platforms that allow it. |
+ if (!cr.isChromeOS && !cr.isWindows) |
+ return; |
+ |
// Taps on the paper-icon-button are handled in onShowLanguageDetailTap_. |
if (e.target.tagName == 'PAPER-ICON-BUTTON') |
return; |
// Set the prospective UI language. This won't take effect until a restart. |
if (e.model.item.language.supportsUI) |
- this.$.languages.setUILanguage(e.model.item.language.code); |
+ this.languageHelper_.setUILanguage(e.model.item.language.code); |
}, |
/** |
@@ -63,8 +70,8 @@ Polymer({ |
* @param {!{target: Element, model: !{item: !LanguageInfo}}} e |
*/ |
onSpellCheckChange_: function(e) { |
- this.$.languages.toggleSpellCheck(e.model.item.language.code, |
- e.target.checked); |
+ this.languageHelper_.toggleSpellCheck(e.model.item.language.code, |
+ e.target.checked); |
}, |
/** @private */ |
@@ -102,16 +109,21 @@ Polymer({ |
}, |
</if> |
+<if expr="chromeos or is_win"> |
/** |
+ * Checks whether the prospective UI language (the pref that indicates what |
+ * language to use in Chrome) matches the current language. This pref is only |
+ * on Chrome OS and Windows; we don't control the UI language elsewhere. |
* @param {string} languageCode The language code identifying a language. |
* @param {string} prospectiveUILanguage The prospective UI language. |
* @return {boolean} True if the given language matches the prospective UI |
* pref (which may be different from the actual UI language). |
* @private |
*/ |
- isUILanguage_: function(languageCode, prospectiveUILanguage) { |
- return languageCode == this.$.languages.getProspectiveUILanguage(); |
+ isProspectiveUILanguage_: function(languageCode, prospectiveUILanguage) { |
+ return languageCode == this.languageHelper_.getProspectiveUILanguage(); |
}, |
+</if> |
/** |
* @param {string} id The input method ID. |