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

Side by Side Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 273423004: Migrate accessibility from RenderView to RenderFrame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 6 years, 5 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/browser/renderer_host/render_widget_host_impl.h" 5 #include "content/browser/renderer_host/render_widget_host_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 26 matching lines...) Expand all
37 #include "content/browser/renderer_host/input/synthetic_gesture.h" 37 #include "content/browser/renderer_host/input/synthetic_gesture.h"
38 #include "content/browser/renderer_host/input/synthetic_gesture_controller.h" 38 #include "content/browser/renderer_host/input/synthetic_gesture_controller.h"
39 #include "content/browser/renderer_host/input/synthetic_gesture_target.h" 39 #include "content/browser/renderer_host/input/synthetic_gesture_target.h"
40 #include "content/browser/renderer_host/input/timeout_monitor.h" 40 #include "content/browser/renderer_host/input/timeout_monitor.h"
41 #include "content/browser/renderer_host/input/touch_emulator.h" 41 #include "content/browser/renderer_host/input/touch_emulator.h"
42 #include "content/browser/renderer_host/render_process_host_impl.h" 42 #include "content/browser/renderer_host/render_process_host_impl.h"
43 #include "content/browser/renderer_host/render_view_host_impl.h" 43 #include "content/browser/renderer_host/render_view_host_impl.h"
44 #include "content/browser/renderer_host/render_widget_helper.h" 44 #include "content/browser/renderer_host/render_widget_helper.h"
45 #include "content/browser/renderer_host/render_widget_host_delegate.h" 45 #include "content/browser/renderer_host/render_widget_host_delegate.h"
46 #include "content/browser/renderer_host/render_widget_host_view_base.h" 46 #include "content/browser/renderer_host/render_widget_host_view_base.h"
47 #include "content/common/accessibility_messages.h"
48 #include "content/common/content_constants_internal.h" 47 #include "content/common/content_constants_internal.h"
49 #include "content/common/cursors/webcursor.h" 48 #include "content/common/cursors/webcursor.h"
50 #include "content/common/gpu/gpu_messages.h" 49 #include "content/common/gpu/gpu_messages.h"
51 #include "content/common/host_shared_bitmap_manager.h" 50 #include "content/common/host_shared_bitmap_manager.h"
52 #include "content/common/input_messages.h" 51 #include "content/common/input_messages.h"
53 #include "content/common/view_messages.h" 52 #include "content/common/view_messages.h"
54 #include "content/public/browser/native_web_keyboard_event.h" 53 #include "content/public/browser/native_web_keyboard_event.h"
55 #include "content/public/browser/notification_service.h" 54 #include "content/public/browser/notification_service.h"
56 #include "content/public/browser/notification_types.h" 55 #include "content/public/browser/notification_types.h"
57 #include "content/public/browser/render_widget_host_iterator.h" 56 #include "content/public/browser/render_widget_host_iterator.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
170 surface_id_(0), 169 surface_id_(0),
171 is_loading_(false), 170 is_loading_(false),
172 is_hidden_(hidden), 171 is_hidden_(hidden),
173 is_fullscreen_(false), 172 is_fullscreen_(false),
174 repaint_ack_pending_(false), 173 repaint_ack_pending_(false),
175 resize_ack_pending_(false), 174 resize_ack_pending_(false),
176 screen_info_out_of_date_(false), 175 screen_info_out_of_date_(false),
177 overdraw_bottom_height_(0.f), 176 overdraw_bottom_height_(0.f),
178 should_auto_resize_(false), 177 should_auto_resize_(false),
179 waiting_for_screen_rects_ack_(false), 178 waiting_for_screen_rects_ack_(false),
180 accessibility_mode_(AccessibilityModeOff),
181 needs_repainting_on_restore_(false), 179 needs_repainting_on_restore_(false),
182 is_unresponsive_(false), 180 is_unresponsive_(false),
183 in_flight_event_count_(0), 181 in_flight_event_count_(0),
184 in_get_backing_store_(false), 182 in_get_backing_store_(false),
185 ignore_input_events_(false), 183 ignore_input_events_(false),
186 input_method_active_(false), 184 input_method_active_(false),
187 text_direction_updated_(false), 185 text_direction_updated_(false),
188 text_direction_(blink::WebTextDirectionLeftToRight), 186 text_direction_(blink::WebTextDirectionLeftToRight),
189 text_direction_canceled_(false), 187 text_direction_canceled_(false),
190 suppress_next_char_events_(false), 188 suppress_next_char_events_(false),
(...skipping 27 matching lines...) Expand all
218 g_routing_id_widget_map.Get().insert(std::make_pair( 216 g_routing_id_widget_map.Get().insert(std::make_pair(
219 RenderWidgetHostID(process->GetID(), routing_id_), this)); 217 RenderWidgetHostID(process->GetID(), routing_id_), this));
220 CHECK(result.second) << "Inserting a duplicate item!"; 218 CHECK(result.second) << "Inserting a duplicate item!";
221 process_->AddRoute(routing_id_, this); 219 process_->AddRoute(routing_id_, this);
222 220
223 // If we're initially visible, tell the process host that we're alive. 221 // If we're initially visible, tell the process host that we're alive.
224 // Otherwise we'll notify the process host when we are first shown. 222 // Otherwise we'll notify the process host when we are first shown.
225 if (!hidden) 223 if (!hidden)
226 process_->WidgetRestored(); 224 process_->WidgetRestored();
227 225
228 accessibility_mode_ =
229 BrowserAccessibilityStateImpl::GetInstance()->accessibility_mode();
230
231 input_router_.reset(new InputRouterImpl( 226 input_router_.reset(new InputRouterImpl(
232 process_, this, this, routing_id_, GetInputRouterConfigForPlatform())); 227 process_, this, this, routing_id_, GetInputRouterConfigForPlatform()));
233 228
234 touch_emulator_.reset(); 229 touch_emulator_.reset();
235 230
236 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>( 231 RenderViewHostImpl* rvh = static_cast<RenderViewHostImpl*>(
237 IsRenderView() ? RenderViewHost::From(this) : NULL); 232 IsRenderView() ? RenderViewHost::From(this) : NULL);
238 if (BrowserPluginGuest::IsGuest(rvh) || 233 if (BrowserPluginGuest::IsGuest(rvh) ||
239 !CommandLine::ForCurrentProcess()->HasSwitch( 234 !CommandLine::ForCurrentProcess()->HasSwitch(
240 switches::kDisableHangMonitor)) { 235 switches::kDisableHangMonitor)) {
(...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after
842 hang_monitor_timeout_->Restart( 837 hang_monitor_timeout_->Restart(
843 base::TimeDelta::FromMilliseconds(hung_renderer_delay_ms_)); 838 base::TimeDelta::FromMilliseconds(hung_renderer_delay_ms_));
844 } 839 }
845 840
846 void RenderWidgetHostImpl::StopHangMonitorTimeout() { 841 void RenderWidgetHostImpl::StopHangMonitorTimeout() {
847 if (hang_monitor_timeout_) 842 if (hang_monitor_timeout_)
848 hang_monitor_timeout_->Stop(); 843 hang_monitor_timeout_->Stop();
849 RendererIsResponsive(); 844 RendererIsResponsive();
850 } 845 }
851 846
852 void RenderWidgetHostImpl::EnableFullAccessibilityMode() {
853 AddAccessibilityMode(AccessibilityModeComplete);
854 }
855
856 bool RenderWidgetHostImpl::IsFullAccessibilityModeForTesting() {
857 return accessibility_mode() == AccessibilityModeComplete;
858 }
859
860 void RenderWidgetHostImpl::EnableTreeOnlyAccessibilityMode() {
861 AddAccessibilityMode(AccessibilityModeTreeOnly);
862 }
863
864 bool RenderWidgetHostImpl::IsTreeOnlyAccessibilityModeForTesting() {
865 return accessibility_mode() == AccessibilityModeTreeOnly;
866 }
867
868 void RenderWidgetHostImpl::ForwardMouseEvent(const WebMouseEvent& mouse_event) { 847 void RenderWidgetHostImpl::ForwardMouseEvent(const WebMouseEvent& mouse_event) {
869 ForwardMouseEventWithLatencyInfo(mouse_event, ui::LatencyInfo()); 848 ForwardMouseEventWithLatencyInfo(mouse_event, ui::LatencyInfo());
870 } 849 }
871 850
872 void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo( 851 void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
873 const blink::WebMouseEvent& mouse_event, 852 const blink::WebMouseEvent& mouse_event,
874 const ui::LatencyInfo& ui_latency) { 853 const ui::LatencyInfo& ui_latency) {
875 TRACE_EVENT2("input", "RenderWidgetHostImpl::ForwardMouseEvent", 854 TRACE_EVENT2("input", "RenderWidgetHostImpl::ForwardMouseEvent",
876 "x", mouse_event.x, "y", mouse_event.y); 855 "x", mouse_event.x, "y", mouse_event.y);
877 856
(...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after
1939 1918
1940 void RenderWidgetHostImpl::SetBackgroundOpaque(bool opaque) { 1919 void RenderWidgetHostImpl::SetBackgroundOpaque(bool opaque) {
1941 Send(new ViewMsg_SetBackgroundOpaque(GetRoutingID(), opaque)); 1920 Send(new ViewMsg_SetBackgroundOpaque(GetRoutingID(), opaque));
1942 } 1921 }
1943 1922
1944 void RenderWidgetHostImpl::SetEditCommandsForNextKeyEvent( 1923 void RenderWidgetHostImpl::SetEditCommandsForNextKeyEvent(
1945 const std::vector<EditCommand>& commands) { 1924 const std::vector<EditCommand>& commands) {
1946 Send(new InputMsg_SetEditCommandsForNextKeyEvent(GetRoutingID(), commands)); 1925 Send(new InputMsg_SetEditCommandsForNextKeyEvent(GetRoutingID(), commands));
1947 } 1926 }
1948 1927
1949 void RenderWidgetHostImpl::AddAccessibilityMode(AccessibilityMode mode) {
1950 SetAccessibilityMode(
1951 content::AddAccessibilityModeTo(accessibility_mode_, mode));
1952 }
1953
1954 void RenderWidgetHostImpl::RemoveAccessibilityMode(AccessibilityMode mode) {
1955 SetAccessibilityMode(
1956 content::RemoveAccessibilityModeFrom(accessibility_mode_, mode));
1957 }
1958
1959 void RenderWidgetHostImpl::ResetAccessibilityMode() {
1960 SetAccessibilityMode(
1961 BrowserAccessibilityStateImpl::GetInstance()->accessibility_mode());
1962 }
1963
1964 void RenderWidgetHostImpl::SetAccessibilityMode(AccessibilityMode mode) {
1965 accessibility_mode_ = mode;
1966 Send(new ViewMsg_SetAccessibilityMode(GetRoutingID(), mode));
1967 }
1968
1969 void RenderWidgetHostImpl::AccessibilitySetFocus(int object_id) {
1970 Send(new AccessibilityMsg_SetFocus(GetRoutingID(), object_id));
1971 view_->OnAccessibilitySetFocus(object_id);
1972 }
1973
1974 void RenderWidgetHostImpl::AccessibilityDoDefaultAction(int object_id) {
1975 Send(new AccessibilityMsg_DoDefaultAction(GetRoutingID(), object_id));
1976 }
1977
1978 void RenderWidgetHostImpl::AccessibilityShowMenu(int object_id) {
1979 view_->AccessibilityShowMenu(object_id);
1980 }
1981
1982 void RenderWidgetHostImpl::AccessibilityScrollToMakeVisible(
1983 int acc_obj_id, gfx::Rect subfocus) {
1984 Send(new AccessibilityMsg_ScrollToMakeVisible(
1985 GetRoutingID(), acc_obj_id, subfocus));
1986 }
1987
1988 void RenderWidgetHostImpl::AccessibilityScrollToPoint(
1989 int acc_obj_id, gfx::Point point) {
1990 Send(new AccessibilityMsg_ScrollToPoint(
1991 GetRoutingID(), acc_obj_id, point));
1992 }
1993
1994 void RenderWidgetHostImpl::AccessibilitySetTextSelection(
1995 int object_id, int start_offset, int end_offset) {
1996 Send(new AccessibilityMsg_SetTextSelection(
1997 GetRoutingID(), object_id, start_offset, end_offset));
1998 }
1999
2000 bool RenderWidgetHostImpl::AccessibilityViewHasFocus() const {
2001 return view_->HasFocus();
2002 }
2003
2004 gfx::Rect RenderWidgetHostImpl::AccessibilityGetViewBounds() const {
2005 return view_->GetViewBounds();
2006 }
2007
2008 gfx::Point RenderWidgetHostImpl::AccessibilityOriginInScreen(
2009 const gfx::Rect& bounds) const {
2010 return view_->AccessibilityOriginInScreen(bounds);
2011 }
2012
2013 void RenderWidgetHostImpl::AccessibilityHitTest(const gfx::Point& point) {
2014 Send(new AccessibilityMsg_HitTest(GetRoutingID(), point));
2015 }
2016
2017 void RenderWidgetHostImpl::AccessibilityFatalError() {
2018 Send(new AccessibilityMsg_FatalError(GetRoutingID()));
2019 view_->SetBrowserAccessibilityManager(NULL);
2020 }
2021
2022 #if defined(OS_WIN)
2023 void RenderWidgetHostImpl::SetParentNativeViewAccessible(
2024 gfx::NativeViewAccessible accessible_parent) {
2025 if (view_)
2026 view_->SetParentNativeViewAccessible(accessible_parent);
2027 }
2028
2029 gfx::NativeViewAccessible
2030 RenderWidgetHostImpl::GetParentNativeViewAccessible() const {
2031 return delegate_->GetParentNativeViewAccessible();
2032 }
2033 #endif
2034
2035 void RenderWidgetHostImpl::ExecuteEditCommand(const std::string& command, 1928 void RenderWidgetHostImpl::ExecuteEditCommand(const std::string& command,
2036 const std::string& value) { 1929 const std::string& value) {
2037 Send(new InputMsg_ExecuteEditCommand(GetRoutingID(), command, value)); 1930 Send(new InputMsg_ExecuteEditCommand(GetRoutingID(), command, value));
2038 } 1931 }
2039 1932
2040 void RenderWidgetHostImpl::ScrollFocusedEditableNodeIntoRect( 1933 void RenderWidgetHostImpl::ScrollFocusedEditableNodeIntoRect(
2041 const gfx::Rect& rect) { 1934 const gfx::Rect& rect) {
2042 Send(new InputMsg_ScrollFocusedEditableNodeIntoRect(GetRoutingID(), rect)); 1935 Send(new InputMsg_ScrollFocusedEditableNodeIntoRect(GetRoutingID(), rect));
2043 } 1936 }
2044 1937
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after
2374 ++lc; 2267 ++lc;
2375 } 2268 }
2376 } 2269 }
2377 2270
2378 // Add newly generated components into the latency info 2271 // Add newly generated components into the latency info
2379 for (lc = new_components.begin(); lc != new_components.end(); ++lc) { 2272 for (lc = new_components.begin(); lc != new_components.end(); ++lc) {
2380 latency_info->latency_components[lc->first] = lc->second; 2273 latency_info->latency_components[lc->first] = lc->second;
2381 } 2274 }
2382 } 2275 }
2383 2276
2277 BrowserAccessibilityManager*
2278 RenderWidgetHostImpl::GetRootBrowserAccessibilityManager() {
2279 return delegate_ ? delegate_->GetRootBrowserAccessibilityManager() : NULL;
2280 }
2281
2282 BrowserAccessibilityManager*
2283 RenderWidgetHostImpl::GetOrCreateRootBrowserAccessibilityManager() {
2284 return delegate_ ?
2285 delegate_->GetOrCreateRootBrowserAccessibilityManager() : NULL;
2286 }
2287
2288 #if defined(OS_WIN)
2289 gfx::NativeViewAccessible
2290 RenderWidgetHostImpl::GetParentNativeViewAccessible() {
2291 return delegate_ ? delegate_->GetParentNativeViewAccessible() : NULL;
2292 }
2293 #endif
2294
2384 SkColorType RenderWidgetHostImpl::PreferredReadbackFormat() { 2295 SkColorType RenderWidgetHostImpl::PreferredReadbackFormat() {
2385 if (view_) 2296 if (view_)
2386 return view_->PreferredReadbackFormat(); 2297 return view_->PreferredReadbackFormat();
2387 return kN32_SkColorType; 2298 return kN32_SkColorType;
2388 } 2299 }
2389 2300
2390 } // namespace content 2301 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698