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

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

Issue 168183002: options: prettier fix for bug 281069 that can be committed to trunk later. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: test fixes + merge 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
« no previous file with comments | « no previous file | chrome/browser/ui/webui/options/language_options_browsertest.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 408 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 if (!cr.isMac) 419 if (!cr.isMac)
420 this.updateSpellCheckLanguageButton_(languageCode); 420 this.updateSpellCheckLanguageButton_(languageCode);
421 421
422 if (cr.isChromeOS) 422 if (cr.isChromeOS)
423 this.updateInputMethodList_(languageCode); 423 this.updateInputMethodList_(languageCode);
424 424
425 this.updateLanguageListInAddLanguageOverlay_(); 425 this.updateLanguageListInAddLanguageOverlay_();
426 }, 426 },
427 427
428 /** 428 /**
429 * Happens when a user changes back to the language they're currently using.
430 */
431 currentLocaleWasReselected: function() {
432 this.updateUiLanguageButton_(
433 loadTimeData.getString('currentUiLanguageCode'));
434 },
435
436 /**
437 * Handles languageOptionsList's save event. 429 * Handles languageOptionsList's save event.
438 * @param {Event} e Save event. 430 * @param {Event} e Save event.
439 * @private 431 * @private
440 */ 432 */
441 handleLanguageOptionsListSave_: function(e) { 433 handleLanguageOptionsListSave_: function(e) {
442 if (cr.isChromeOS) { 434 if (cr.isChromeOS) {
443 // Sort the preload engines per the saved languages before save. 435 // Sort the preload engines per the saved languages before save.
444 this.preloadEngines_ = this.sortPreloadEngines_(this.preloadEngines_); 436 this.preloadEngines_ = this.sortPreloadEngines_(this.preloadEngines_);
445 this.savePreloadEnginesPref_(); 437 this.savePreloadEnginesPref_();
446 } 438 }
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
846 if (checkbox.checked) { 838 if (checkbox.checked) {
847 chrome.send('inputMethodEnable', [checkbox.inputMethodId]); 839 chrome.send('inputMethodEnable', [checkbox.inputMethodId]);
848 } else { 840 } else {
849 chrome.send('inputMethodDisable', [checkbox.inputMethodId]); 841 chrome.send('inputMethodDisable', [checkbox.inputMethodId]);
850 } 842 }
851 this.updatePreloadEnginesFromCheckboxes_(); 843 this.updatePreloadEnginesFromCheckboxes_();
852 this.preloadEngines_ = this.sortPreloadEngines_(this.preloadEngines_); 844 this.preloadEngines_ = this.sortPreloadEngines_(this.preloadEngines_);
853 this.savePreloadEnginesPref_(); 845 this.savePreloadEnginesPref_();
854 }, 846 },
855 847
856 handleAddLanguageOkButtonClick_: function() { 848 /**
849 * Handles clicks on the "OK" button of the "Add language" dialog.
850 * @param {Event} e Click event.
851 * @private
852 */
853 handleAddLanguageOkButtonClick_: function(e) {
857 var languagesSelect = $('add-language-overlay-language-list'); 854 var languagesSelect = $('add-language-overlay-language-list');
858 var selectedIndex = languagesSelect.selectedIndex; 855 var selectedIndex = languagesSelect.selectedIndex;
859 if (selectedIndex >= 0) { 856 if (selectedIndex >= 0) {
860 var selection = languagesSelect.options[selectedIndex]; 857 var selection = languagesSelect.options[selectedIndex];
861 var langCode = String(selection.value); 858 var langCode = String(selection.value);
862 $('language-options-list').addLanguage(langCode); 859 $('language-options-list').addLanguage(langCode);
863 this.addBlockedLanguage_(langCode); 860 this.addBlockedLanguage_(langCode);
864 OptionsPage.closeOverlay(); 861 OptionsPage.closeOverlay();
865 } 862 }
866 }, 863 },
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after
1185 notificationElement.onmouseout = delayedHide; 1182 notificationElement.onmouseout = delayedHide;
1186 actionLink.onfocus = show; 1183 actionLink.onfocus = show;
1187 actionLink.onblur = delayedHide; 1184 actionLink.onblur = delayedHide;
1188 // Enable tabbing to the link now that it is shown. 1185 // Enable tabbing to the link now that it is shown.
1189 actionLink.tabIndex = 0; 1186 actionLink.tabIndex = 0;
1190 1187
1191 show(); 1188 show();
1192 delayedHide(); 1189 delayedHide();
1193 }, 1190 },
1194 1191
1192 /**
1193 * Chrome callback for when the UI language preference is saved.
1194 * @param {string} languageCode The newly selected language to use.
1195 * @private
1196 */
1197 uiLanguageSaved_: function(languageCode) {
1198 this.prospectiveUiLanguageCode_ = languageCode;
1199
1200 // If the user is no longer on the same language code, ignore.
1201 if ($('language-options-list').getSelectedLanguageCode() != languageCode)
1202 return;
1203
1204 // Special case for when a user changes to a different language, and
1205 // changes back to the same language without having restarted Chrome or
1206 // logged in/out of ChromeOS.
1207 if (languageCode == loadTimeData.getString('currentUiLanguageCode')) {
1208 this.updateUiLanguageButton_(languageCode);
1209 return;
1210 }
1211
1212 // Otherwise, show a notification telling the user that their changes will
1213 // only take effect after restart.
1214 showMutuallyExclusiveNodes([$('language-options-ui-language-button'),
1215 $('language-options-ui-notification-bar')],
1216 1);
1217 },
1218
1219 /**
1220 * A handler for when dictionary for |languageCode| begins downloading.
1221 * @param {string} languageCode The language of the dictionary that just
1222 * began downloading.
1223 * @private
1224 */
1195 onDictionaryDownloadBegin_: function(languageCode) { 1225 onDictionaryDownloadBegin_: function(languageCode) {
1196 this.spellcheckDictionaryDownloadStatus_[languageCode] = 1226 this.spellcheckDictionaryDownloadStatus_[languageCode] =
1197 DOWNLOAD_STATUS.IN_PROGRESS; 1227 DOWNLOAD_STATUS.IN_PROGRESS;
1198 if (!cr.isMac && 1228 if (!cr.isMac &&
1199 languageCode == 1229 languageCode ==
1200 $('language-options-list').getSelectedLanguageCode()) { 1230 $('language-options-list').getSelectedLanguageCode()) {
1201 this.updateSpellCheckLanguageButton_(languageCode); 1231 this.updateSpellCheckLanguageButton_(languageCode);
1202 } 1232 }
1203 }, 1233 },
1204 1234
1235 /**
1236 * A handler for when dictionary for |languageCode| successfully downloaded.
1237 * @param {string} languageCode The language of the dictionary that
1238 * succeeded downloading.
1239 * @private
1240 */
1205 onDictionaryDownloadSuccess_: function(languageCode) { 1241 onDictionaryDownloadSuccess_: function(languageCode) {
1206 delete this.spellcheckDictionaryDownloadStatus_[languageCode]; 1242 delete this.spellcheckDictionaryDownloadStatus_[languageCode];
1207 this.spellcheckDictionaryDownloadFailures_ = 0; 1243 this.spellcheckDictionaryDownloadFailures_ = 0;
1208 if (!cr.isMac && 1244 if (!cr.isMac &&
1209 languageCode == 1245 languageCode ==
1210 $('language-options-list').getSelectedLanguageCode()) { 1246 $('language-options-list').getSelectedLanguageCode()) {
1211 this.updateSpellCheckLanguageButton_(languageCode); 1247 this.updateSpellCheckLanguageButton_(languageCode);
1212 } 1248 }
1213 }, 1249 },
1214 1250
1251 /**
1252 * A handler for when dictionary for |languageCode| fails to download.
1253 * @param {string} languageCode The language of the dictionary that failed
1254 * to download.
1255 * @private
1256 */
1215 onDictionaryDownloadFailure_: function(languageCode) { 1257 onDictionaryDownloadFailure_: function(languageCode) {
1216 this.spellcheckDictionaryDownloadStatus_[languageCode] = 1258 this.spellcheckDictionaryDownloadStatus_[languageCode] =
1217 DOWNLOAD_STATUS.FAILED; 1259 DOWNLOAD_STATUS.FAILED;
1218 this.spellcheckDictionaryDownloadFailures_++; 1260 this.spellcheckDictionaryDownloadFailures_++;
1219 if (!cr.isMac && 1261 if (!cr.isMac &&
1220 languageCode == 1262 languageCode ==
1221 $('language-options-list').getSelectedLanguageCode()) { 1263 $('language-options-list').getSelectedLanguageCode()) {
1222 this.updateSpellCheckLanguageButton_(languageCode); 1264 this.updateSpellCheckLanguageButton_(languageCode);
1223 } 1265 }
1224 }, 1266 },
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1260 * @param {number} index The index of |nodes| to show. 1302 * @param {number} index The index of |nodes| to show.
1261 */ 1303 */
1262 function showMutuallyExclusiveNodes(nodes, index) { 1304 function showMutuallyExclusiveNodes(nodes, index) {
1263 assert(index >= 0 && index < nodes.length); 1305 assert(index >= 0 && index < nodes.length);
1264 for (var i = 0; i < nodes.length; ++i) { 1306 for (var i = 0; i < nodes.length; ++i) {
1265 assert(nodes[i] instanceof HTMLElement); // TODO(dbeam): Ignore null? 1307 assert(nodes[i] instanceof HTMLElement); // TODO(dbeam): Ignore null?
1266 nodes[i].hidden = i != index; 1308 nodes[i].hidden = i != index;
1267 } 1309 }
1268 } 1310 }
1269 1311
1270 /**
1271 * Chrome callback for when the UI language preference is saved.
1272 * @param {string} languageCode The newly selected language to use.
1273 */
1274 LanguageOptions.uiLanguageSaved = function(languageCode) { 1312 LanguageOptions.uiLanguageSaved = function(languageCode) {
1275 this.getInstance().prospectiveUiLanguageCode_ = languageCode; 1313 LanguageOptions.getInstance().uiLanguageSaved_(languageCode);
1276
1277 // If the user is no longer on the same language code, ignore.
1278 if ($('language-options-list').getSelectedLanguageCode() != languageCode)
1279 return;
1280
1281 // Special case for when a user changes to a different language, and changes
1282 // back to the same language without having restarted Chrome or logged
1283 // in/out of ChromeOS.
1284 if (languageCode == loadTimeData.getString('currentUiLanguageCode')) {
1285 LanguageOptions.getInstance().currentLocaleWasReselected();
1286 return;
1287 }
1288
1289 // Otherwise, show a notification telling the user that their changes will
1290 // only take effect after restart.
1291 showMutuallyExclusiveNodes([$('language-options-ui-language-button'),
1292 $('language-options-ui-notification-bar')], 1);
1293 }; 1314 };
1294 1315
1295 LanguageOptions.onDictionaryDownloadBegin = function(languageCode) { 1316 LanguageOptions.onDictionaryDownloadBegin = function(languageCode) {
1296 LanguageOptions.getInstance().onDictionaryDownloadBegin_(languageCode); 1317 LanguageOptions.getInstance().onDictionaryDownloadBegin_(languageCode);
1297 }; 1318 };
1298 1319
1299 LanguageOptions.onDictionaryDownloadSuccess = function(languageCode) { 1320 LanguageOptions.onDictionaryDownloadSuccess = function(languageCode) {
1300 LanguageOptions.getInstance().onDictionaryDownloadSuccess_(languageCode); 1321 LanguageOptions.getInstance().onDictionaryDownloadSuccess_(languageCode);
1301 }; 1322 };
1302 1323
1303 LanguageOptions.onDictionaryDownloadFailure = function(languageCode) { 1324 LanguageOptions.onDictionaryDownloadFailure = function(languageCode) {
1304 LanguageOptions.getInstance().onDictionaryDownloadFailure_(languageCode); 1325 LanguageOptions.getInstance().onDictionaryDownloadFailure_(languageCode);
1305 }; 1326 };
1306 1327
1307 LanguageOptions.onComponentManagerInitialized = function(componentImes) { 1328 LanguageOptions.onComponentManagerInitialized = function(componentImes) {
1308 LanguageOptions.getInstance().appendComponentExtensionIme_(componentImes); 1329 LanguageOptions.getInstance().appendComponentExtensionIme_(componentImes);
1309 }; 1330 };
1310 1331
1311 // Export 1332 // Export
1312 return { 1333 return {
1313 LanguageOptions: LanguageOptions 1334 LanguageOptions: LanguageOptions
1314 }; 1335 };
1315 }); 1336 });
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/webui/options/language_options_browsertest.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698