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

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

Issue 819193003: Fix list focus after tab key in chrome://settings/autofillEditAddress page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make UI test work for phone list. Created 5 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/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..e4aad0fccf15fbd4efe51d8dbdac3cfb5b6775bd 100644
--- a/chrome/browser/resources/options/autofill_options_list.js
+++ b/chrome/browser/resources/options/autofill_options_list.js
@@ -208,17 +208,23 @@ 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.dataModel.updateIndex(i);
+ this.list.ignoreChangeEvents(function() {
+ this.list.dataModel.updateIndex(i);
+ }.bind(this));
this.list.validateAndSave(i, 0, value);
} else {
this.list.validateAndSave(i, 1, value);
}
} else {
// Reject empty values and duplicates.
- if (!this.isPlaceholder)
- this.list.dataModel.splice(i, 1);
- else
+ if (!this.isPlaceholder) {
+ this.list.ignoreChangeEvents(function() {
+ this.list.dataModel.splice(i, 1);
+ }.bind(this));
+ this.list.selectIndexWithoutFocusing(i);
+ } 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.dataModel.splice(index, remove, value);
+ this.ignoreChangeEvents(function() {
+ this.dataModel.splice(index, remove, value);
+ }.bind(this));
+ this.selectIndexWithoutFocusing(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();
}
},

Powered by Google App Engine
This is Rietveld 408576698