| 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;
|
| +
|
| + 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(
|
|
|