Skip to content
  • joepeck@webkit.org's avatar
    <http://webkit.org/b/59951> Implement Date and Time Input Value Sanitization · 0a776807
    joepeck@webkit.org authored
    Source/WebCore:
    
    Sanitize non-parsable incoming strings to the empty string.
    
    Reviewed by Kent Tamura.
    
    Covered by existing tests.
    
    * html/BaseDateAndTimeInputType.h:
    * html/BaseDateAndTimeInputType.cpp:
    (WebCore::BaseDateAndTimeInputType::sanitizeValue): check if the
    incoming string is valid. If not just return the empty string.
    
    LayoutTests:
    
    Update ValidityState typeMismatch tests for date types, since
    setting an invalid value now sanitized to the empty string.
    So, what used to be an invalid value with a typeMismatch is
    now a valid empty string and there is never a typeMismatch.
    
      - for rangeOverflow / rangeUnderflow tests update the
        test to point out when a value was sanitized.
      - for typeMismatch tests, typeMismatch can no longer
        happen for sanitized values. Change the test to output
        if the value was sanitized or not and ensure that
        we are never in a typeMismatch state. Disabled inputs
        are also sanitized when their value changes.
    
    Reviewed by Kent Tamura.
    
    * fast/forms/date/ValidityState-rangeOverflow-date-expected.txt:
    * fast/forms/date/ValidityState-rangeOverflow-date.html:
    * fast/forms/date/ValidityState-rangeUnderflow-date-expected.txt:
    * fast/forms/date/ValidityState-rangeUnderflow-date.html:
    * fast/forms/date/ValidityState-typeMismatch-date-expected.txt:
    * fast/forms/date/ValidityState-typeMismatch-date.html:
    * fast/forms/datetime/ValidityState-rangeOverflow-datetime-expected.txt:
    * fast/forms/datetime/ValidityState-rangeOverflow-datetime.html:
    * fast/forms/datetime/ValidityState-rangeUnderflow-datetime-expected.txt:
    * fast/forms/datetime/ValidityState-rangeUnderflow-datetime.html:
    * fast/forms/datetime/ValidityState-typeMismatch-datetime-expected.txt:
    * fast/forms/datetime/ValidityState-typeMismatch-datetime.html:
    * fast/forms/datetimelocal/ValidityState-rangeOverflow-datetimelocal-expected.txt:
    * fast/forms/datetimelocal/ValidityState-rangeOverflow-datetimelocal.html:
    * fast/forms/datetimelocal/ValidityState-rangeUnderflow-datetimelocal-expected.txt:
    * fast/forms/datetimelocal/ValidityState-rangeUnderflow-datetimelocal.html:
    * fast/forms/datetimelocal/ValidityState-typeMismatch-datetimelocal-expected.txt:
    * fast/forms/datetimelocal/ValidityState-typeMismatch-datetimelocal.html:
    * fast/forms/month/ValidityState-rangeOverflow-month-expected.txt:
    * fast/forms/month/ValidityState-rangeOverflow-month.html:
    * fast/forms/month/ValidityState-rangeUnderflow-month-expected.txt:
    * fast/forms/month/ValidityState-rangeUnderflow-month.html:
    * fast/forms/month/ValidityState-typeMismatch-month-expected.txt:
    * fast/forms/month/ValidityState-typeMismatch-month.html:
    * fast/forms/time/ValidityState-rangeOverflow-time-expected.txt:
    * fast/forms/time/ValidityState-rangeOverflow-time.html:
    * fast/forms/time/ValidityState-rangeUnderflow-time-expected.txt:
    * fast/forms/time/ValidityState-rangeUnderflow-time.html:
    * fast/forms/time/ValidityState-typeMismatch-time-expected.txt:
    * fast/forms/time/ValidityState-typeMismatch-time.html:
    * fast/forms/week/ValidityState-rangeOverflow-week-expected.txt:
    * fast/forms/week/ValidityState-rangeOverflow-week.html:
    * fast/forms/week/ValidityState-rangeUnderflow-week-expected.txt:
    * fast/forms/week/ValidityState-rangeUnderflow-week.html:
    * fast/forms/week/ValidityState-typeMismatch-week-expected.txt:
    * fast/forms/week/ValidityState-typeMismatch-week.html:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@103957 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    0a776807