Index: chrome/browser/extensions/api/automation_internal/automation_internal_api.cc |
diff --git a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc |
index 108c09d772ae6a35b034acce3189def6b28366f6..ced7dde6d0326915853acbc3a2c287df16e7bd26 100644 |
--- a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc |
+++ b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc |
@@ -349,6 +349,19 @@ AutomationInternalPerformActionFunction::ConvertToAXActionData( |
get_image_data_params.max_height); |
break; |
} |
+ case api::automation_internal::ACTION_TYPE_HITTEST: { |
+ api::automation_internal::HitTestParams hit_test_params; |
+ EXTENSION_FUNCTION_VALIDATE( |
+ api::automation_internal::HitTestParams::Populate( |
+ params->opt_args.additional_properties, &hit_test_params)); |
+ action->action = ui::AX_ACTION_HIT_TEST; |
+ action->target_point = gfx::Point(hit_test_params.x, hit_test_params.y); |
+ action->hit_test_event_to_fire = |
+ ui::ParseAXEvent(hit_test_params.event_to_fire); |
+ if (action->hit_test_event_to_fire == ui::AX_EVENT_NONE) |
+ return RespondNow(NoArguments()); |
+ break; |
+ } |
case api::automation_internal::ACTION_TYPE_MAKEVISIBLE: |
action->action = ui::AX_ACTION_SCROLL_TO_MAKE_VISIBLE; |
break; |