| Index: chrome/browser/autofill/autofill_popup_view.cc
|
| diff --git a/chrome/browser/autofill/autofill_popup_view.cc b/chrome/browser/autofill/autofill_popup_view.cc
|
| index 0ca2bd4d2cbeb07afdb259da6b41c1adb99fb149..0455348a626d0e6cbddbb46a8b64d8ea44ecdc3d 100644
|
| --- a/chrome/browser/autofill/autofill_popup_view.cc
|
| +++ b/chrome/browser/autofill/autofill_popup_view.cc
|
| @@ -136,6 +136,12 @@ void AutofillPopupView::ClearSelectedLine() {
|
| void AutofillPopupView::SelectNextLine() {
|
| int new_selected_line = selected_line_ + 1;
|
|
|
| + // Skip over any lines that can't be selected.
|
| + while (static_cast<size_t>(new_selected_line) < autofill_values_.size() &&
|
| + !CanAccept(autofill_unique_ids()[new_selected_line])) {
|
| + ++new_selected_line;
|
| + }
|
| +
|
| if (new_selected_line == static_cast<int>(autofill_values_.size()))
|
| new_selected_line = 0;
|
|
|
| @@ -145,6 +151,12 @@ void AutofillPopupView::SelectNextLine() {
|
| void AutofillPopupView::SelectPreviousLine() {
|
| int new_selected_line = selected_line_ - 1;
|
|
|
| + // Skip over any lines that can't be selected.
|
| + while (new_selected_line > kNoSelection &&
|
| + !CanAccept(autofill_unique_ids()[new_selected_line])) {
|
| + --new_selected_line;
|
| + }
|
| +
|
| if (new_selected_line <= kNoSelection)
|
| new_selected_line = autofill_values_.size() - 1;
|
|
|
|
|