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

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

Issue 2573643005: Language settings: Fix Restart and Remove buttons shown at wrong times (Closed)
Patch Set: 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 803c0f9f0d7826b0a9bf79e13b34563a5887d1b7..eb79036bb957e463275fc93ea835d24b2ed0c1f9 100644
--- a/chrome/browser/resources/settings/languages_page/languages_page.js
+++ b/chrome/browser/resources/settings/languages_page/languages_page.js
@@ -138,14 +138,9 @@ Polymer({
if (!languageState.language.supportsUI)
return true;
- // If the language already is the prospective UI language, it can't be unset
- // if it is also the *actual* UI language, as we wouldn't know what other
- // language to set as the prospective UI language.
- if (languageState.language.code == navigator.language &&
michaelpg 2016/12/13 05:33:09 Simplifying this because it leads to bugs and it's
- (!prospectiveUILanguage ||
- languageState.language.code == prospectiveUILanguage)) {
+ // Unchecking the currently chosen language doesn't make much sense.
+ if (languageState.language.code == prospectiveUILanguage)
return true;
- }
// Otherwise, the prospective language can be changed to/from this language.
return false;
@@ -166,11 +161,12 @@ Polymer({
*/
onUILanguageChange_: function(e) {
if (e.target.checked) {
- this.languageHelper.setUILanguage(this.detailLanguage_.language.code);
+ this.languageHelper.setProspectiveUILanguage(
+ this.detailLanguage_.language.code);
} else if (this.detailLanguage_.language.code ==
- this.languageHelper.getProspectiveUILanguage()) {
+ this.languages.prospectiveUILanguage) {
// Reset the chosen UI language to the actual UI language.
- this.languageHelper.resetUILanguage();
+ this.languageHelper.resetProspectiveUILanguage();
}
/** @type {!CrActionMenuElement} */(this.$.menu.get()).close();
},
@@ -356,17 +352,17 @@ Polymer({
*/
isProspectiveUILanguage_: function(languageCode, prospectiveUILanguage) {
assert(cr.isChromeOS || cr.isWindows);
- return languageCode == this.languageHelper.getProspectiveUILanguage();
+ return languageCode == prospectiveUILanguage;
},
<if expr="chromeos or is_win">
/**
+ * @param {string} prospectiveUILanguage
* @return {string}
* @private
*/
- getProspectiveUILanguageName_: function() {
- return this.languageHelper.getLanguage(
- this.languageHelper.getProspectiveUILanguage()).displayName;
+ getProspectiveUILanguageName_: function(prospectiveUILanguage) {
+ return this.languageHelper.getLanguage(prospectiveUILanguage).displayName;
},
</if>
@@ -392,15 +388,12 @@ Polymer({
* selected on Chrome OS and Windows.
* @param {string} languageCode The language code identifying a language.
* @param {string} prospectiveUILanguage The prospective UI language.
- * @param {boolean} supportsUI Whether Chrome's UI can be shown in this
- * language.
* @return {string} The class name for the language item.
* @private
*/
- getLanguageItemClass_: function(languageCode, prospectiveUILanguage,
- supportsUI) {
+ getLanguageItemClass_: function(languageCode, prospectiveUILanguage) {
if ((cr.isChromeOS || cr.isWindows) &&
- this.isProspectiveUILanguage_(languageCode, prospectiveUILanguage)) {
+ languageCode == prospectiveUILanguage) {
return 'selected';
}
return '';
@@ -415,7 +408,7 @@ Polymer({
*/
isRestartRequired_: function(languageCode, prospectiveUILanguage) {
return prospectiveUILanguage == languageCode &&
- navigator.language != languageCode;
+ this.languageHelper.requiresRestart();
},
/**

Powered by Google App Engine
This is Rietveld 408576698