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

Side by Side Diff: chrome/browser/resources/options/language_options.js

Issue 152143009: Clarify settings UI in multi-profiles mode (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: disable locale change for secondary user Created 6 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // TODO(kochi): Generalize the notification as a component and put it 5 // TODO(kochi): Generalize the notification as a component and put it
6 // in js/cr/ui/notification.js . 6 // in js/cr/ui/notification.js .
7 7
8 cr.define('options', function() { 8 cr.define('options', function() {
9 /** @const */ var OptionsPage = options.OptionsPage; 9 /** @const */ var OptionsPage = options.OptionsPage;
10 /** @const */ var LanguageList = options.LanguageList; 10 /** @const */ var LanguageList = options.LanguageList;
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 var uiLanguageMessage = $('language-options-ui-language-message'); 550 var uiLanguageMessage = $('language-options-ui-language-message');
551 var uiLanguageNotification = $('language-options-ui-notification-bar'); 551 var uiLanguageNotification = $('language-options-ui-notification-bar');
552 552
553 // Remove the event listener and add it back if useful. 553 // Remove the event listener and add it back if useful.
554 uiLanguageButton.onclick = null; 554 uiLanguageButton.onclick = null;
555 555
556 // Unhide the language button every time, as it could've been previously 556 // Unhide the language button every time, as it could've been previously
557 // hidden by a language change. 557 // hidden by a language change.
558 uiLanguageButton.hidden = false; 558 uiLanguageButton.hidden = false;
559 559
560 // Hide the controlled setting indicator.
561 var uiLanguageIndicator = document.querySelector(
562 '.language-options-contents .controlled-setting-indicator');
563 uiLanguageIndicator.removeAttribute('controlled-by');
564
560 if (languageCode == this.prospectiveUiLanguageCode_) { 565 if (languageCode == this.prospectiveUiLanguageCode_) {
561 uiLanguageMessage.textContent = 566 uiLanguageMessage.textContent =
562 loadTimeData.getString('isDisplayedInThisLanguage'); 567 loadTimeData.getString('isDisplayedInThisLanguage');
563 showMutuallyExclusiveNodes( 568 showMutuallyExclusiveNodes(
564 [uiLanguageButton, uiLanguageMessage, uiLanguageNotification], 1); 569 [uiLanguageButton, uiLanguageMessage, uiLanguageNotification], 1);
565 } else if (languageCode in loadTimeData.getValue('uiLanguageCodeSet')) { 570 } else if (languageCode in loadTimeData.getValue('uiLanguageCodeSet')) {
566 if (cr.isChromeOS && UIAccountTweaks.loggedInAsGuest()) { 571 if (cr.isChromeOS && UIAccountTweaks.loggedInAsGuest()) {
567 // In the guest mode for ChromeOS, changing UI language does not make 572 // In the guest mode for ChromeOS, changing UI language does not make
568 // sense because it does not take effect after browser restart. 573 // sense because it does not take effect after browser restart.
569 uiLanguageButton.hidden = true; 574 uiLanguageButton.hidden = true;
570 uiLanguageMessage.hidden = true; 575 uiLanguageMessage.hidden = true;
571 } else { 576 } else {
572 uiLanguageButton.textContent = 577 uiLanguageButton.textContent =
573 loadTimeData.getString('displayInThisLanguage'); 578 loadTimeData.getString('displayInThisLanguage');
579
580 if (loadTimeData.getBoolean('secondaryUser')) {
581 uiLanguageButton.disabled = true;
582 uiLanguageIndicator.setAttribute('controlled-by', 'shared');
583 } else {
584 uiLanguageButton.onclick = function(e) {
585 chrome.send('uiLanguageChange', [languageCode]);
586 };
587 }
574 showMutuallyExclusiveNodes( 588 showMutuallyExclusiveNodes(
575 [uiLanguageButton, uiLanguageMessage, uiLanguageNotification], 0); 589 [uiLanguageButton, uiLanguageMessage, uiLanguageNotification], 0);
576 uiLanguageButton.onclick = function(e) {
577 chrome.send('uiLanguageChange', [languageCode]);
578 };
579 } 590 }
580 } else { 591 } else {
581 uiLanguageMessage.textContent = 592 uiLanguageMessage.textContent =
582 loadTimeData.getString('cannotBeDisplayedInThisLanguage'); 593 loadTimeData.getString('cannotBeDisplayedInThisLanguage');
583 showMutuallyExclusiveNodes( 594 showMutuallyExclusiveNodes(
584 [uiLanguageButton, uiLanguageMessage, uiLanguageNotification], 1); 595 [uiLanguageButton, uiLanguageMessage, uiLanguageNotification], 1);
585 } 596 }
586 }, 597 },
587 598
588 /** 599 /**
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after
1295 1306
1296 LanguageOptions.onComponentManagerInitialized = function(componentImes) { 1307 LanguageOptions.onComponentManagerInitialized = function(componentImes) {
1297 LanguageOptions.getInstance().appendComponentExtensionIme_(componentImes); 1308 LanguageOptions.getInstance().appendComponentExtensionIme_(componentImes);
1298 }; 1309 };
1299 1310
1300 // Export 1311 // Export
1301 return { 1312 return {
1302 LanguageOptions: LanguageOptions 1313 LanguageOptions: LanguageOptions
1303 }; 1314 };
1304 }); 1315 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698