Index: content/renderer/render_view_impl.cc |
diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc |
index 9d413a1658424cbf7e5148a4861730ed64f1c3a7..161fba71e254b2a969125a73ec566a22e2d060a8 100644 |
--- a/content/renderer/render_view_impl.cc |
+++ b/content/renderer/render_view_impl.cc |
@@ -1089,7 +1089,7 @@ RenderViewImpl* RenderViewImpl::Create( |
bool hidden, |
int32 next_page_id, |
const blink::WebScreenInfo& screen_info, |
- AccessibilityMode accessibility_mode, |
+ unsigned int accessibility_mode, |
bool allow_partial_swap) { |
DCHECK(routing_id != MSG_ROUTING_NONE); |
RenderViewImplParams params( |
@@ -5287,7 +5287,7 @@ void RenderViewImpl::OnSetBackground(const SkBitmap& background) { |
SetBackground(background); |
} |
-void RenderViewImpl::OnSetAccessibilityMode(AccessibilityMode new_mode) { |
+void RenderViewImpl::OnSetAccessibilityMode(unsigned int new_mode) { |
if (accessibility_mode_ == new_mode) |
return; |
accessibility_mode_ = new_mode; |
@@ -5295,10 +5295,13 @@ void RenderViewImpl::OnSetAccessibilityMode(AccessibilityMode new_mode) { |
delete renderer_accessibility_; |
renderer_accessibility_ = NULL; |
} |
- if (accessibility_mode_ == AccessibilityModeComplete) |
+ if (!(accessibility_mode_ & AccessibilityModeFlagRenderer)) |
+ return; |
David Tseng
2014/02/04 20:25:51
What about editable text only? This leads me to be
aboxhall
2014/02/05 16:02:47
Ok, I think it'll be simpler if I go back to what
|
+ |
+ if (!(accessibility_mode_ & AccessibilityModeFlagEditableTextOnly)) |
renderer_accessibility_ = new RendererAccessibilityComplete(this); |
#if !defined(OS_ANDROID) |
- else if (accessibility_mode_ == AccessibilityModeEditableTextOnly) |
+ else if (accessibility_mode_ & AccessibilityModeFlagEditableTextOnly) |
renderer_accessibility_ = new RendererAccessibilityFocusOnly(this); |
#endif |
} |
@@ -6088,7 +6091,11 @@ bool RenderViewImpl::didTapMultipleTargets( |
const WebVector<WebRect>& target_rects) { |
// Never show a disambiguation popup when accessibility is enabled, |
// as this interferes with "touch exploration". |
- if (accessibility_mode_ == AccessibilityModeComplete) |
+ bool matchesAccessibilityModeComplete = |
+ accessibility_mode_ & AccessibilityModeComplete; |
+ bool hasEditableTextOnlyFlag = |
+ accessibility_mode_ & AccessibilityModeFlagEditableTextOnly; |
+ if (matchesAccessibilityModeComplete && !hasEditableTextOnlyFlag) |
return false; |
gfx::Rect finger_rect( |