| 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 6ada5f161f5d45f507945c640b2352421000688f..ce3678a19eed1eb2b206f7e1e76cc5e8e426bbce 100644
|
| --- a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
|
| +++ b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc
|
| @@ -162,26 +162,9 @@ class RenderFrameHostActionAdapter : public AutomationActionAdapter {
|
| virtual ~RenderFrameHostActionAdapter() {}
|
|
|
| // AutomationActionAdapter implementation.
|
| - void DoDefault(int32_t id) override {
|
| - rfh_->AccessibilityDoDefaultAction(id);
|
| - }
|
| -
|
| - void Focus(int32_t id) override { rfh_->AccessibilitySetFocus(id); }
|
| -
|
| - void MakeVisible(int32_t id) override {
|
| - rfh_->AccessibilityScrollToMakeVisible(id, gfx::Rect());
|
| - }
|
| -
|
| - void SetSelection(int32_t anchor_id,
|
| - int32_t anchor_offset,
|
| - int32_t focus_id,
|
| - int32_t focus_offset) override {
|
| - rfh_->AccessibilitySetSelection(anchor_id, anchor_offset, focus_id,
|
| - focus_offset);
|
| - }
|
| -
|
| - void ShowContextMenu(int32_t id) override {
|
| - rfh_->AccessibilityShowContextMenu(id);
|
| + void PerformAction(ui::AXAction action,
|
| + const ui::AXActionData& data) override {
|
| + rfh_->AccessibilityPerformAction(action, data);
|
| }
|
|
|
| private:
|
| @@ -366,29 +349,36 @@ ExtensionFunction::ResponseAction
|
| AutomationInternalPerformActionFunction::RouteActionToAdapter(
|
| api::automation_internal::PerformAction::Params* params,
|
| AutomationActionAdapter* adapter) {
|
| - int32_t automation_id = params->args.automation_node_id;
|
| + ui::AXActionData data;
|
| + data.target_node_id = params->args.automation_node_id;
|
| switch (params->args.action_type) {
|
| case api::automation_internal::ACTION_TYPE_DODEFAULT:
|
| - adapter->DoDefault(automation_id);
|
| + adapter->PerformAction(ui::AX_ACTION_DO_DEFAULT, data);
|
| break;
|
| case api::automation_internal::ACTION_TYPE_FOCUS:
|
| - adapter->Focus(automation_id);
|
| + adapter->PerformAction(ui::AX_ACTION_SET_FOCUS, data);
|
| break;
|
| case api::automation_internal::ACTION_TYPE_MAKEVISIBLE:
|
| - adapter->MakeVisible(automation_id);
|
| + adapter->PerformAction(ui::AX_ACTION_SCROLL_TO_MAKE_VISIBLE, data);
|
| break;
|
| case api::automation_internal::ACTION_TYPE_SETSELECTION: {
|
| api::automation_internal::SetSelectionParams selection_params;
|
| EXTENSION_FUNCTION_VALIDATE(
|
| api::automation_internal::SetSelectionParams::Populate(
|
| params->opt_args.additional_properties, &selection_params));
|
| - adapter->SetSelection(automation_id, selection_params.anchor_offset,
|
| - selection_params.focus_node_id,
|
| - selection_params.focus_offset);
|
| + data.anchor_node_id = params->args.automation_node_id;
|
| + data.anchor_offset = selection_params.anchor_offset;
|
| + data.focus_node_id = selection_params.focus_node_id;
|
| + data.focus_offset = selection_params.focus_offset;
|
| + adapter->PerformAction(ui::AX_ACTION_SET_SELECTION, data);
|
| break;
|
| }
|
| case api::automation_internal::ACTION_TYPE_SHOWCONTEXTMENU: {
|
| - adapter->ShowContextMenu(automation_id);
|
| + adapter->PerformAction(ui::AX_ACTION_SHOW_CONTEXT_MENU, data);
|
| + break;
|
| + }
|
| + case api::automation_internal::ACTION_TYPE_SETACCESSIBILITYFOCUS: {
|
| + adapter->PerformAction(ui::AX_ACTION_SET_ACCESSIBILITY_FOCUS, data);
|
| break;
|
| }
|
| default:
|
|
|