2011-04-29 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Kent Tamura.
Allow Localized Date Strings for Date Input Fields
https://bugs.webkit.org/show_bug.cgi?id=59752
The render tree dump prints out the visible string
inside the <input> field.
* fast/forms/date-input-visible-strings.html: Added.
* platform/mac/fast/forms/date-input-visible-strings-expected.txt: Added.
2011-04-29 Joseph Pecoraro <joepeck@webkit.org>
Reviewed by Kent Tamura.
Allow Localized Date Strings for Date Input Fields
https://bugs.webkit.org/show_bug.cgi?id=59752
Test: fast/forms/date-input-visible-strings.html
* CMakeLists.txt:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj: update build files for
moving DateComponents from WebCore/html to WebCore/platform
and adding the LocalizedDate files.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::serialize):
(WebCore::BaseDateAndTimeInputType::serializeWithComponents):
(WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
InputType::serialize for a double value with date types is
different for the month type because it assumes the incoming
value is months instead of msecs (matching valueAsNumber in
HTML5). So provide a more general serialization function,
serializeWithComponents, that will always serialize a string
correctly for the current type but taking in a DateComponents
object. The default serialize, and new serializeWithMilliseconds,
can fall back to this and allows an override point for
the month type.
* html/MonthInputType.cpp:
(WebCore::MonthInputType::serializeWithMilliseconds): the month
type is a case where the default serialize does not take msec,
so provide an implementation for month which handles msec input.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::setValueAsDate): switch
to serializeWithMilliseconds as the incoming date value is msec.
* html/MonthInputType.cpp:
(WebCore::MonthInputType::setValueAsDate): removed.
* html/BaseDateAndTimeInputType.cpp:
(WebCore::BaseDateAndTimeInputType::visibleValue): allow
localized formatting of a date value.
(WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):
allow parsing for a formatted date value.
* html/BaseDateAndTimeInputType.h:
* platform/DateComponents.cpp: Renamed from Source/WebCore/html/DateComponents.cpp.
Expose the Type enum so it can be used outside of the DateComponents class.
* platform/text/LocalizedDate.h: Added.
* platform/text/LocalizedDateNone.cpp: Added.
(WebCore::formatLocalizedDate): Default implementation falls back to
existing HTML5 date input value formatting.
* html/BaseDateAndTimeInputType.h:
* html/DateInputType.cpp:
(WebCore::DateInputType::dateType):
* html/DateInputType.h:
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::dateType):
* html/DateTimeInputType.h:
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::dateType):
* html/DateTimeLocalInputType.h:
* html/MonthInputType.cpp:
(WebCore::MonthInputType::dateType):
* html/MonthInputType.h:
* html/TimeInputType.cpp:
(WebCore::TimeInputType::dateType):
* html/TimeInputType.h:
* html/WeekInputType.cpp:
(WebCore::WeekInputType::dateType):
* html/WeekInputType.h: Accessors for the desired date
type of a date input type. This allows the base class
to write a generic algorithm.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@85382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
27 files changed