| Index: chrome/browser/autofill/autofill_dialog_controller_mac.mm
|
| diff --git a/chrome/browser/autofill/autofill_dialog_controller_mac.mm b/chrome/browser/autofill/autofill_dialog_controller_mac.mm
|
| index d0e16ae4cdc81c258a55013aaade9f570f74785e..912d97086548e24aaaafeae7b22864c04bb1ce91 100644
|
| --- a/chrome/browser/autofill/autofill_dialog_controller_mac.mm
|
| +++ b/chrome/browser/autofill/autofill_dialog_controller_mac.mm
|
| @@ -360,19 +360,16 @@ void PersonalDataManagerObserver::OnPersonalDataLoaded() {
|
| // Deletes selected items; either addresses, credit cards, or a mixture of the
|
| // two depending on the items selected.
|
| - (IBAction)deleteSelection:(id)sender {
|
| - NSIndexSet* selectedRows = [tableView_ selectedRowIndexes];
|
| + NSIndexSet* selection = [tableView_ selectedRowIndexes];
|
| NSInteger selectedRow = [tableView_ selectedRow];
|
| - NSInteger rowCount = [tableView_ numberOfRows];
|
|
|
| // Loop through from last to first deleting selected items as we go.
|
| - for (NSInteger i = rowCount-1; i>=0; --i) {
|
| - if (![selectedRows containsIndex:i])
|
| - continue;
|
| -
|
| + for (NSUInteger i = [selection lastIndex];
|
| + i != NSNotFound;
|
| + i = [selection indexLessThanIndex:i]) {
|
| // We keep track of the "top most" selection in the list so we know where
|
| - // to to set new selection below.
|
| - if (i < selectedRow)
|
| - selectedRow = i;
|
| + // to set new selection below.
|
| + selectedRow = i;
|
|
|
| if ([self isProfileRow:i]) {
|
| profiles_.erase(
|
| @@ -391,7 +388,7 @@ void PersonalDataManagerObserver::OnPersonalDataLoaded() {
|
| [tableView_ selectRowIndexes:[NSIndexSet indexSetWithIndex:selectedRow]
|
| byExtendingSelection:NO];
|
| } else {
|
| - [tableView_ selectRowIndexes:[NSIndexSet indexSet] byExtendingSelection:NO];
|
| + [tableView_ deselectAll:self];
|
| }
|
|
|
| UpdateProfileLabels(&profiles_);
|
|
|