| Index: content/renderer/accessibility/renderer_accessibility_complete.cc
|
| diff --git a/content/renderer/accessibility/renderer_accessibility_complete.cc b/content/renderer/accessibility/renderer_accessibility_complete.cc
|
| index 7d555ccbb245e68d8ec80fb39dcbd251a8253638..031d17e6c4a2b30ebdcc422c30c9146eb4bf0b9b 100644
|
| --- a/content/renderer/accessibility/renderer_accessibility_complete.cc
|
| +++ b/content/renderer/accessibility/renderer_accessibility_complete.cc
|
| @@ -73,6 +73,7 @@ bool RendererAccessibilityComplete::OnMessageReceived(
|
| OnScrollToPoint)
|
| IPC_MESSAGE_HANDLER(AccessibilityMsg_SetTextSelection,
|
| OnSetTextSelection)
|
| + IPC_MESSAGE_HANDLER(AccessibilityMsg_HitTest, OnHitTest)
|
| IPC_MESSAGE_HANDLER(AccessibilityMsg_FatalError, OnFatalError)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| @@ -337,6 +338,19 @@ void RendererAccessibilityComplete::OnSetTextSelection(
|
| }
|
| }
|
|
|
| +void RendererAccessibilityComplete::OnHitTest(gfx::Point point) {
|
| + const WebDocument& document = GetMainDocument();
|
| + if (document.isNull())
|
| + return;
|
| + WebAXObject root_obj = document.accessibilityObject();
|
| + if (!root_obj.updateBackingStoreAndCheckValidity())
|
| + return;
|
| +
|
| + WebAXObject obj = root_obj.hitTest(point);
|
| + if (!obj.isDetached())
|
| + HandleAXEvent(obj, ui::AX_EVENT_HOVER);
|
| +}
|
| +
|
| void RendererAccessibilityComplete::OnEventsAck() {
|
| DCHECK(ack_pending_);
|
| ack_pending_ = false;
|
|
|