Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(489)

Side by Side Diff: chrome/browser/extensions/api/automation_internal/automation_internal_api.cc

Issue 273423004: Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/extensions/api/automation_internal/automation_internal_ api.h" 5 #include "chrome/browser/extensions/api/automation_internal/automation_internal_ api.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "chrome/browser/extensions/api/automation_internal/automation_util.h" 10 #include "chrome/browser/extensions/api/automation_internal/automation_util.h"
11 #include "chrome/browser/ui/browser.h" 11 #include "chrome/browser/ui/browser.h"
12 #include "chrome/browser/ui/tabs/tab_strip_model.h" 12 #include "chrome/browser/ui/tabs/tab_strip_model.h"
13 #include "chrome/common/chrome_switches.h" 13 #include "chrome/common/chrome_switches.h"
14 #include "chrome/common/extensions/api/automation_internal.h" 14 #include "chrome/common/extensions/api/automation_internal.h"
15 #include "content/public/browser/ax_event_notification_details.h" 15 #include "content/public/browser/ax_event_notification_details.h"
16 #include "content/public/browser/render_frame_host.h"
16 #include "content/public/browser/render_process_host.h" 17 #include "content/public/browser/render_process_host.h"
17 #include "content/public/browser/render_view_host.h"
18 #include "content/public/browser/render_widget_host.h" 18 #include "content/public/browser/render_widget_host.h"
19 #include "content/public/browser/render_widget_host_view.h" 19 #include "content/public/browser/render_widget_host_view.h"
20 #include "content/public/browser/web_contents.h" 20 #include "content/public/browser/web_contents.h"
21 21
22 namespace extensions { 22 namespace extensions {
23 class AutomationWebContentsObserver; 23 class AutomationWebContentsObserver;
24 } // namespace extensions 24 } // namespace extensions
25 25
26 DEFINE_WEB_CONTENTS_USER_DATA_KEY(extensions::AutomationWebContentsObserver); 26 DEFINE_WEB_CONTENTS_USER_DATA_KEY(extensions::AutomationWebContentsObserver);
27 27
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 if (!rwh) 76 if (!rwh)
77 return false; 77 return false;
78 78
79 results_ = api::automation_internal::EnableCurrentTab::Results::Create( 79 results_ = api::automation_internal::EnableCurrentTab::Results::Create(
80 rwh->GetProcess()->GetID(), rwh->GetRoutingID()); 80 rwh->GetProcess()->GetID(), rwh->GetRoutingID());
81 81
82 SendResponse(true); 82 SendResponse(true);
83 83
84 AutomationWebContentsObserver::CreateForWebContents(contents); 84 AutomationWebContentsObserver::CreateForWebContents(contents);
85 85
86 rwh->EnableTreeOnlyAccessibilityMode(); 86 contents->EnableTreeOnlyAccessibilityMode();
87 87
88 return true; 88 return true;
89 } 89 }
90 90
91 bool AutomationInternalPerformActionFunction::RunAsync() { 91 bool AutomationInternalPerformActionFunction::RunAsync() {
92 using api::automation_internal::PerformAction::Params; 92 using api::automation_internal::PerformAction::Params;
93 scoped_ptr<Params> params(Params::Create(*args_)); 93 scoped_ptr<Params> params(Params::Create(*args_));
94 EXTENSION_FUNCTION_VALIDATE(params.get()); 94 EXTENSION_FUNCTION_VALIDATE(params.get());
95 95
96 content::RenderWidgetHost* rwh = 96 content::RenderFrameHost* rfh =
97 content::RenderWidgetHost::FromID(params->args.process_id, 97 content::RenderFrameHost::FromID(params->args.process_id,
98 params->args.routing_id); 98 params->args.routing_id);
99 if (!rfh)
100 return false;
99 101
100 switch (params->args.action_type) { 102 switch (params->args.action_type) {
101 case api::automation_internal::ACTION_TYPE_DO_DEFAULT: 103 case api::automation_internal::ACTION_TYPE_DO_DEFAULT:
102 rwh->AccessibilityDoDefaultAction(params->args.automation_node_id); 104 rfh->AccessibilityDoDefaultAction(params->args.automation_node_id);
103 break; 105 break;
104 case api::automation_internal::ACTION_TYPE_FOCUS: 106 case api::automation_internal::ACTION_TYPE_FOCUS:
105 rwh->AccessibilitySetFocus(params->args.automation_node_id); 107 rfh->AccessibilitySetFocus(params->args.automation_node_id);
106 break; 108 break;
107 case api::automation_internal::ACTION_TYPE_MAKE_VISIBLE: 109 case api::automation_internal::ACTION_TYPE_MAKE_VISIBLE:
108 rwh->AccessibilityScrollToMakeVisible(params->args.automation_node_id, 110 rfh->AccessibilityScrollToMakeVisible(params->args.automation_node_id,
109 gfx::Rect()); 111 gfx::Rect());
110 break; 112 break;
111 case api::automation_internal::ACTION_TYPE_SET_SELECTION: { 113 case api::automation_internal::ACTION_TYPE_SET_SELECTION: {
112 extensions::api::automation_internal::SetSelectionParams selection_params; 114 extensions::api::automation_internal::SetSelectionParams selection_params;
113 EXTENSION_FUNCTION_VALIDATE( 115 EXTENSION_FUNCTION_VALIDATE(
114 extensions::api::automation_internal::SetSelectionParams::Populate( 116 extensions::api::automation_internal::SetSelectionParams::Populate(
115 params->opt_args.additional_properties, &selection_params)); 117 params->opt_args.additional_properties, &selection_params));
116 rwh->AccessibilitySetTextSelection(params->args.automation_node_id, 118 rfh->AccessibilitySetTextSelection(params->args.automation_node_id,
117 selection_params.start_index, 119 selection_params.start_index,
118 selection_params.end_index); 120 selection_params.end_index);
119 break; 121 break;
120 } 122 }
121 default: 123 default:
122 NOTREACHED(); 124 NOTREACHED();
123 } 125 }
124 return true; 126 return true;
125 } 127 }
126 128
127 } // namespace extensions 129 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698