| OLD | NEW |
| 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 /////////////////////////////////////////////////////////////////////////////// | 5 /////////////////////////////////////////////////////////////////////////////// |
| 6 // AddLanguageOverlay class: | 6 // AddLanguageOverlay class: |
| 7 | 7 |
| 8 /** | 8 /** |
| 9 * @typedef {{ | 9 * @typedef {{ |
| 10 * code: string, | 10 * code: string, |
| 11 * displayName: string, | 11 * displayName: string, |
| 12 * textDirection: string, | 12 * textDirection: string, |
| 13 * nativeDisplayName: string | 13 * nativeDisplayName: string |
| 14 * }} | 14 * }} |
| 15 */ | 15 */ |
| 16 options.LanguageData; | 16 options.LanguageData; |
| 17 | 17 |
| 18 cr.define('options', function() { | 18 cr.define('options', function() { |
| 19 /** @const */ var Page = cr.ui.pageManager.Page; | 19 /** @const */ var Page = cr.ui.pageManager.Page; |
| 20 /** @const */ var PageManager = cr.ui.pageManager.PageManager; | 20 /** @const */ var PageManager = cr.ui.pageManager.PageManager; |
| 21 | 21 |
| 22 /** | 22 /** |
| 23 * Encapsulated handling of ChromeOS add language overlay page. | 23 * Encapsulated handling of ChromeOS add language overlay page. |
| 24 * @constructor | 24 * @constructor |
| 25 * @extends {cr.ui.pageManager.Page} | 25 * @extends {cr.ui.pageManager.Page} |
| 26 */ | 26 */ |
| 27 function AddLanguageOverlay() { | 27 function AddLanguageOverlay() { |
| 28 Page.call(this, 'addLanguage', | 28 Page.call( |
| 29 loadTimeData.getString('addButton'), | 29 this, 'addLanguage', loadTimeData.getString('addButton'), |
| 30 'add-language-overlay-page'); | 30 'add-language-overlay-page'); |
| 31 } | 31 } |
| 32 | 32 |
| 33 cr.addSingletonGetter(AddLanguageOverlay); | 33 cr.addSingletonGetter(AddLanguageOverlay); |
| 34 | 34 |
| 35 AddLanguageOverlay.prototype = { | 35 AddLanguageOverlay.prototype = { |
| 36 // Inherit AddLanguageOverlay from Page. | 36 // Inherit AddLanguageOverlay from Page. |
| 37 __proto__: Page.prototype, | 37 __proto__: Page.prototype, |
| 38 | 38 |
| 39 /** @override */ | 39 /** @override */ |
| 40 initializePage: function() { | 40 initializePage: function() { |
| 41 Page.prototype.initializePage.call(this); | 41 Page.prototype.initializePage.call(this); |
| 42 | 42 |
| 43 // Set up the cancel button. | 43 // Set up the cancel button. |
| 44 $('add-language-overlay-cancel-button').onclick = function(e) { | 44 $('add-language-overlay-cancel-button').onclick = function(e) { |
| 45 PageManager.closeOverlay(); | 45 PageManager.closeOverlay(); |
| 46 }; | 46 }; |
| 47 | 47 |
| 48 // Create the language list with which users can add a language. | 48 // Create the language list with which users can add a language. |
| 49 var addLanguageList = $('add-language-overlay-language-list'); | 49 var addLanguageList = $('add-language-overlay-language-list'); |
| 50 | 50 |
| 51 /** | 51 /** |
| 52 * @type {!Array<!options.LanguageData>} | 52 * @type {!Array<!options.LanguageData>} |
| 53 * @see chrome/browser/ui/webui/options/language_options_handler.cc | 53 * @see chrome/browser/ui/webui/options/language_options_handler.cc |
| 54 */ | 54 */ |
| 55 var languageListData = /** @type {!Array<!options.LanguageData>} */( | 55 var languageListData = /** @type {!Array<!options.LanguageData>} */ ( |
| 56 loadTimeData.getValue('languageList')); | 56 loadTimeData.getValue('languageList')); |
| 57 for (var i = 0; i < languageListData.length; i++) { | 57 for (var i = 0; i < languageListData.length; i++) { |
| 58 var language = languageListData[i]; | 58 var language = languageListData[i]; |
| 59 var displayText = language.displayName; | 59 var displayText = language.displayName; |
| 60 // If the native name is different, add it. | 60 // If the native name is different, add it. |
| 61 if (language.displayName != language.nativeDisplayName) | 61 if (language.displayName != language.nativeDisplayName) |
| 62 displayText += ' - ' + language.nativeDisplayName; | 62 displayText += ' - ' + language.nativeDisplayName; |
| 63 | 63 |
| 64 var option = cr.doc.createElement('option'); | 64 var option = cr.doc.createElement('option'); |
| 65 option.value = language.code; | 65 option.value = language.code; |
| 66 option.textContent = displayText; | 66 option.textContent = displayText; |
| 67 addLanguageList.appendChild(option); | 67 addLanguageList.appendChild(option); |
| 68 } | 68 } |
| 69 }, | 69 }, |
| 70 }; | 70 }; |
| 71 | 71 |
| 72 return { | 72 return {AddLanguageOverlay: AddLanguageOverlay}; |
| 73 AddLanguageOverlay: AddLanguageOverlay | |
| 74 }; | |
| 75 }); | 73 }); |
| OLD | NEW |