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

Unified Diff: chrome/browser/resources/settings/languages_page/languages_page.js

Issue 1419033008: Extract language settings methods into a LanguageHelper interface (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@LanguagePage5InputMethodsAPI
Patch Set: nit Created 5 years 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 side-by-side diff with in-line comments
Download patch
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.

Powered by Google App Engine
This is Rietveld 408576698