Chromium Code Reviews| 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 d88a859349c5fb9a27f7158565ba51ab9dc59325..1f4b449706d17b6a10cbef7a4d8ff2d2f6bcb38f 100644 |
| --- a/chrome/browser/resources/settings/languages_page/languages_page.js |
| +++ b/chrome/browser/resources/settings/languages_page/languages_page.js |
| @@ -56,16 +56,23 @@ 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 {!{model: !{item: !LanguageState}}} e |
| + * @param {!Event} e The tap event. |
| */ |
| onLanguageTap_: function(e) { |
| + // Make sure the event comes from tapping the language itself and not the |
| + // options menu trigger or menu items. |
| + if (Polymer.dom(e).localTarget.className.includes('dropdown-')) |
|
Dan Beam
2016/08/10 20:45:26
why are you just checking that dropdown- exists in
Moe
2016/08/10 23:58:32
Made this a regex. It should be a more precise mat
|
| + return; |
| + |
| // 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. |
| - if (e.model.item.language.supportsUI) |
| - this.languageHelper_.setUILanguage(e.model.item.language.code); |
| + |
| + var tapEvent = /** @type {!{model: !{item: !LanguageState}}} */(e); |
| + if (tapEvent.model.item.language.supportsUI) |
| + this.languageHelper_.setUILanguage(tapEvent.model.item.language.code); |
| }, |
| /** |