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 6d7b86847ab9fd867de7b42134424e41c854b426..a2618a5ccd8f7a1bd84b3315c89411c18ec509a9 100644 |
--- a/chrome/browser/resources/settings/languages_page/languages_page.js |
+++ b/chrome/browser/resources/settings/languages_page/languages_page.js |
@@ -44,12 +44,6 @@ Polymer({ |
}, |
/** @private */ |
- languagesSecondary_: { |
- type: String, |
- value: 'Placeholder, e.g. English (United States)', |
- }, |
- |
- /** @private */ |
inputMethodsSecondary_: { |
type: String, |
value: 'Placeholder, e.g. US keyboard', |
@@ -60,6 +54,12 @@ Polymer({ |
type: String, |
value: 'Placeholder, e.g. English (United States)', |
}, |
+ |
+ /** |
+ * The language to display the details for. |
+ * @type {!LanguageInfo|undefined} |
dschuyler
2016/04/07 19:24:01
@private
michaelpg
2016/04/07 23:10:48
Done.
|
+ */ |
+ detailLanguage_: Object, |
}, |
/** @private {!LanguageHelper} */ |
@@ -109,16 +109,26 @@ Polymer({ |
/** |
* Opens the Language Detail page for the language. |
- * @param {!{model: !{item}}} e |
+ * @param {!{model: !{item: !LanguageInfo}}} e |
* @private |
*/ |
onShowLanguageDetailTap_: function(e) { |
- this.$.languageSelector.select(e.model.item); |
+ this.detailLanguage_ = e.model.item; |
this.$.pages.setSubpageChain(['language-detail']); |
}, |
<if expr="not is_macosx"> |
/** |
+ * Returns the enabled languages which support spell check. |
+ * @private |
+ */ |
+ spellCheckLanguages_: function() { |
+ return this.languages.enabledLanguages.filter(function(languageInfo) { |
+ return languageInfo.language.supportsSpellcheck; |
+ }); |
+ }, |
+ |
+ /** |
* Opens the Custom Dictionary page. |
* @private |
*/ |
@@ -144,6 +154,33 @@ Polymer({ |
}, |
</if> |
+ /** |
+ * @return {string} |
+ * @private |
+ */ |
+ getProspectiveUILanguageName_: function() { |
+ return this.languageHelper_.getLanguage( |
+ this.languageHelper_.getProspectiveUILanguage()).displayName; |
+ }, |
+ |
+ /** |
+ * Returns either the "selected" class, if the language matches the |
+ * prospective UI language, or an empty string. Languages can only be |
+ * selected on Chrome OS and Windows. |
+ * @param {string} languageCode The language code identifying a language. |
+ * @param {string} prospectiveUILanguage The prospective UI language. |
+ * @return {string} The class name for the language item. |
+ * @private |
+ */ |
+ getLanguageItemClass_: function(languageCode, prospectiveUILanguage) { |
+<if expr="chromeos or is_win"> |
+ if (this.isProspectiveUILanguage_(languageCode, prospectiveUILanguage)) |
+ return 'selected'; |
+</if> |
+ return ''; |
+ }, |
+ |
+<if expr="chromeos"> |
/** |
* @param {string} id The input method ID. |
* @param {string} currentId The ID of the currently enabled input method. |
@@ -156,6 +193,17 @@ Polymer({ |
}, |
/** |
+ * @param {string} id The input method ID. |
+ * @param {string} currentId The ID of the currently enabled input method. |
+ * @return {string} The class for the input method item. |
+ * @private |
+ */ |
+ getInputMethodItemClass_: function(id, currentId) { |
+ return this.isCurrentInputMethod_(id, currentId) ? 'selected' : ''; |
+ }, |
+</if> |
+ |
+ /** |
* HACK(michaelpg): This is necessary to show the list when navigating to |
* the sub-page. Remove this function when PolymerElements/neon-animation#60 |
* is fixed. |