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

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

Issue 552883002: Compile chrome://settings, part 4: 149 proper errors left (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@H_options_errors_2
Patch Set: fixed assert Created 6 years, 3 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 /**
6 * @typedef {{canBeDefault: boolean,
7 * canBeEdited: boolean,
8 * canBeRemoved: boolean,
9 * default: boolean,
10 * displayName: string,
11 * extension: (Object|undefined),
12 * iconURL: (string|undefined),
13 * isExtension: boolean,
14 * keyword: string,
15 * modelIndex: string,
16 * name: string,
17 * url: string,
18 * urlLocked: boolean}}
19 * @see chrome/browser/ui/webui/options/search_engine_manager_handler.cc
20 */
21 var SearchEngine;
22
5 cr.define('options.search_engines', function() { 23 cr.define('options.search_engines', function() {
6 /** @const */ var ControlledSettingIndicator = 24 /** @const */ var ControlledSettingIndicator =
7 options.ControlledSettingIndicator; 25 options.ControlledSettingIndicator;
8 /** @const */ var InlineEditableItemList = options.InlineEditableItemList; 26 /** @const */ var InlineEditableItemList = options.InlineEditableItemList;
9 /** @const */ var InlineEditableItem = options.InlineEditableItem; 27 /** @const */ var InlineEditableItem = options.InlineEditableItem;
10 /** @const */ var ListSelectionController = cr.ui.ListSelectionController; 28 /** @const */ var ListSelectionController = cr.ui.ListSelectionController;
11 29
12 /** 30 /**
13 * Creates a new search engine list item. 31 * Creates a new search engine list item.
14 * @param {Object} searchEngine The search engine this represents. 32 * @param {SearchEngine} searchEngine The search engine this represents.
15 * @constructor 33 * @constructor
16 * @extends {cr.ui.ListItem} 34 * @extends {options.InlineEditableItem}
17 */ 35 */
18 function SearchEngineListItem(searchEngine) { 36 function SearchEngineListItem(searchEngine) {
19 var el = cr.doc.createElement('div'); 37 var el = cr.doc.createElement('div');
20 el.searchEngine_ = searchEngine; 38 el.searchEngine_ = searchEngine;
21 SearchEngineListItem.decorate(el); 39 SearchEngineListItem.decorate(el);
22 return el; 40 return el;
23 } 41 }
24 42
25 /** 43 /**
26 * Decorates an element as a search engine list item. 44 * Decorates an element as a search engine list item.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 */ 80 */
63 waitingForValidation_: false, 81 waitingForValidation_: false,
64 82
65 /** 83 /**
66 * Whether or not the current set of input is known to be valid. 84 * Whether or not the current set of input is known to be valid.
67 * @type {boolean} 85 * @type {boolean}
68 * @private 86 * @private
69 */ 87 */
70 currentlyValid_: false, 88 currentlyValid_: false,
71 89
90 /**
91 * @type {?SearchEngine}
92 */
93 searchEngine_: null,
94
72 /** @override */ 95 /** @override */
73 decorate: function() { 96 decorate: function() {
74 InlineEditableItem.prototype.decorate.call(this); 97 InlineEditableItem.prototype.decorate.call(this);
75 98
76 var engine = this.searchEngine_; 99 var engine = this.searchEngine_;
77 100
78 if (engine.modelIndex == '-1') { 101 if (engine.modelIndex == '-1') {
79 this.isPlaceholder = true; 102 this.isPlaceholder = true;
80 engine.name = ''; 103 engine.name = '';
81 engine.keyword = ''; 104 engine.keyword = '';
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 // Don't select the row when clicking the button. 162 // Don't select the row when clicking the button.
140 e.stopPropagation(); 163 e.stopPropagation();
141 // Don't focus on the button. 164 // Don't focus on the button.
142 e.preventDefault(); 165 e.preventDefault();
143 }; 166 };
144 urlWithButtonEl.appendChild(makeDefaultButtonEl); 167 urlWithButtonEl.appendChild(makeDefaultButtonEl);
145 } 168 }
146 } 169 }
147 170
148 // Do final adjustment to the input fields. 171 // Do final adjustment to the input fields.
149 this.nameField_ = nameEl.querySelector('input'); 172 this.nameField_ = /** @type {HTMLElement} */(
173 nameEl.querySelector('input'));
150 // The editable field uses the raw name, not the display name. 174 // The editable field uses the raw name, not the display name.
151 this.nameField_.value = engine.name; 175 this.nameField_.value = engine.name;
152 this.keywordField_ = keywordEl.querySelector('input'); 176 this.keywordField_ = /** @type {HTMLElement} */(
153 this.urlField_ = urlEl.querySelector('input'); 177 keywordEl.querySelector('input'));
178 this.urlField_ = /** @type {HTMLElement} */(urlEl.querySelector('input'));
154 179
155 if (engine.urlLocked) 180 if (engine.urlLocked)
156 this.urlField_.disabled = true; 181 this.urlField_.disabled = true;
157 182
158 if (engine.isExtension) 183 if (engine.isExtension)
159 this.nameField_.disabled = true; 184 this.nameField_.disabled = true;
160 185
161 if (this.isPlaceholder) { 186 if (this.isPlaceholder) {
162 this.nameField_.placeholder = 187 this.nameField_.placeholder =
163 loadTimeData.getString('searchEngineTableNamePlaceholder'); 188 loadTimeData.getString('searchEngineTableNamePlaceholder');
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 this.urlField_.setCustomValidity(''); 318 this.urlField_.setCustomValidity('');
294 } else { 319 } else {
295 this.urlField_.setCustomValidity( 320 this.urlField_.setCustomValidity(
296 loadTimeData.getString('editSearchEngineInvalidURLToolTip')); 321 loadTimeData.getString('editSearchEngineInvalidURLToolTip'));
297 } 322 }
298 323
299 this.currentlyValid_ = validity.name && validity.keyword && validity.url; 324 this.currentlyValid_ = validity.name && validity.keyword && validity.url;
300 }, 325 },
301 }; 326 };
302 327
328 /**
329 * @constructor
330 * @extends {options.InlineEditableItemList}
331 */
303 var SearchEngineList = cr.ui.define('list'); 332 var SearchEngineList = cr.ui.define('list');
304 333
305 SearchEngineList.prototype = { 334 SearchEngineList.prototype = {
306 __proto__: InlineEditableItemList.prototype, 335 __proto__: InlineEditableItemList.prototype,
307 336
308 /** @override */ 337 /**
338 * @override
339 * @param {SearchEngine} searchEngine
340 */
309 createItem: function(searchEngine) { 341 createItem: function(searchEngine) {
310 return new SearchEngineListItem(searchEngine); 342 return new SearchEngineListItem(searchEngine);
311 }, 343 },
312 344
313 /** @override */ 345 /** @override */
314 deleteItemAtIndex: function(index) { 346 deleteItemAtIndex: function(index) {
315 var modelIndex = this.dataModel.item(index).modelIndex; 347 var modelIndex = this.dataModel.item(index).modelIndex;
316 chrome.send('removeSearchEngine', [String(modelIndex)]); 348 chrome.send('removeSearchEngine', [String(modelIndex)]);
317 }, 349 },
318 350
(...skipping 14 matching lines...) Expand all
333 }, 365 },
334 }; 366 };
335 367
336 // Export 368 // Export
337 return { 369 return {
338 SearchEngineList: SearchEngineList 370 SearchEngineList: SearchEngineList
339 }; 371 };
340 372
341 }); 373 });
342 374
OLDNEW
« no previous file with comments | « chrome/browser/resources/options/search_engine_manager.js ('k') | chrome/browser/resources/options/search_page.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698