Changed the point for searching clickable node to get focus ring rect.
authorYuni Jeong <yhnet.jung@samsung.com>
Sat, 22 Jun 2013 10:00:44 +0000 (19:00 +0900)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Wed, 10 Jul 2013 03:08:02 +0000 (03:08 +0000)
[Title] Changed the point for searching clickable node to get focus ring rect.
[Issue#] DCM-2047
[Problem] focus ring is displayed above two link menu than tapped link menu.
[Cause] When user tap contents in iframe, it is searching clickable node using the point from iframe.
        But, the point from main frame is needed for searching clickable node.
        So, focus ring is displayed at wrong position.
[Solution] Changed the point for searching clickable node to the main frame point.

Change-Id: I9df118900b39aefdb0671bd167acc91beea4b582

Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp

index 34f5f66..37b51cd 100755 (executable)
@@ -900,7 +900,7 @@ static IntRect getNodeRect(Node* node, Node* focusableNode, bool isImage)
 #if ENABLE(TIZEN_WEBKIT2_HIT_TEST)
 #if ENABLE(TIZEN_WEBKIT2_FOCUS_RING)
 #if ENABLE(TOUCH_ADJUSTMENT)
-static IntRect getFocusedRect(HitTestResult hitTestResult, Page* page, const IntSize& area)
+static IntRect getFocusedRect(HitTestResult hitTestResult, Page* page, const IntPoint& point, const IntSize& area)
 #else
 static IntRect getFocusedRect(HitTestResult hitTestResult, Page* page)
 #endif
@@ -910,7 +910,7 @@ static IntRect getFocusedRect(HitTestResult hitTestResult, Page* page)
     Node* adjustedNode = 0;
     IntPoint adustedPoint;
     Frame* mainFrame = page->mainFrame();
-    mainFrame->eventHandler()->bestClickableNodeForTouchPoint(hitTestResult.roundedPoint(), IntSize(area.width() / 2, area.height() / 2), adustedPoint, adjustedNode);
+    mainFrame->eventHandler()->bestClickableNodeForTouchPoint(point, IntSize(area.width() / 2, area.height() / 2), adustedPoint, adjustedNode);
 
     if (adjustedNode)
         node = adjustedNode;
@@ -998,7 +998,7 @@ void WebPage::hitTestResultAtPoint(const IntPoint& point, int hitTestMode, WebHi
 
 #if ENABLE(TIZEN_WEBKIT2_FOCUS_RING)
 #if ENABLE(TOUCH_ADJUSTMENT)
-    hitTestResultData.focusedRect = getFocusedRect(hitTestResult, m_page.get(), area);
+    hitTestResultData.focusedRect = getFocusedRect(hitTestResult, m_page.get(), point, area);
 #else
     hitTestResultData.focusedRect = getFocusedRect(hitTestResult, m_page.get());
 #endif