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

Unified Diff: chrome/browser/ui/views/autofill/autofill_popup_view_views.h

Issue 2670003002: Accessibility for Autofill Popup View in native code (Closed)
Patch Set: Includes NotifyAccessibilityEventForRow in unit tests. Created 3 years, 10 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/ui/views/autofill/autofill_popup_view_views.h
diff --git a/chrome/browser/ui/views/autofill/autofill_popup_view_views.h b/chrome/browser/ui/views/autofill/autofill_popup_view_views.h
index 01f214b2e1f05b4604a48e686c7252c46741ea07..cfcd8c021a388653bee50071b1042014f7e691df 100644
--- a/chrome/browser/ui/views/autofill/autofill_popup_view_views.h
+++ b/chrome/browser/ui/views/autofill/autofill_popup_view_views.h
@@ -10,6 +10,7 @@
#include "base/macros.h"
#include "chrome/browser/ui/autofill/autofill_popup_view.h"
#include "chrome/browser/ui/views/autofill/autofill_popup_base_view.h"
+#include "ui/views/view.h"
namespace autofill {
@@ -30,9 +31,12 @@ class AutofillPopupViewViews : public AutofillPopupBaseView,
void Hide() override;
void InvalidateRow(size_t row) override;
void UpdateBoundsAndRedrawPopup() override;
+ void NotifyAccessibilityEventForRow(ui::AXEvent event_type,
+ size_t row) override;
// views::Views implementation
void OnPaint(gfx::Canvas* canvas) override;
+ void GetAccessibleNodeData(ui::AXNodeData* node_data) override;
// Draw the given autofill entry in |entry_rect|.
void DrawAutofillEntry(gfx::Canvas* canvas,
@@ -44,6 +48,24 @@ class AutofillPopupViewViews : public AutofillPopupBaseView,
DISALLOW_COPY_AND_ASSIGN(AutofillPopupViewViews);
};
+// Child view only for triggering accessibility events. Rendering is handled
+// by |AutofillPopupViewViews|.
+class AutofillPopupChildView : public views::View {
Mathieu 2017/02/27 18:41:55 could this be defined only in the cc (i.e. anonymo
csashi 2017/02/27 18:49:44 Done.
+ public:
+ AutofillPopupChildView(AutofillPopupController* controller, size_t index);
+
+ private:
+ ~AutofillPopupChildView() override;
+
+ // views::Views implementation
+ void GetAccessibleNodeData(ui::AXNodeData* node_data) override;
+
+ AutofillPopupController* controller_; // Weak reference.
+ const size_t index_;
+
+ DISALLOW_COPY_AND_ASSIGN(AutofillPopupChildView);
+};
+
} // namespace autofill
#endif // CHROME_BROWSER_UI_VIEWS_AUTOFILL_AUTOFILL_POPUP_VIEW_VIEWS_H_

Powered by Google App Engine
This is Rietveld 408576698