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

Unified Diff: content/renderer/render_view_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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_view_impl.cc
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
index b7bd7920f58a0477ce238c0a9957ebeddc8bfb68..fed00c4edb9b2bcc206e9b37e963235d9d304ee8 100644
--- a/content/renderer/render_view_impl.cc
+++ b/content/renderer/render_view_impl.cc
@@ -729,8 +729,6 @@ RenderViewImpl::RenderViewImpl(RenderViewImplParams* params)
media_stream_dispatcher_(NULL),
browser_plugin_manager_(NULL),
devtools_agent_(NULL),
- accessibility_mode_(AccessibilityModeOff),
- renderer_accessibility_(NULL),
mouse_lock_dispatcher_(NULL),
#if defined(OS_ANDROID)
expected_content_intent_id_(0),
@@ -869,9 +867,6 @@ void RenderViewImpl::Initialize(RenderViewImplParams* params) {
history_controller_.reset(new HistoryController(this));
- // Create renderer_accessibility_ if needed.
- OnSetAccessibilityMode(params->accessibility_mode);
-
new IdleUserDetector(this);
if (command_line.HasSwitch(switches::kDomAutomationController))
@@ -1217,8 +1212,7 @@ RenderViewImpl* RenderViewImpl::Create(
bool hidden,
bool never_visible,
int32 next_page_id,
- const blink::WebScreenInfo& screen_info,
- AccessibilityMode accessibility_mode) {
+ const blink::WebScreenInfo& screen_info) {
DCHECK(routing_id != MSG_ROUTING_NONE);
RenderViewImplParams params(opener_id,
window_was_created_with_opener,
@@ -1235,8 +1229,7 @@ RenderViewImpl* RenderViewImpl::Create(
hidden,
never_visible,
next_page_id,
- screen_info,
- accessibility_mode);
+ screen_info);
RenderViewImpl* render_view = NULL;
if (g_create_render_view_impl)
render_view = g_create_render_view_impl(&params);
@@ -1424,7 +1417,6 @@ bool RenderViewImpl::OnMessageReceived(const IPC::Message& message) {
IPC_MESSAGE_HANDLER(ViewMsg_SetHistoryLengthAndPrune,
OnSetHistoryLengthAndPrune)
IPC_MESSAGE_HANDLER(ViewMsg_EnableViewSourceMode, OnEnableViewSourceMode)
- IPC_MESSAGE_HANDLER(ViewMsg_SetAccessibilityMode, OnSetAccessibilityMode)
IPC_MESSAGE_HANDLER(ViewMsg_DisownOpener, OnDisownOpener)
IPC_MESSAGE_HANDLER(ViewMsg_ReleaseDisambiguationPopupBitmap,
OnReleaseDisambiguationPopupBitmap)
@@ -1766,8 +1758,7 @@ WebView* RenderViewImpl::createView(WebLocalFrame* creator,
params.disposition == NEW_BACKGROUND_TAB, // hidden
never_visible,
1, // next_page_id
- screen_info_,
- accessibility_mode_);
+ screen_info_);
view->opened_by_user_gesture_ = params.user_gesture;
// Record whether the creator frame is trying to suppress the opener field.
@@ -2051,6 +2042,9 @@ void RenderViewImpl::focusedNodeChanged(const WebNode& node) {
Send(new ViewHostMsg_FocusedNodeChanged(routing_id_, IsEditableNode(node)));
FOR_EACH_OBSERVER(RenderViewObserver, observers_, FocusedNodeChanged(node));
+
+ // TODO(dmazzoni): this should be part of RenderFrameObserver.
+ main_render_frame()->FocusedNodeChanged(node);
}
void RenderViewImpl::didUpdateLayout() {
@@ -2083,9 +2077,7 @@ int RenderViewImpl::historyForwardListCount() {
void RenderViewImpl::postAccessibilityEvent(
const WebAXObject& obj, blink::WebAXEvent event) {
- if (renderer_accessibility_) {
- renderer_accessibility_->HandleWebAccessibilityEvent(obj, event);
- }
+ main_render_frame()->HandleWebAccessibilityEvent(obj, event);
}
void RenderViewImpl::didUpdateInspectorSetting(const WebString& key,
@@ -3431,25 +3423,6 @@ void RenderViewImpl::OnSetBackgroundOpaque(bool opaque) {
compositor_->setHasTransparentBackground(!opaque);
}
-void RenderViewImpl::OnSetAccessibilityMode(AccessibilityMode new_mode) {
- if (accessibility_mode_ == new_mode)
- return;
- accessibility_mode_ = new_mode;
- if (renderer_accessibility_) {
- delete renderer_accessibility_;
- renderer_accessibility_ = NULL;
- }
- if (accessibility_mode_ == AccessibilityModeOff)
- return;
-
- if (accessibility_mode_ & AccessibilityModeFlagFullTree)
- renderer_accessibility_ = new RendererAccessibilityComplete(this);
-#if !defined(OS_ANDROID)
- else
- renderer_accessibility_ = new RendererAccessibilityFocusOnly(this);
-#endif
-}
-
void RenderViewImpl::OnSetActive(bool active) {
if (webview())
webview()->setIsActive(active);
@@ -4130,10 +4103,12 @@ bool RenderViewImpl::didTapMultipleTargets(
const WebVector<WebRect>& target_rects) {
// Never show a disambiguation popup when accessibility is enabled,
// as this interferes with "touch exploration".
- bool matchesAccessibilityModeComplete =
- (accessibility_mode_ & AccessibilityModeComplete) ==
- AccessibilityModeComplete;
- if (matchesAccessibilityModeComplete)
+ AccessibilityMode accessibility_mode =
+ main_render_frame()->accessibility_mode();
+ bool matches_accessibility_mode_complete =
+ (accessibility_mode & AccessibilityModeComplete) ==
+ AccessibilityModeComplete;
+ if (matches_accessibility_mode_complete)
return false;
gfx::Rect finger_rect(

Powered by Google App Engine
This is Rietveld 408576698