Skip to content
  • yosin@chromium.org's avatar
    [Forms] Make input type "time" to use multiple field time input UI · 2aed2823
    yosin@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=93929
    
    Reviewed by Kent Tamura.
    
    Source/WebCore:
    
    This patch changes input type "time" UI to use multiple field time
    input UI when build flag ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
    enabled.
    
    No new tests. This patch doesn't change behavior for users, however,
    this patch changes behavior on layout tests. Tests will be added
    in another patch with runtime enabled feature flag is enabled.
    
    Test expectations for following tests are updated:
     - fast/forms/time/time-input-visible-string.html
     - fast/forms/time/time-stepup-stepdown-from-renderer.html
    
    * html/BaseDateAndTimeInputType.h:
    (BaseDateAndTimeInputType): Exposed serialize() to derived classes.
    * html/TimeInputType.cpp:
    (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::DateTimeEditControlOwnerImpl):
    (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::~DateTimeEditControlOwnerImpl):
    (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlMouseFocus):
    (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::editControlValueChanged):
    (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerDisabled):
    (WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerReadOnly):
    (WebCore::TimeInputType::TimeInputType):
    (WebCore::TimeInputType::~TimeInputType):
    (WebCore::TimeInputType::createRenderer):
    (WebCore::TimeInputType::createShadowSubtree):
    (WebCore::TimeInputType::destroyShadowSubtree):
    (WebCore::TimeInputType::forwardEvent):
    (WebCore::TimeInputType::disabledAttributeChanged):
    (WebCore::TimeInputType::handleKeydownEvent):
    (WebCore::TimeInputType::handleDOMActivateEvent):
    (WebCore::TimeInputType::isKeyboardFocusable):
    (WebCore::TimeInputType::isMouseFocusable):
    (WebCore::TimeInputType::minOrMaxAttributeChanged):
    (WebCore::TimeInputType::readonlyAttributeChanged):
    (WebCore::TimeInputType::isTextField):
    (WebCore::TimeInputType::setValue):
    (WebCore::TimeInputType::shouldUseInputMethod):
    (WebCore::TimeInputType::stepAttributeChanged):
    (WebCore::TimeInputType::updateEditElementLayout):
    (WebCore::TimeInputType::updateInnerTextValue):
    (WebCore::TimeInputType):
    * html/TimeInputType.h:
    (TimeInputType):
    (DateTimeEditControlOwnerImpl):
    
    LayoutTests:
    
    This patch added test expectations for multiple fields time input UI
    testing which are different behavior from single field time input UI
    for Chromium which enables multiple fields time input UI.
    
    * platform/chromium/fast/forms/time/time-input-visible-string-expected.txt: Select all in a field doesn't select text.
    * platform/chromium/fast/forms/time/time-stepup-stepdown-from-renderer-expected.txt: Fields don't change value on Up/Down keyboard events when they don't have focus and Up/Down keyboard increment/decrement value on hour field rather than minute field.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@125634 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    2aed2823