Node* innerNode = targetNode(event);
#if ENABLE(TIZEN_LINK_EFFECT)
- Node* node = innerNode;
- RenderObject* renderer;
- while (node
- && (renderer = node->renderer())
- && (!renderer->isRoot())) {
- if (node->isLink()
- || node->hasTagName(HTMLNames::aTag)
- || node->hasTagName(HTMLNames::inputTag)
- || (!node->hasTagName(HTMLNames::bodyTag) && node->isHTMLElement() && toHTMLElement(node)->hasAttribute(onclickAttr))) {
+ for (Node* node = innerNode; node && !node->disabled() && !node->rendererIsEditable(); node = node->parentNode()) {
+ if (node->hasTagName(HTMLNames::bodyTag))
+ continue;
+
+ if (node->supportsFocus()
+ || node->hasEventListeners(eventNames().clickEvent)
+ || node->hasEventListeners(eventNames().mousedownEvent)
+ || node->hasEventListeners(eventNames().mouseupEvent)
+ || node->hasEventListeners(eventNames().mouseoverEvent)) {
TizenLinkEffect::playLinkEffect();
break;
}
- node = node->parentNode();
+
+ if (node->renderer() && node->renderer()->isRoot())
+ break;
}
#endif