Skip to content
  • commit-queue@webkit.org's avatar
    2010-12-09 Jenn Braithwaite <jennb@chromium.org> · b4be94a9
    commit-queue@webkit.org authored
            Reviewed by Adam Barth.
    
            TextResourceDecoder::checkForHeadCharset can look way past the limit.
            https://bugs.webkit.org/show_bug.cgi?id=47397
    
            Replaced charset detection algorithm with real parser.
            Added tests for parser bugs mentioned in the thread for this bug report.
            Converted hixie's encoding parsing tests to a layout test.
    
            Tests: fast/encoding/bracket-in-script.html
                   fast/encoding/bracket-in-tag.html
                   fast/encoding/escaped-bracket.html
                   fast/encoding/meta-in-body.html
                   fast/encoding/meta-in-script.html
                   fast/encoding/meta-in-title.html
                   fast/encoding/mismatched-end-tag.html
                   fast/encoding/namespace-meta.html
                   fast/encoding/not-http-equiv-content.html
                   fast/encoding/parser-tests.html
                   fast/encoding/quotes-in-title.html
                   fast/encoding/tag-name-digit.html
                   http/tests/misc/charset-sniffer-end-sniffing.html
    
            * Android.mk:
            * CMakeLists.txt:
            * GNUmakefile.am:
            * WebCore.gypi:
            * WebCore.pro:
            * WebCore.vcproj/WebCore.vcproj:
            * WebCore.xcodeproj/project.pbxproj:
            * html/parser/HTMLMetaCharsetParser.cpp: Added.
            (WebCore::HTMLMetaCharsetParser::HTMLMetaCharsetParser):
            (WebCore::HTMLMetaCharsetParser::~HTMLMetaCharsetParser):
            (WebCore::HTMLMetaCharsetParser::extractCharset):
            (WebCore::HTMLMetaCharsetParser::processMeta):
            (WebCore::HTMLMetaCharsetParser::checkForMetaCharset):
            * html/parser/HTMLMetaCharsetParser.h: Added.
            (WebCore::HTMLMetaCharsetParser::create):
            (WebCore::HTMLMetaCharsetParser::encoding):
            * loader/TextResourceDecoder.cpp:
            (WebCore::TextResourceDecoder::checkForHeadCharset):
            (WebCore::TextResourceDecoder::checkForMetaCharset):
            * loader/TextResourceDecoder.h:
    2010-12-09  Jenn Braithwaite  <jennb@chromium.org>
    
            Reviewed by Adam Barth.
    
            TextResourceDecoder::checkForHeadCharset can look way past the limit.
            https://bugs.webkit.org/show_bug.cgi?id=47397
    
            Replaced charset detection algorithm with real parser.
            Added tests for parser bugs mentioned in the thread for this bug report.
            Converted hixie's encoding parsing tests to a layout test.
            Added http-equiv attribute to meta tag in 2 existing tests.
    
            * fast/encoding/bracket-in-script-expected.txt: Added.
            * fast/encoding/bracket-in-script.html: Added.
            * fast/encoding/bracket-in-tag-expected.txt: Added.
            * fast/encoding/bracket-in-tag.html: Added.
            * fast/encoding/escaped-bracket-expected.txt: Added.
            * fast/encoding/escaped-bracket.html: Added.
            * fast/encoding/meta-in-body-expected.txt: Added.
            * fast/encoding/meta-in-body.html: Added.
            * fast/encoding/meta-in-script-expected.txt: Added.
            * fast/encoding/meta-in-script.html: Added.
            * fast/encoding/meta-in-title-expected.txt: Added.
            * fast/encoding/meta-in-title.html: Added.
            * fast/encoding/mismatched-end-tag-expected.txt: Added.
            * fast/encoding/mismatched-end-tag.html: Added.
            * fast/encoding/namespace-meta-expected.txt: Added.
            * fast/encoding/namespace-meta.html: Added.
            * fast/encoding/namespace-tolerance.html:
            * fast/encoding/not-http-equiv-content-expected.txt: Added.
            * fast/encoding/not-http-equiv-content.html: Added.
            * fast/encoding/parser-tests-expected.txt: Added.
            * fast/encoding/parser-tests.html: Added.
            * fast/encoding/quotes-in-title-expected.txt: Added.
            * fast/encoding/quotes-in-title.html: Added.
            * fast/encoding/resources/001.html: Added.
            * fast/encoding/resources/002.html: Added.
            * fast/encoding/resources/003.html: Added.
            * fast/encoding/resources/004.html: Added.
            * fast/encoding/resources/005.html: Added.
            * fast/encoding/resources/006.html: Added.
            * fast/encoding/resources/007.html: Added.
            * fast/encoding/resources/008.html: Added.
            * fast/encoding/resources/009.html: Added.
            * fast/encoding/resources/010.html: Added.
            * fast/encoding/resources/011.html: Added.
            * fast/encoding/resources/012.html: Added.
            * fast/encoding/resources/013.html: Added.
            * fast/encoding/resources/014.html: Added.
            * fast/encoding/resources/015.html: Added.
            * fast/encoding/resources/016.html: Added.
            * fast/encoding/resources/017.html: Added.
            * fast/encoding/resources/018.html: Added.
            * fast/encoding/resources/019.html: Added.
            * fast/encoding/resources/020.html: Added.
            * fast/encoding/resources/021.html: Added.
            * fast/encoding/resources/022.html: Added.
            * fast/encoding/resources/023.html: Added.
            * fast/encoding/resources/024.html: Added.
            * fast/encoding/resources/025.html: Added.
            * fast/encoding/resources/026.html: Added.
            * fast/encoding/resources/027.html: Added.
            * fast/encoding/resources/028.html: Added.
            * fast/encoding/resources/029.html: Added.
            * fast/encoding/resources/030.html: Added.
            * fast/encoding/resources/031.html: Added.
            * fast/encoding/resources/032.html: Added.
            * fast/encoding/resources/033.html: Added.
            * fast/encoding/resources/034.html: Added.
            * fast/encoding/resources/035.html: Added.
            * fast/encoding/resources/036.html: Added.
            * fast/encoding/resources/037.html: Added.
            * fast/encoding/resources/038.html: Added.
            * fast/encoding/resources/039.html: Added.
            * fast/encoding/resources/040.html: Added.
            * fast/encoding/resources/041.html: Added.
            * fast/encoding/resources/042.html: Added.
            * fast/encoding/resources/043.html: Added.
            * fast/encoding/resources/044.html: Added.
            * fast/encoding/resources/045.html: Added.
            * fast/encoding/resources/046.html: Added.
            * fast/encoding/resources/047.html: Added.
            * fast/encoding/resources/048.html: Added.
            * fast/encoding/resources/049.html: Added.
            * fast/encoding/resources/050.html: Added.
            * fast/encoding/resources/051.html: Added.
            * fast/encoding/resources/052.html: Added.
            * fast/encoding/resources/053.html: Added.
            * fast/encoding/resources/054.html: Added.
            * fast/encoding/resources/055.html: Added.
            * fast/encoding/resources/056.html: Added.
            * fast/encoding/resources/057.html: Added.
            * fast/encoding/resources/058.html: Added.
            * fast/encoding/resources/059.html: Added.
            * fast/encoding/resources/060.html: Added.
            * fast/encoding/resources/061.html: Added.
            * fast/encoding/resources/062.html: Added.
            * fast/encoding/resources/063.html: Added.
            * fast/encoding/resources/064.html: Added.
            * fast/encoding/resources/065.html: Added.
            * fast/encoding/resources/066.html: Added.
            * fast/encoding/resources/067.html: Added.
            * fast/encoding/resources/068.html: Added.
            * fast/encoding/resources/069.html: Added.
            * fast/encoding/resources/070.html: Added.
            * fast/encoding/resources/071.html: Added.
            * fast/encoding/resources/072.html: Added.
            * fast/encoding/resources/073.html: Added.
            * fast/encoding/resources/074.html: Added.
            * fast/encoding/resources/075.html: Added.
            * fast/encoding/resources/076.html: Added.
            * fast/encoding/resources/077.html: Added.
            * fast/encoding/resources/078.html: Added.
            * fast/encoding/resources/079.html: Added.
            * fast/encoding/resources/080.html: Added.
            * fast/encoding/resources/081.html: Added.
            * fast/encoding/resources/082.html: Added.
            * fast/encoding/resources/083.html: Added.
            * fast/encoding/resources/084.html: Added.
            * fast/encoding/resources/085.html: Added.
            * fast/encoding/resources/086.html: Added.
            * fast/encoding/resources/087.html: Added.
            * fast/encoding/resources/088.html: Added.
            * fast/encoding/resources/089.html: Added.
            * fast/encoding/resources/090.html: Added.
            * fast/encoding/resources/091.html: Added.
            * fast/encoding/resources/092.html: Added.
            * fast/encoding/resources/093.html: Added.
            * fast/encoding/resources/094.html: Added.
            * fast/encoding/resources/095.html: Added.
            * fast/encoding/resources/096.html: Added.
            * fast/encoding/resources/097.html: Added.
            * fast/encoding/resources/098.html: Added.
            * fast/encoding/resources/099.html: Added.
            * fast/encoding/resources/100.html: Added.
            * fast/encoding/resources/101.html: Added.
            * fast/encoding/resources/102.html: Added.
            * fast/encoding/resources/103.html: Added.
            * fast/encoding/resources/104.html: Added.
            * fast/encoding/resources/105.html: Added.
            * fast/encoding/resources/106.html: Added.
            * fast/encoding/resources/107.html: Added.
            * fast/encoding/resources/108.html: Added.
            * fast/encoding/resources/109.html: Added.
            * fast/encoding/resources/110.html: Added.
            * fast/encoding/resources/111.html: Added.
            * fast/encoding/resources/112.html: Added.
            * fast/encoding/resources/113.html: Added.
            * fast/encoding/resources/114.html: Added.
            * fast/encoding/resources/115.html: Added.
            * fast/encoding/resources/116.html: Added.
            * fast/encoding/resources/117.html: Added.
            * fast/encoding/resources/118.html: Added.
            * fast/encoding/resources/119.html: Added.
            * fast/encoding/resources/120.html: Added.
            * fast/encoding/resources/121.html: Added.
            * fast/encoding/resources/122.html: Added.
            * fast/encoding/resources/123.html: Added.
            * fast/encoding/tag-name-digit-expected.txt: Added.
            * fast/encoding/tag-name-digit.html: Added.
            * fast/text/international/bidi-innertext.html:
            * http/tests/misc/charset-sniffer-end-sniffing-expected.txt: Added.
            * http/tests/misc/charset-sniffer-end-sniffing.html: Added.
            * http/tests/misc/resources/charset-sniffer-end-sniffing.php: Added.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@73756 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    b4be94a9