Index: ui/views/controls/combobox/combobox_unittest.cc |
diff --git a/ui/views/controls/combobox/combobox_unittest.cc b/ui/views/controls/combobox/combobox_unittest.cc |
index 31a0c159ddf6c5a6e87c883b8220c7f486878131..5b822f539cb2cea835b6fc715cbb64325fe33fd1 100644 |
--- a/ui/views/controls/combobox/combobox_unittest.cc |
+++ b/ui/views/controls/combobox/combobox_unittest.cc |
@@ -9,6 +9,7 @@ |
#include "base/macros.h" |
#include "base/strings/utf_string_conversions.h" |
#include "build/build_config.h" |
+#include "ui/accessibility/ax_action_data.h" |
#include "ui/base/ime/input_method.h" |
#include "ui/base/ime/text_input_client.h" |
#include "ui/base/models/combobox_model.h" |
@@ -642,6 +643,29 @@ TEST_F(ComboboxTest, NotifyOnClickWithSpaceKey) { |
EXPECT_FALSE(listener.on_perform_action_called()); |
} |
+// Test that accessibility action events show the combobox dropdown. |
+TEST_F(ComboboxTest, ShowViaAccessibleAction) { |
+ InitCombobox(nullptr, Combobox::STYLE_NORMAL); |
+ |
+ ui::AXActionData data; |
+ data.action = ui::AX_ACTION_DO_DEFAULT; |
+ combobox_->HandleAccessibleAction(data); |
+ EXPECT_EQ(1, menu_show_count_); |
+ |
+ combobox_->SetEnabled(false); |
+ combobox_->HandleAccessibleAction(data); |
+ EXPECT_EQ(1, menu_show_count_); // No change. |
+ |
+ combobox_->SetEnabled(true); |
+ data.action = ui::AX_ACTION_SHOW_CONTEXT_MENU; |
+ combobox_->HandleAccessibleAction(data); |
+ EXPECT_EQ(2, menu_show_count_); |
+ |
+ data.action = ui::AX_ACTION_BLUR; |
+ combobox_->HandleAccessibleAction(data); |
+ EXPECT_EQ(2, menu_show_count_); // No change. |
+} |
+ |
TEST_F(ComboboxTest, NotifyOnClickWithSpaceKeyActionStyle) { |
InitCombobox(nullptr, Combobox::STYLE_ACTION); |