Changeset 121525 in webkit


Ignore:
Timestamp:
Jun 29, 2012 12:26:55 AM (12 years ago)
Author:
yosin@chromium.org
Message:

[Platform] Implement Date Time format parser
https://bugs.webkit.org/show_bug.cgi?id=89963

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces Unicode TR35 LDML date time format parser for
input type "time" if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.

Test: WebKit/chromium/tests/DateTimeFormatTest.cpp

  • CMakeLists.txt: Added DateTimeFormat.cpp
  • GNUmakefile.list.am: Added DateTimeFormat.{cpp,h}
  • Target.pri: ditto
  • WebCore.gypi: ditto
  • WebCore.vcproj/WebCore.vcproj: ditto
  • WebCore.xcodeproj/product.pbxproj: ditto
  • platform/text/DateTimeFormat.cpp: Added.

(WebCore::mapCharacterToFieldTypeInternal):
(WebCore::DateTimeFormat::DateTimeFormat):
(WebCore::DateTimeFormat::mapCharacterToFieldType):
(WebCore::DateTimeFormat::parse):

  • platform/text/DateTimeFormat.h: Added.

(DateTimeFormat):
(TokenHandler):
(WebCore::DateTimeFormat::TokenHandler::~TokenHandler):

Source/WebKit/chromium:

This patch adds an unit test for date time format parser if
ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.

  • tests/DateTimeFormatTest.cpp: Added.

(DateTimeFormatTest):
(Token):
(DateTimeFormatTest::Token::Token):
(DateTimeFormatTest::Token::operator==):
(DateTimeFormatTest::Token::toString):
(Tokens):
(DateTimeFormatTest::Tokens::Tokens):
(DateTimeFormatTest::Tokens::operator==):
(DateTimeFormatTest::Tokens::toString):
(DateTimeFormatTest::parse):
(DateTimeFormatTest::single):
(TokenHandler):
(DateTimeFormatTest::TokenHandler::~TokenHandler):
(DateTimeFormatTest::TokenHandler::fieldType):
(DateTimeFormatTest::TokenHandler::tokens):
(DateTimeFormatTest::TokenHandler::visitField):
(DateTimeFormatTest::TokenHandler::visitLiteral):
(operator<<):
(TEST_F):

Location:
trunk/Source
Files:
3 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r121513 r121525  
    12971297    platform/text/Base64.cpp
    12981298    platform/text/BidiContext.cpp
     1299    platform/text/DateTimeFormat.cpp
    12991300    platform/text/Hyphenation.cpp
    13001301    platform/text/LineEnding.cpp
  • trunk/Source/WebCore/ChangeLog

    r121524 r121525  
     12012-06-29  Yoshifumi Inoue  <yosin@chromium.org>
     2
     3        [Platform] Implement Date Time format parser
     4        https://bugs.webkit.org/show_bug.cgi?id=89963
     5
     6        Reviewed by Kent Tamura.
     7
     8        This patch introduces Unicode TR35 LDML date time format parser for
     9        input type "time" if ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.
     10
     11        Test: WebKit/chromium/tests/DateTimeFormatTest.cpp
     12
     13        * CMakeLists.txt: Added DateTimeFormat.cpp
     14        * GNUmakefile.list.am: Added DateTimeFormat.{cpp,h}
     15        * Target.pri: ditto
     16        * WebCore.gypi: ditto
     17        * WebCore.vcproj/WebCore.vcproj: ditto
     18        * WebCore.xcodeproj/product.pbxproj: ditto
     19        * platform/text/DateTimeFormat.cpp: Added.
     20        (WebCore::mapCharacterToFieldTypeInternal):
     21        (WebCore::DateTimeFormat::DateTimeFormat):
     22        (WebCore::DateTimeFormat::mapCharacterToFieldType):
     23        (WebCore::DateTimeFormat::parse):
     24        * platform/text/DateTimeFormat.h: Added.
     25        (DateTimeFormat):
     26        (TokenHandler):
     27        (WebCore::DateTimeFormat::TokenHandler::~TokenHandler):
     28
    1292012-06-29  Eric Seidel  <eric@webkit.org>
    230
  • trunk/Source/WebCore/GNUmakefile.list.am

    r121513 r121525  
    36823682        Source/WebCore/platform/text/BidiResolver.h \
    36833683        Source/WebCore/platform/text/BidiRunList.h \
     3684        Source/WebCore/platform/text/DateTimeFormat.cpp \
     3685        Source/WebCore/platform/text/DateTimeFormat.h \
    36843686        Source/WebCore/platform/text/DecodeEscapeSequences.h \
    36853687        Source/WebCore/platform/text/Hyphenation.cpp \
  • trunk/Source/WebCore/Target.pri

    r121513 r121525  
    10771077    platform/text/Base64.cpp \
    10781078    platform/text/BidiContext.cpp \
     1079    platform/text/DateTimeFormat.cpp \
    10791080    platform/text/Hyphenation.cpp \
    10801081    platform/text/LocaleToScriptMappingDefault.cpp \
     
    24152416    platform/text/Base64.h \
    24162417    platform/text/BidiContext.h \
     2418    platform/text/DateTimeFormat.h \
    24172419    platform/text/DecodeEscapeSequences.h \
    24182420    platform/text/Hyphenation.h \
  • trunk/Source/WebCore/WebCore.gypi

    r121513 r121525  
    495495            'platform/text/BidiContext.h',
    496496            'platform/text/BidiResolver.h',
     497            'platform/text/DateTimeFormat.h',
    497498            'platform/text/DecodeEscapeSequences.h',
    498499            'platform/text/LineBreakIteratorPoolICU.h',
     
    43824383            'platform/text/Base64.cpp',
    43834384            'platform/text/BidiContext.cpp',
     4385            'platform/text/DateTimeFormat.cpp',
    43844386            'platform/text/Hyphenation.cpp',
    43854387            'platform/text/Hyphenation.h',
  • trunk/Source/WebCore/WebCore.vcproj/WebCore.vcproj

    r121513 r121525  
    3320333203                                </File>
    3320433204                                <File
     33205                                        RelativePath="..\platform\text\DateTimeFormat.cpp"
     33206                                        >
     33207                                </File>
     33208                                <File
     33209                                        RelativePath="..\platform\text\DateTimeFormat.h"
     33210                                        >
     33211                                </File>
     33212                                <File
    3320533213                                        RelativePath="..\platform\text\DecodeEscapeSequences.h"
    3320633214                                        >
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r121513 r121525  
    11931193                450CEBF015073BBE002BB149 /* LabelableElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 450CEBEE15073BBE002BB149 /* LabelableElement.cpp */; };
    11941194                450CEBF115073BBE002BB149 /* LabelableElement.h in Headers */ = {isa = PBXBuildFile; fileRef = 450CEBEF15073BBE002BB149 /* LabelableElement.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1195                453EB636159C570400001BB7 /* DateTimeFormat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 453EB634159C570400001BB7 /* DateTimeFormat.cpp */; };
     1196                453EB637159C570400001BB7 /* DateTimeFormat.h in Headers */ = {isa = PBXBuildFile; fileRef = 453EB635159C570400001BB7 /* DateTimeFormat.h */; settings = {ATTRIBUTES = (Private, ); }; };
    11951197                458FE4091589DF0B005609E6 /* RenderSearchField.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 458FE4071589DF0B005609E6 /* RenderSearchField.cpp */; };
    11961198                458FE40A1589DF0B005609E6 /* RenderSearchField.h in Headers */ = {isa = PBXBuildFile; fileRef = 458FE4081589DF0B005609E6 /* RenderSearchField.h */; };
     
    82468248                450CEBEE15073BBE002BB149 /* LabelableElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LabelableElement.cpp; sourceTree = "<group>"; };
    82478249                450CEBEF15073BBE002BB149 /* LabelableElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LabelableElement.h; sourceTree = "<group>"; };
     8250                453EB634159C570400001BB7 /* DateTimeFormat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DateTimeFormat.cpp; sourceTree = "<group>"; };
     8251                453EB635159C570400001BB7 /* DateTimeFormat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DateTimeFormat.h; sourceTree = "<group>"; };
    82488252                458FE4071589DF0B005609E6 /* RenderSearchField.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSearchField.cpp; sourceTree = "<group>"; };
    82498253                458FE4081589DF0B005609E6 /* RenderSearchField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderSearchField.h; sourceTree = "<group>"; };
     
    1972319727                                B2C3D9F40D006C1D00EF6F26 /* BidiResolver.h */,
    1972419728                                A8C402921348B2220063F1E5 /* BidiRunList.h */,
     19729                                453EB634159C570400001BB7 /* DateTimeFormat.cpp */,
     19730                                453EB635159C570400001BB7 /* DateTimeFormat.h */,
    1972519731                                CECCFC3A141973D5002A0AC1 /* DecodeEscapeSequences.h */,
    1972619732                                375CD231119D43C800A2A859 /* Hyphenation.h */,
     
    2227222278                                2E97CCEB12939CB800C5C8FF /* DataView.h in Headers */,
    2227322279                                A5732B0B136A161D005C8D7C /* DateComponents.h in Headers */,
     22280                                453EB637159C570400001BB7 /* DateTimeFormat.h in Headers */,
    2227422281                                F55B3DB61251F12D003EF269 /* DateInputType.h in Headers */,
    2227522282                                F55B3DB81251F12D003EF269 /* DateTimeInputType.h in Headers */,
     
    2578825795                                A5732B0A136A161D005C8D7C /* DateComponents.cpp in Sources */,
    2578925796                                F55B3DB51251F12D003EF269 /* DateInputType.cpp in Sources */,
     25797                                453EB636159C570400001BB7 /* DateTimeFormat.cpp in Sources */,
    2579025798                                F55B3DB71251F12D003EF269 /* DateTimeInputType.cpp in Sources */,
    2579125799                                F55B3DB91251F12D003EF269 /* DateTimeLocalInputType.cpp in Sources */,
  • trunk/Source/WebKit/chromium/ChangeLog

    r121492 r121525  
     12012-06-29  Yoshifumi Inoue  <yosin@chromium.org>
     2
     3        [Platform] Implement Date Time format parser
     4        https://bugs.webkit.org/show_bug.cgi?id=89963
     5
     6        Reviewed by Kent Tamura.
     7
     8        This patch adds an unit test for date time format parser if
     9        ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS) is true.
     10
     11        * tests/DateTimeFormatTest.cpp: Added.
     12        (DateTimeFormatTest):
     13        (Token):
     14        (DateTimeFormatTest::Token::Token):
     15        (DateTimeFormatTest::Token::operator==):
     16        (DateTimeFormatTest::Token::toString):
     17        (Tokens):
     18        (DateTimeFormatTest::Tokens::Tokens):
     19        (DateTimeFormatTest::Tokens::operator==):
     20        (DateTimeFormatTest::Tokens::toString):
     21        (DateTimeFormatTest::parse):
     22        (DateTimeFormatTest::single):
     23        (TokenHandler):
     24        (DateTimeFormatTest::TokenHandler::~TokenHandler):
     25        (DateTimeFormatTest::TokenHandler::fieldType):
     26        (DateTimeFormatTest::TokenHandler::tokens):
     27        (DateTimeFormatTest::TokenHandler::visitField):
     28        (DateTimeFormatTest::TokenHandler::visitLiteral):
     29        (operator<<):
     30        (TEST_F):
     31
    1322012-06-28  Joshua Bell  <jsbell@chromium.org>
    233
  • trunk/Source/WebKit/chromium/WebKit.gypi

    r121469 r121525  
    9898            'tests/ClipboardChromiumTest.cpp',
    9999            'tests/CompositorFakeWebGraphicsContext3D.h',
     100            'tests/DateTimeFormatTest.cpp',
    100101            'tests/DecimalTest.cpp',
    101102            'tests/DragImageTest.cpp',
Note: See TracChangeset for help on using the changeset viewer.