return TextIterator::rangeLength(range.get(), true);
}
+#if ENABLE(TIZEN_LINK_EFFECT)
+static void playTapSound(Node* node)
+{
+ for (; node; node = node->parentNode()) {
+ if (node->disabled() || node->rendererIsEditable())
+ return;
+
+ if (node->hasTagName(HTMLNames::bodyTag))
+ continue;
+
+ if ((node->hasTagName(HTMLNames::aTag) && toHTMLElement(node)->hasAttribute(hrefAttr))
+ || (node->hasTagName(HTMLNames::areaTag) && toHTMLElement(node)->hasAttribute(hrefAttr))
+ || (node->hasTagName(HTMLNames::summaryTag) && node->supportsFocus())
+ || node->hasTagName(HTMLNames::buttonTag)
+ || node->hasTagName(HTMLNames::inputTag)
+ || node->hasEventListeners(eventNames().clickEvent)
+ || node->hasEventListeners(eventNames().mousedownEvent)
+ || node->hasEventListeners(eventNames().mouseupEvent)
+ || node->hasEventListeners(eventNames().mouseoverEvent)) {
+ TizenLinkEffect::playLinkEffect();
+ return;
+ }
+
+ if (node->renderer() && node->renderer()->isRoot())
+ return;
+ }
+}
+#endif
+
bool EventHandler::handleMousePressEventSingleClick(const MouseEventWithHitTestResults& event)
{
m_frame->document()->updateLayoutIgnorePendingStylesheets();
#endif
#if ENABLE(TIZEN_LINK_EFFECT)
- if (m_frame->page() &&m_frame->page()->settings()->linkEffectEnabled()) {
- 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;
- }
-
- if (node->renderer() && node->renderer()->isRoot())
- break;
- }
- }
+ if (m_frame->page() && m_frame->page()->settings()->linkEffectEnabled())
+ playTapSound(innerNode);
#endif
if (!(innerNode && innerNode->renderer() && m_mouseDownMayStartSelect))