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

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

Issue 2627973008: Language settings: Wait 100ms to close language action menu on checkbox change (Closed)
Patch Set: Created 3 years, 11 months 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 fbfaaa3c4d89b6ec7744736d3926171ddc995152..1971ab86e09cecd032a6d3ad8d166ee83f3c7794 100644
--- a/chrome/browser/resources/settings/languages_page/languages_page.js
+++ b/chrome/browser/resources/settings/languages_page/languages_page.js
@@ -6,6 +6,14 @@
* @fileoverview 'settings-languages-page' is the settings page
* for language and input method settings.
*/
+cr.exportPath('settings');
+
+/**
+ * @const {number} Millisecond delay that can be used when closing an action
+ * menu to keep it briefly on-screen.
+ */
+settings.kMenuCloseDelay = 100;
+
(function() {
'use strict';
@@ -166,10 +174,10 @@ Polymer({
this.languageHelper.setProspectiveUILanguage(
this.detailLanguage_.language.code);
- /** @type {!CrActionMenuElement} */(this.$.menu.get()).close();
+ this.closeMenuSoon_();
},
- /**
+ /**
* @param {!chrome.languageSettingsPrivate.Language} language
* @param {string} targetLanguageCode The default translate target language.
* @return {boolean} True if the translate checkbox should be disabled.
@@ -196,7 +204,7 @@ Polymer({
this.languageHelper.disableTranslateLanguage(
this.detailLanguage_.language.code);
}
- /** @type {!CrActionMenuElement} */(this.$.menu.get()).close();
+ this.closeMenuSoon_();
},
/**
@@ -493,6 +501,19 @@ Polymer({
},
/**
+ * Closes the shared action menu after a short delay, so when a checkbox is
+ * tapped it can be seen to change state before disappearing.
+ * @private
+ */
+ closeMenuSoon_: function() {
+ var menu = /** @type {!CrActionMenuElement} */(this.$.menu.get());
+ setTimeout(function() {
+ if (menu.open)
+ menu.close();
+ }, settings.kMenuCloseDelay);
+ },
+
+ /**
* Handler for the restart button.
* @private
*/

Powered by Google App Engine
This is Rietveld 408576698