use trackball 'mouse' position instead of current focus on click

Furthering investigation to separate browser focus movement from
trackball mouse position movement, use the simulated mouse
position when computing the node underneath used for mouse clicks.

The computed node is only used for area maps and lists -- usually
the (x,y) position is passed through to webkit. Since this is
re-finding the node by location and not using the node found by
navigation, it may introduce some regression.

An additional regression/investigation would be to pass the
(x,y) through regardless of whether a node is hit so that the click
is always generated.

http://b/issue?id=1866439
diff --git a/WebKit/android/jni/WebViewCore.cpp b/WebKit/android/jni/WebViewCore.cpp
index 18eb6b9..823a30f 100644
--- a/WebKit/android/jni/WebViewCore.cpp
+++ b/WebKit/android/jni/WebViewCore.cpp
@@ -1780,7 +1780,11 @@
 
 bool WebViewCore::click() {
     bool keyHandled = false;
-    WebCore::Node* focusNode = FrameLoaderClientAndroid::get(m_mainFrame)->getCacheBuilder().currentFocus();
+    WebCore::IntPoint pt = m_mousePos;
+    pt.move(m_scrollOffsetX, m_scrollOffsetY);
+    WebCore::HitTestResult hitTestResult = m_mainFrame->eventHandler()->
+        hitTestResultAtPoint(pt, false);
+    WebCore::Node* focusNode = hitTestResult.innerNode();
     if (focusNode) {
         WebFrame::getWebFrame(m_mainFrame)->setUserInitiatedClick(true);
         keyHandled = handleMouseClick(focusNode->document()->frame(), focusNode);