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

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

Issue 2523403003: Language settings: fix focus issues (Closed)
Patch Set: rebase Created 4 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 07cbdd86eec05f1013ab4e6d8cad7d2d5308ba95..176135ddee39abc4eb272e7c70b04725232763f5 100644
--- a/chrome/browser/resources/settings/languages_page/languages_page.js
+++ b/chrome/browser/resources/settings/languages_page/languages_page.js
@@ -52,22 +52,6 @@ Polymer({
},
/**
- * Handler for clicking a language on the main page, which selects the
- * language as the prospective UI language on Chrome OS and Windows.
- * @param {!Event} e The tap event.
- */
- onLanguageTap_: function(e) {
- // Only change the UI language on platforms that allow it.
- if ((!cr.isChromeOS && !cr.isWindows) || loadTimeData.getBoolean('isGuest'))
- return;
-
- // Set the prospective UI language. This won't take effect until a restart.
- var tapEvent = /** @type {!{model: !{item: !LanguageState}}} */(e);
- if (tapEvent.model.item.language.supportsUI)
- this.languageHelper.setUILanguage(tapEvent.model.item.language.code);
- },
-
- /**
* Handler for enabling or disabling spell check.
* @param {!{target: Element, model: !{item: !LanguageState}}} e
*/
@@ -276,10 +260,12 @@ Polymer({
},
/**
- * Handler for clicking an input method on the main page, which sets it as
- * the current input method.
+ * Handler for tap and <Enter> events on an input method on the main page,
+ * which sets it as the current input method.
* @param {!{model: !{item: !chrome.languageSettingsPrivate.InputMethod},
- * target: !{tagName: string}}} e
+ * target: !{tagName: string},
+ * type: string,
+ * key: (string|undefined)}} e
*/
onInputMethodTap_: function(e) {
assert(cr.isChromeOS);
@@ -288,6 +274,10 @@ Polymer({
if (e.target.tagName == 'PAPER-ICON-BUTTON')
return;
+ // Ignore key presses other than <Enter>.
+ if (e.type == 'keypress' && e.key != 'Enter')
+ return;
+
// Set the input method.
this.languageHelper.setCurrentInputMethod(e.model.item.id);
},
@@ -509,5 +499,22 @@ Polymer({
settings.LifetimeBrowserProxyImpl.getInstance().restart();
</if>
},
+
+ /**
+ * Toggles the expand button within the element being listened to.
+ * @param {!Event} e
+ * @private
+ */
+ toggleExpandButton_: function(e) {
+ // The expand button handles toggling itself.
+ var expandButtonTag = 'CR-EXPAND-BUTTON';
+ if (e.target.tagName == expandButtonTag)
+ return;
+
+ /** @type {!CrExpandButtonElement} */
+ var expandButton = e.currentTarget.querySelector(expandButtonTag);
+ assert(expandButton);
+ expandButton.expanded = !expandButton.expanded;
+ },
});
})();

Powered by Google App Engine
This is Rietveld 408576698