-
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