Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / resources / options / language_add_language_overlay.js
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
3 // found in the LICENSE file.
4
5 ///////////////////////////////////////////////////////////////////////////////
6 // AddLanguageOverlay class:
7
8 cr.define('options', function() {
9   /** @const */ var Page = cr.ui.pageManager.Page;
10   /** @const */ var PageManager = cr.ui.pageManager.PageManager;
11
12   /**
13    * Encapsulated handling of ChromeOS add language overlay page.
14    * @constructor
15    */
16   function AddLanguageOverlay() {
17     Page.call(this, 'addLanguage',
18               loadTimeData.getString('addButton'),
19               'add-language-overlay-page');
20   }
21
22   cr.addSingletonGetter(AddLanguageOverlay);
23
24   AddLanguageOverlay.prototype = {
25     // Inherit AddLanguageOverlay from Page.
26     __proto__: Page.prototype,
27
28     /** @override */
29     initializePage: function() {
30       Page.prototype.initializePage.call(this);
31
32       // Set up the cancel button.
33       $('add-language-overlay-cancel-button').onclick = function(e) {
34         PageManager.closeOverlay();
35       };
36
37       // Create the language list with which users can add a language.
38       var addLanguageList = $('add-language-overlay-language-list');
39       var languageListData = loadTimeData.getValue('languageList');
40       for (var i = 0; i < languageListData.length; i++) {
41         var language = languageListData[i];
42         var displayText = language.displayName;
43         // If the native name is different, add it.
44         if (language.displayName != language.nativeDisplayName)
45           displayText += ' - ' + language.nativeDisplayName;
46
47         var option = cr.doc.createElement('option');
48         option.value = language.code;
49         option.textContent = displayText;
50         addLanguageList.appendChild(option);
51       }
52     },
53   };
54
55   return {
56     AddLanguageOverlay: AddLanguageOverlay
57   };
58 });