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

Unified Diff: chrome/browser/resources/options/search_engine_manager.js

Issue 6248015: DOMUI Prefs: Split search engines into two lists (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/resources/options/search_engine_manager.js
diff --git a/chrome/browser/resources/options/search_engine_manager.js b/chrome/browser/resources/options/search_engine_manager.js
index d0b50f8abdfa06003d3776ae45a977cceca07551..ea87ebd3dc6145334f1ef46682b67342ca3901da 100644
--- a/chrome/browser/resources/options/search_engine_manager.js
+++ b/chrome/browser/resources/options/search_engine_manager.js
@@ -22,39 +22,73 @@ cr.define('options', function() {
SearchEngineManager.prototype = {
__proto__: OptionsPage.prototype,
- list_: null,
+ /**
+ * List for default search engine options
+ * @type {boolean}
+ * @private
+ */
+ defaultsList_: null,
+
+ /**
+ * List for other search engine options
+ * @type {boolean}
+ * @private
+ */
+ othersList_: null,
+
+ /** inheritDoc */
initializePage: function() {
OptionsPage.prototype.initializePage.call(this);
- this.list_ = $('searchEngineList')
- options.search_engines.SearchEngineList.decorate(this.list_);
- var selectionModel = new ListSingleSelectionModel;
- this.list_.selectionModel = selectionModel;
- this.list_.autoExpands = true;
+ this.defaultsList_ = $('defaultSearchEngineList');
+ this.setUpList_(this.defaultsList_);
+
+ this.othersList_ = $('otherSearchEngineList');
+ this.setUpList_(this.othersList_);
+ },
+
+ /**
+ * Sets up the given list as a search engine list
+ * @param {List} list The list to set up.
+ * @private
+ */
+ setUpList_: function(list) {
+ options.search_engines.SearchEngineList.decorate(list);
+ list.selectionModel = new ListSingleSelectionModel;
+ list.autoExpands = true;
},
/**
* Updates the search engine list with the given entries.
* @private
- * @param {Array} engineList List of available search engines.
+ * @param {Array} defaultEngines List of possible default search engines.
+ * @param {Array} otherEngines List of other search engines.
*/
- updateSearchEngineList_: function(engineList) {
- var model = new ArrayDataModel(engineList);
- model.push({
+ updateSearchEngineList_: function(defaultEngines, otherEngines) {
+ this.defaultsList_.dataModel = new ArrayDataModel(defaultEngines);
+ var othersModel = new ArrayDataModel(otherEngines);
+ // Add a "new engine" row.
+ othersModel.push({
'modelIndex': '-1'
});
- this.list_.dataModel = model;
+ this.othersList_.dataModel = othersModel;
},
};
- SearchEngineManager.updateSearchEngineList = function(engineList) {
- SearchEngineManager.getInstance().updateSearchEngineList_(engineList);
+ SearchEngineManager.updateSearchEngineList = function(defaultEngines,
+ otherEngines) {
+ SearchEngineManager.getInstance().updateSearchEngineList_(defaultEngines,
+ otherEngines);
};
SearchEngineManager.validityCheckCallback = function(validity, modelIndex) {
- SearchEngineManager.getInstance().list_.validationComplete(validity,
- modelIndex);
+ // Forward to both lists; the one without a matching modelIndex will ignore
+ // it.
+ SearchEngineManager.getInstance().defaultsList_.validationComplete(
+ validity, modelIndex);
+ SearchEngineManager.getInstance().othersList_.validationComplete(
+ validity, modelIndex);
};
// Export

Powered by Google App Engine
This is Rietveld 408576698