Fixed when tapping on "Tap" menu in "m.naver.com" site, focus ring is not displayed.
authorYuni Jeong <yhnet.jung@samsung.com>
Mon, 20 May 2013 14:18:35 +0000 (23:18 +0900)
committerGerrit Code Review <gerrit@gerrit.vlan144.tizendev.org>
Wed, 10 Jul 2013 03:07:42 +0000 (03:07 +0000)
[Title] Fixed when tapping on "Tap" menu in "m.naver.com" site, focus ring is not displayed.
[Issue#] P130517-1777
[Problem] When tapping on "Tap" menu in "m.naver.com" site, focus ring is not displayed.
[Cause] Condition for displaying focus ring is not proper.
[Solution] Added condition for displaying focus ring.

Change-Id: I827eac68891837c84b618dad2fd8779488ca3fd3

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

index 412487f..34f5f66 100755 (executable)
@@ -922,7 +922,7 @@ static IntRect getFocusedRect(HitTestResult hitTestResult, Page* page)
     Node* focusableNode = node;
     while (focusableNode) {
         RenderObject* renderer = focusableNode->renderer();
-        if (renderer && renderer->isRoot())
+        if (renderer && (renderer->isBody() || renderer->isRenderView() || renderer->isRoot()))
             break;
 
         if (focusableNode->isFocusable()) {
@@ -934,6 +934,14 @@ static IntRect getFocusedRect(HitTestResult hitTestResult, Page* page)
             break;
         }
 
+        if (focusableNode->supportsFocus()
+            || focusableNode->hasEventListeners(eventNames().clickEvent)
+            || focusableNode->hasEventListeners(eventNames().mousedownEvent)
+            || focusableNode->hasEventListeners(eventNames().mouseupEvent)) {
+            isFocusRingDrawable = true;
+            break;
+        }
+
         focusableNode = focusableNode->parentNode();
     }