| Index: chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
|
| diff --git a/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc b/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
|
| index 487248fba6fdda38fb06cfa215aecb70cb0b4acf..95b7025ff27c2a06001ae006e6743cb31d9fd595 100644
|
| --- a/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
|
| +++ b/chrome/browser/ui/autofill/autofill_popup_controller_impl.cc
|
| @@ -17,6 +17,7 @@
|
| #include "components/autofill/core/browser/popup_item_ids.h"
|
| #include "components/autofill/core/browser/suggestion.h"
|
| #include "content/public/browser/native_web_keyboard_event.h"
|
| +#include "ui/accessibility/ax_enums.h"
|
| #include "ui/events/event.h"
|
| #include "ui/gfx/canvas.h"
|
| #include "ui/gfx/text_elider.h"
|
| @@ -401,7 +402,9 @@ void AutofillPopupControllerImpl::SetSelectedLine(int selected_line) {
|
| if (selected_line != kNoSelection) {
|
| InvalidateRow(selected_line);
|
|
|
| - if (!CanAccept(suggestions_[selected_line].frontend_id))
|
| + if (CanAccept(suggestions_[selected_line].frontend_id))
|
| + NotifyAccessibilityEventForRow(ui::AX_EVENT_SELECTION, selected_line);
|
| + else
|
| selected_line = kNoSelection;
|
| }
|
|
|
| @@ -487,11 +490,19 @@ void AutofillPopupControllerImpl::ShowView() {
|
| }
|
|
|
| void AutofillPopupControllerImpl::InvalidateRow(size_t row) {
|
| - DCHECK(0 <= row);
|
| - DCHECK(row < suggestions_.size());
|
| + DCHECK_GE(row, (size_t)0);
|
| + DCHECK_LT(row, suggestions_.size());
|
| view_->InvalidateRow(row);
|
| }
|
|
|
| +void AutofillPopupControllerImpl::NotifyAccessibilityEventForRow(
|
| + ui::AXEvent event_type,
|
| + size_t row) {
|
| + CHECK_GE(row, (size_t)0);
|
| + CHECK_LT(row, suggestions_.size());
|
| + view_->NotifyAccessibilityEventForRow(event_type, row);
|
| +}
|
| +
|
| WeakPtr<AutofillPopupControllerImpl> AutofillPopupControllerImpl::GetWeakPtr() {
|
| return weak_ptr_factory_.GetWeakPtr();
|
| }
|
|
|