| Index: third_party/WebKit/Source/web/WebViewImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebViewImpl.cpp b/third_party/WebKit/Source/web/WebViewImpl.cpp
|
| index a20c4c51ab3c0c1208d5c916a971d4eb0e729c4e..6f670d37d17c972cad3066e025735e459336c8ef 100644
|
| --- a/third_party/WebKit/Source/web/WebViewImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebViewImpl.cpp
|
| @@ -2086,6 +2086,29 @@ bool WebViewImpl::handleInputEvent(const WebInputEvent& inputEvent)
|
| return true;
|
| }
|
|
|
| + if (inputEvent.modifiers & WebInputEvent::IsTouchAccessibility
|
| + && WebInputEvent::isMouseEventType(inputEvent.type)) {
|
| + PlatformMouseEventBuilder pme(mainFrameImpl()->frameView(), static_cast<const WebMouseEvent&>(inputEvent));
|
| +
|
| + // Find the right target frame. See issue 1186900.
|
| + HitTestResult result = hitTestResultForRootFramePos(pme.position());
|
| + Frame* targetFrame;
|
| + if (result.innerNodeOrImageMapImage())
|
| + targetFrame = result.innerNodeOrImageMapImage()->document().frame();
|
| + else
|
| + targetFrame = m_page->focusController().focusedOrMainFrame();
|
| +
|
| + if (targetFrame->isLocalFrame()) {
|
| + LocalFrame* targetLocalFrame = toLocalFrame(targetFrame);
|
| + Document* document = targetLocalFrame->document();
|
| + if (document) {
|
| + AXObjectCache* cache = document->existingAXObjectCache();
|
| + if (cache)
|
| + cache->onTouchAccessibilityHover(pme.position());
|
| + }
|
| + }
|
| + }
|
| +
|
| // Report the event to be NOT processed by WebKit, so that the browser can handle it appropriately.
|
| if (m_ignoreInputEvents)
|
| return false;
|
|
|