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

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

Issue 6151004: DOMUI Prefs: Replace search engine edit overlay with inline editing. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address last comment 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 7a56bad1e6731bc2a54404d966c5ab0e377325e0..9a99f574ead3c52fbb316ded650ddb5066d40586 100644
--- a/chrome/browser/resources/options/search_engine_manager.js
+++ b/chrome/browser/resources/options/search_engine_manager.js
@@ -37,23 +37,19 @@ cr.define('options', function() {
this.selectionChanged_.bind(this));
var self = this;
- $('addSearchEngineButton').onclick = function(event) {
- chrome.send('editSearchEngine', ["-1"]);
- OptionsPage.showOverlay('editSearchEngineOverlay');
- };
- $('editSearchEngineButton').onclick = function(event) {
- chrome.send('editSearchEngine', [self.selectedModelIndex_]);
- OptionsPage.showOverlay('editSearchEngineOverlay');
+ // This is a temporary hack to allow the "Make Default" button to
+ // continue working despite the new list behavior of removing selection
+ // on focus loss.
+ // Once drag-and-drop is supported, so items can be moved into the default
+ // section, this button will go away entirely.
+ $('makeDefaultSearchEngineButton').onmousedown = function(event) {
+ self.pendingDefaultEngine_ = self.list_.selectedItem;
};
$('makeDefaultSearchEngineButton').onclick = function(event) {
chrome.send('managerSetDefaultSearchEngine',
- [self.selectedModelIndex_]);
+ [self.pendingDefaultEngine_['modelIndex']]);
+ self.pendingDefaultEngine_ = null;
};
-
- // Remove Windows-style accelerators from button labels.
- // TODO(stuartmorgan): Remove this once the strings are updated.
- $('addSearchEngineButton').textContent =
- localStrings.getStringWithoutAccelerator('addSearchEngineButton');
},
/**
@@ -62,16 +58,11 @@ cr.define('options', function() {
* @param {Array} engineList List of available search engines.
*/
updateSearchEngineList_: function(engineList) {
- this.list_.dataModel = new ArrayDataModel(engineList);
- },
-
- /**
- * Returns the currently selected list item's underlying model index.
- * @private
- */
- get selectedModelIndex_() {
- var listIndex = this.list_.selectionModel.selectedIndex;
- return this.list_.dataModel.item(listIndex)['modelIndex'];
+ var model = new ArrayDataModel(engineList);
+ model.push({
+ 'modelIndex': '-1'
+ });
+ this.list_.dataModel = model;
},
/**
@@ -80,11 +71,7 @@ cr.define('options', function() {
* @param {!cr.Event} e Event with change info.
*/
selectionChanged_: function(e) {
- var selectedIndex = this.list_.selectionModel.selectedIndex;
- var engine = selectedIndex != -1 ?
- this.list_.dataModel.item(selectedIndex) : null;
-
- $('editSearchEngineButton').disabled = engine == null;
+ var engine = this.list_.selectedItem || this.pendingDefaultEngine_;
$('makeDefaultSearchEngineButton').disabled =
!(engine && engine['canBeDefault']);
},
@@ -94,6 +81,11 @@ cr.define('options', function() {
SearchEngineManager.getInstance().updateSearchEngineList_(engineList);
};
+ SearchEngineManager.validityCheckCallback = function(validity, modelIndex) {
+ SearchEngineManager.getInstance().list_.validationComplete(validity,
+ modelIndex);
+ };
+
// Export
return {
SearchEngineManager: SearchEngineManager

Powered by Google App Engine
This is Rietveld 408576698