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 8d2769ce943fe0a0f49f49bd56154aff594f7fd9..6e91a49e5884b6f6065e8209f1e9901a050a8983 100644 |
--- a/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc |
+++ b/chrome/browser/extensions/api/automation_internal/automation_internal_api.cc |
@@ -13,8 +13,8 @@ |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/extensions/api/automation_internal.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" |
@@ -87,7 +87,7 @@ bool AutomationInternalEnableCurrentTabFunction::RunAsync() { |
AutomationWebContentsObserver::CreateForWebContents(contents); |
- rwh->EnableTreeOnlyAccessibilityMode(); |
+ contents->EnableTreeOnlyAccessibilityMode(); |
return true; |
} |
@@ -97,19 +97,21 @@ bool AutomationInternalPerformActionFunction::RunAsync() { |
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 false; |
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); |
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: { |
@@ -117,7 +119,7 @@ bool AutomationInternalPerformActionFunction::RunAsync() { |
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; |