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 9a59de2925c881a1e755d89436078f32382b132f..b67167614897fea25eb53e752d315ab437683842 100644 |
--- a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc |
+++ b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc |
@@ -12,8 +12,8 @@ |
#include "chrome/common/extensions/api/automation_internal.h" |
#include "chrome/common/extensions/manifest_handlers/automation.h" |
#include "content/public/browser/ax_event_notification_details.h" |
+#include "content/public/browser/render_frame_host.h" |
#include "content/public/browser/render_process_host.h" |
-#include "content/public/browser/render_view_host.h" |
#include "content/public/browser/render_widget_host.h" |
#include "content/public/browser/render_widget_host_view.h" |
#include "content/public/browser/web_contents.h" |
@@ -75,7 +75,7 @@ AutomationInternalEnableCurrentTabFunction::Run() { |
if (!rwh) |
return RespondNow(Error("Could not enable accessibility for active tab")); |
AutomationWebContentsObserver::CreateForWebContents(contents); |
- rwh->EnableTreeOnlyAccessibilityMode(); |
+ contents->EnableTreeOnlyAccessibilityMode(); |
scoped_ptr<base::ListValue> results = |
api::automation_internal::EnableCurrentTab::Results::Create( |
rwh->GetProcess()->GetID(), rwh->GetRoutingID()); |
@@ -88,19 +88,21 @@ AutomationInternalPerformActionFunction::Run() { |
scoped_ptr<Params> params(Params::Create(*args_)); |
EXTENSION_FUNCTION_VALIDATE(params.get()); |
- content::RenderWidgetHost* rwh = |
- content::RenderWidgetHost::FromID(params->args.process_id, |
- params->args.routing_id); |
+ content::RenderFrameHost* rfh = |
+ content::RenderFrameHost::FromID(params->args.process_id, |
+ params->args.routing_id); |
+ if (!rfh) |
+ return RespondNow(NoArguments()); |
switch (params->args.action_type) { |
case api::automation_internal::ACTION_TYPE_DO_DEFAULT: |
- rwh->AccessibilityDoDefaultAction(params->args.automation_node_id); |
+ rfh->AccessibilityDoDefaultAction(params->args.automation_node_id); |
jam
2014/05/28 18:49:21
can you explain to me how this id is generated? I
dmazzoni
2014/05/28 18:59:33
Every accessibility node in Blink has an accessibi
jam
2014/05/28 21:10:31
I see, thanks for the explanation I understand thi
|
break; |
case api::automation_internal::ACTION_TYPE_FOCUS: |
- rwh->AccessibilitySetFocus(params->args.automation_node_id); |
+ rfh->AccessibilitySetFocus(params->args.automation_node_id); |
break; |
case api::automation_internal::ACTION_TYPE_MAKE_VISIBLE: |
- rwh->AccessibilityScrollToMakeVisible(params->args.automation_node_id, |
+ rfh->AccessibilityScrollToMakeVisible(params->args.automation_node_id, |
gfx::Rect()); |
break; |
case api::automation_internal::ACTION_TYPE_SET_SELECTION: { |
@@ -108,7 +110,7 @@ AutomationInternalPerformActionFunction::Run() { |
EXTENSION_FUNCTION_VALIDATE( |
extensions::api::automation_internal::SetSelectionParams::Populate( |
params->opt_args.additional_properties, &selection_params)); |
- rwh->AccessibilitySetTextSelection(params->args.automation_node_id, |
+ rfh->AccessibilitySetTextSelection(params->args.automation_node_id, |
selection_params.start_index, |
selection_params.end_index); |
break; |