X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fthird_party%2FWebKit%2FSource%2Fcore%2Fhtml%2Fshadow%2FDateTimeFieldElement.cpp;h=163a7df47ca3ee3521ce35a3012c0fdab6628882;hb=004985e17e624662a4c85c76a7654039dc83f028;hp=1746b0178c46ea0eb7668894af429ca64fa550d3;hpb=2f108dbacb161091e42a3479f4e171339b7e7623;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/third_party/WebKit/Source/core/html/shadow/DateTimeFieldElement.cpp b/src/third_party/WebKit/Source/core/html/shadow/DateTimeFieldElement.cpp index 1746b01..163a7df 100644 --- a/src/third_party/WebKit/Source/core/html/shadow/DateTimeFieldElement.cpp +++ b/src/third_party/WebKit/Source/core/html/shadow/DateTimeFieldElement.cpp @@ -52,22 +52,27 @@ DateTimeFieldElement::DateTimeFieldElement(Document& document, FieldOwner& field { } -void DateTimeFieldElement::defaultEventHandler(Event* event) +void DateTimeFieldElement::trace(Visitor* visitor) { - if (event->type() == EventTypeNames::blur) - didBlur(); - - if (event->type() == EventTypeNames::focus) - didFocus(); + visitor->trace(m_fieldOwner); + HTMLSpanElement::trace(visitor); +} +void DateTimeFieldElement::defaultEventHandler(Event* event) +{ if (event->isKeyboardEvent()) { KeyboardEvent* keyboardEvent = toKeyboardEvent(event); if (!isDisabled() && !isFieldOwnerDisabled() && !isFieldOwnerReadOnly()) { handleKeyboardEvent(keyboardEvent); - if (keyboardEvent->defaultHandled()) + if (keyboardEvent->defaultHandled()) { + if (m_fieldOwner) + m_fieldOwner->fieldDidChangeValueByKeyboard(); return; + } } defaultKeyboardEventHandler(keyboardEvent); + if (m_fieldOwner) + m_fieldOwner->fieldDidChangeValueByKeyboard(); if (keyboardEvent->defaultHandled()) return; } @@ -129,16 +134,11 @@ void DateTimeFieldElement::defaultKeyboardEventHandler(KeyboardEvent* keyboardEv } } -void DateTimeFieldElement::didBlur() -{ - if (m_fieldOwner) - m_fieldOwner->didBlurFromField(); -} - -void DateTimeFieldElement::didFocus() +void DateTimeFieldElement::setFocus(bool value) { if (m_fieldOwner) - m_fieldOwner->didFocusOnField(); + value ? m_fieldOwner->didFocusOnField() : m_fieldOwner->didBlurFromField(); + ContainerNode::setFocus(value); } void DateTimeFieldElement::focusOnNextField()