Index: chrome/browser/resources/options/autofill_options_list.js |
diff --git a/chrome/browser/resources/options/autofill_options_list.js b/chrome/browser/resources/options/autofill_options_list.js |
index e45eb49d2d6351624f621f4821cc37b93f576c41..ac33d94631a12f45bb26446f67694960859cc45e 100644 |
--- a/chrome/browser/resources/options/autofill_options_list.js |
+++ b/chrome/browser/resources/options/autofill_options_list.js |
@@ -208,15 +208,21 @@ cr.define('options.autofillOptions', function() { |
if (this.isPlaceholder) { |
// It is important that updateIndex is done before validateAndSave. |
// Otherwise we can not be sure about AddRow index. |
+ this.list.eventsDisabled = true; |
this.list.dataModel.updateIndex(i); |
+ this.list.eventsDisabled = false; |
this.list.validateAndSave(i, 0, value); |
} else { |
this.list.validateAndSave(i, 1, value); |
} |
} else { |
// Reject empty values and duplicates. |
- if (!this.isPlaceholder) |
+ if (!this.isPlaceholder) { |
+ this.list.eventsDisabled = true; |
this.list.dataModel.splice(i, 1); |
+ this.list.eventsDisabled = false; |
+ this.list.setSelectedIndexWithoutFocusing(i); |
+ } |
Dan Beam
2015/01/21 18:18:07
} else {
bondd
2015/01/22 01:05:22
Done.
|
else |
this.clearValue_(); |
} |
@@ -442,7 +448,10 @@ cr.define('options.autofillOptions', function() { |
* @param {string} value The value of the item to insert. |
*/ |
validateAndSave: function(index, remove, value) { |
+ this.eventsDisabled = true; |
this.dataModel.splice(index, remove, value); |
+ this.eventsDisabled = false; |
+ this.setSelectedIndexWithoutFocusing(index); |
}, |
}; |
@@ -513,8 +522,6 @@ cr.define('options.autofillOptions', function() { |
while (this.validationPromiseResolvers_.length) { |
this.validationPromiseResolvers_.pop()(); |
} |
- // List has been repopulated. Focus the placeholder. |
- this.focusPlaceholder(); |
} |
}, |