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

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

Issue 2939273002: DO NOT SUBMIT: what chrome/browser/resources/ could eventually look like with clang-format (Closed)
Patch Set: Created 3 years, 6 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
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 cr.define('options', function() { 5 cr.define('options', function() {
6 /** @const */ var Page = cr.ui.pageManager.Page; 6 /** @const */ var Page = cr.ui.pageManager.Page;
7 /** @const */ var PageManager = cr.ui.pageManager.PageManager; 7 /** @const */ var PageManager = cr.ui.pageManager.PageManager;
8 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; 8 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel;
9 9
10 /** 10 /**
11 * Encapsulated handling of search engine management page. 11 * Encapsulated handling of search engine management page.
12 * @constructor 12 * @constructor
13 * @extends {cr.ui.pageManager.Page} 13 * @extends {cr.ui.pageManager.Page}
14 */ 14 */
15 function SearchEngineManager() { 15 function SearchEngineManager() {
16 this.activeNavTab = null; 16 this.activeNavTab = null;
17 Page.call(this, 'searchEngines', 17 Page.call(
18 loadTimeData.getString('searchEngineManagerPageTabTitle'), 18 this, 'searchEngines',
19 'search-engine-manager-page'); 19 loadTimeData.getString('searchEngineManagerPageTabTitle'),
20 'search-engine-manager-page');
20 } 21 }
21 22
22 cr.addSingletonGetter(SearchEngineManager); 23 cr.addSingletonGetter(SearchEngineManager);
23 24
24 SearchEngineManager.prototype = { 25 SearchEngineManager.prototype = {
25 __proto__: Page.prototype, 26 __proto__: Page.prototype,
26 27
27 /** 28 /**
28 * List for default search engine options. 29 * List for default search engine options.
29 * @private 30 * @private
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 /** 74 /**
74 * Updates the search engine list with the given entries. 75 * Updates the search engine list with the given entries.
75 * @private 76 * @private
76 * @param {!Array} defaultEngines List of possible default search engines. 77 * @param {!Array} defaultEngines List of possible default search engines.
77 * @param {!Array} otherEngines List of other search engines. 78 * @param {!Array} otherEngines List of other search engines.
78 * @param {!Array} keywords List of keywords from extensions. 79 * @param {!Array} keywords List of keywords from extensions.
79 */ 80 */
80 updateSearchEngineList_: function(defaultEngines, otherEngines, keywords) { 81 updateSearchEngineList_: function(defaultEngines, otherEngines, keywords) {
81 this.defaultsList_.dataModel = new ArrayDataModel(defaultEngines); 82 this.defaultsList_.dataModel = new ArrayDataModel(defaultEngines);
82 83
83 otherEngines = otherEngines.map(function(x) { 84 otherEngines = otherEngines
84 return [x, x.name.toLocaleLowerCase()]; 85 .map(function(x) {
85 }).sort(function(a, b) { 86 return [x, x.name.toLocaleLowerCase()];
86 return a[1].localeCompare(b[1]); 87 })
87 }).map(function(x) { 88 .sort(function(a, b) {
88 return x[0]; 89 return a[1].localeCompare(b[1]);
89 }); 90 })
91 .map(function(x) {
92 return x[0];
93 });
90 94
91 var othersModel = new ArrayDataModel(otherEngines); 95 var othersModel = new ArrayDataModel(otherEngines);
92 // Add a "new engine" row. 96 // Add a "new engine" row.
93 othersModel.push({ 97 othersModel.push({'modelIndex': '-1', 'canBeEdited': true});
94 'modelIndex': '-1',
95 'canBeEdited': true
96 });
97 this.othersList_.dataModel = othersModel; 98 this.othersList_.dataModel = othersModel;
98 99
99 if (keywords.length > 0) { 100 if (keywords.length > 0) {
100 $('extension-keyword-div').hidden = false; 101 $('extension-keyword-div').hidden = false;
101 var extensionsModel = new ArrayDataModel(keywords); 102 var extensionsModel = new ArrayDataModel(keywords);
102 this.extensionList_.dataModel = extensionsModel; 103 this.extensionList_.dataModel = extensionsModel;
103 } else { 104 } else {
104 $('extension-keyword-div').hidden = true; 105 $('extension-keyword-div').hidden = true;
105 } 106 }
106 }, 107 },
107 }; 108 };
108 109
109 SearchEngineManager.updateSearchEngineList = function(defaultEngines, 110 SearchEngineManager.updateSearchEngineList = function(
110 otherEngines, 111 defaultEngines, otherEngines, keywords) {
111 keywords) { 112 SearchEngineManager.getInstance().updateSearchEngineList_(
112 SearchEngineManager.getInstance().updateSearchEngineList_(defaultEngines, 113 defaultEngines, otherEngines, keywords);
113 otherEngines,
114 keywords);
115 }; 114 };
116 115
117 SearchEngineManager.validityCheckCallback = function(validity, modelIndex) { 116 SearchEngineManager.validityCheckCallback = function(validity, modelIndex) {
118 // Forward to all lists; those without a matching modelIndex will ignore it. 117 // Forward to all lists; those without a matching modelIndex will ignore it.
119 SearchEngineManager.getInstance().defaultsList_.validationComplete( 118 SearchEngineManager.getInstance().defaultsList_.validationComplete(
120 validity, modelIndex); 119 validity, modelIndex);
121 SearchEngineManager.getInstance().othersList_.validationComplete( 120 SearchEngineManager.getInstance().othersList_.validationComplete(
122 validity, modelIndex); 121 validity, modelIndex);
123 SearchEngineManager.getInstance().extensionList_.validationComplete( 122 SearchEngineManager.getInstance().extensionList_.validationComplete(
124 validity, modelIndex); 123 validity, modelIndex);
125 }; 124 };
126 125
127 // Export 126 // Export
128 return { 127 return {SearchEngineManager: SearchEngineManager};
129 SearchEngineManager: SearchEngineManager
130 };
131 128
132 }); 129 });
133
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698