From: Yuni Jeong Date: Sat, 22 Jun 2013 10:00:44 +0000 (+0900) Subject: Changed the point for searching clickable node to get focus ring rect. X-Git-Tag: submit/tizen_2.2/20130714.131554~20 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=abf5e0fb8b14485767ca015d4cd478408dc3f715;hp=b7401aa3bef0c99090e1304fc84a7260748d13bf;p=framework%2Fweb%2Fwebkit-efl.git Changed the point for searching clickable node to get focus ring rect. [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 --- diff --git a/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp b/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp index 34f5f66..37b51cd 100755 --- a/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp +++ b/Source/WebKit2/WebProcess/WebPage/efl/WebPageEfl.cpp @@ -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