Index: content/browser/renderer_host/render_widget_host_view_android.cc |
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc |
index 5bf928b456fb32d6e2c6a41b6249ce9c9e81387e..9c1e7274e5896643743943aabf2fc5efd28988b9 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_android.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
@@ -18,6 +18,7 @@ |
#include "cc/layers/texture_layer.h" |
#include "cc/output/compositor_frame.h" |
#include "cc/output/compositor_frame_ack.h" |
+#include "content/browser/accessibility/browser_accessibility_manager_android.h" |
#include "content/browser/android/content_view_core_impl.h" |
#include "content/browser/android/overscroll_glow.h" |
#include "content/browser/gpu/gpu_surface_tracker.h" |
@@ -837,6 +838,64 @@ InputEventAckState RenderWidgetHostViewAndroid::FilterInputEvent( |
void RenderWidgetHostViewAndroid::OnAccessibilityNotifications( |
const std::vector<AccessibilityHostMsg_NotificationParams>& params) { |
+ if (!GetBrowserAccessibilityManager()) { |
+ SetBrowserAccessibilityManager( |
+ new BrowserAccessibilityManagerAndroid( |
+ content_view_core_, |
+ BrowserAccessibilityManagerAndroid::GetEmptyDocument(), |
+ this)); |
+ } |
+ GetBrowserAccessibilityManager()->OnAccessibilityNotifications(params); |
+} |
+ |
+void RenderWidgetHostViewAndroid::SetAccessibilityFocus(int acc_obj_id) { |
+ if (!host_) |
+ return; |
+ |
+ host_->AccessibilitySetFocus(acc_obj_id); |
+} |
+ |
+void RenderWidgetHostViewAndroid::AccessibilityDoDefaultAction(int acc_obj_id) { |
+ if (!host_) |
+ return; |
+ |
+ host_->AccessibilityDoDefaultAction(acc_obj_id); |
+} |
+ |
+void RenderWidgetHostViewAndroid::AccessibilityScrollToMakeVisible( |
+ int acc_obj_id, gfx::Rect subfocus) { |
+ if (!host_) |
+ return; |
+ |
+ host_->AccessibilityScrollToMakeVisible(acc_obj_id, subfocus); |
+} |
+ |
+void RenderWidgetHostViewAndroid::AccessibilityScrollToPoint( |
+ int acc_obj_id, gfx::Point point) { |
+ if (!host_) |
+ return; |
+ |
+ host_->AccessibilityScrollToPoint(acc_obj_id, point); |
+} |
+ |
+void RenderWidgetHostViewAndroid::AccessibilitySetTextSelection( |
+ int acc_obj_id, int start_offset, int end_offset) { |
+ if (!host_) |
+ return; |
+ |
+ host_->AccessibilitySetTextSelection( |
+ acc_obj_id, start_offset, end_offset); |
+} |
+ |
+gfx::Point RenderWidgetHostViewAndroid::GetLastTouchEventLocation() const { |
+ NOTIMPLEMENTED(); |
+ // Only used on Win8 |
+ return gfx::Point(); |
+} |
+ |
+void RenderWidgetHostViewAndroid::FatalAccessibilityTreeError() { |
+ host_->FatalAccessibilityTreeError(); |
+ SetBrowserAccessibilityManager(NULL); |
} |
bool RenderWidgetHostViewAndroid::LockMouse() { |