Changeset 62370 in webkit
- Timestamp:
- Jul 2, 2010 1:29:43 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r62369 r62370 1 2010-07-02 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 Implement AfterBodyMode for HTML5 tree builder 6 https://bugs.webkit.org/show_bug.cgi?id=41500 7 8 Update expected results to show test progression. Also, add some test 9 cases to cover how attributes on </br> tags are handled. 10 11 * html5lib/resources/webkit01.dat: 12 * html5lib/runner-expected-html5.txt: 13 * html5lib/runner-expected.txt: 14 * html5lib/webkit-resumer-expected.txt: 15 1 16 2010-07-02 Adam Barth <abarth@webkit.org> 2 17 -
trunk/LayoutTests/html5lib/resources/webkit01.dat
r62166 r62370 229 229 | foo="bar" 230 230 | yo="mama" 231 232 #data 233 <body></br foo="bar"></body> 234 #errors 235 #document 236 | <html> 237 | <head> 238 | <body> 239 | <br> 240 241 #data 242 <bdy><br foo="bar"></body> 243 #errors 244 #document 245 | <html> 246 | <head> 247 | <body> 248 | <bdy> 249 | <br> 250 | foo="bar" 251 252 #data 253 <body></body></br foo="bar"> 254 #errors 255 #document 256 | <html> 257 | <head> 258 | <body> 259 | <br> 260 261 #data 262 <bdy></body><br foo="bar"> 263 #errors 264 #document 265 | <html> 266 | <head> 267 | <body> 268 | <bdy> 269 | <br> 270 | foo="bar" -
trunk/LayoutTests/html5lib/runner-expected-html5.txt
r62369 r62370 47 47 89 48 48 90 49 9250 49 93 51 50 94 … … 368 367 | "do" 369 368 | "you" 370 | 369 | <!-- do --> 371 370 Expected: 372 371 | <!DOCTYPE html> … … 1157 1156 | <a> 1158 1157 1159 Test 92 of 113 in resources/tests1.dat failed. Input:1160 <head></html><meta><p>1161 Got:1162 | <html>1163 | <head>1164 | <body>1165 Expected:1166 | <html>1167 | <head>1168 | <body>1169 | <meta>1170 | <p>1171 1172 1158 Test 93 of 113 in resources/tests1.dat failed. Input: 1173 1159 <b><table><td><i></table> … … 1507 1493 | <head> 1508 1494 | <body> 1495 | <br> 1509 1496 Expected: 1510 1497 | <html> … … 1552 1539 48 1553 1540 49 1554 511555 1541 53 1556 1542 54 1557 551558 1543 58 1559 1544 … … 1741 1726 | <head> 1742 1727 | <body> 1728 | "X" 1729 | "X" 1743 1730 | "X" 1744 1731 Expected: … … 1936 1923 | <body> 1937 1924 1938 Test 51 of 59 in resources/tests2.dat failed. Input:1939 <!DOCTYPE html>X</body><html id="x">1940 Got:1941 | <!DOCTYPE html>1942 | <html>1943 | <head>1944 | <body>1945 | "X"1946 Expected:1947 | <!DOCTYPE html>1948 | <html>1949 | id="x"1950 | <head>1951 | <body>1952 | "X"1953 1954 1925 Test 53 of 59 in resources/tests2.dat failed. Input: 1955 1926 <!DOCTYPE html>X</html>X … … 1960 1931 | <body> 1961 1932 | "X" 1933 | "X" 1934 | "X" 1962 1935 Expected: 1963 1936 | <!DOCTYPE html> … … 1975 1948 | <body> 1976 1949 | "X" 1950 | " " 1951 | " " 1977 1952 Expected: 1978 1953 | <!DOCTYPE html> … … 1981 1956 | <body> 1982 1957 | "X " 1983 1984 Test 55 of 59 in resources/tests2.dat failed. Input:1985 <!DOCTYPE html>X</html><p>X1986 Got:1987 | <!DOCTYPE html>1988 | <html>1989 | <head>1990 | <body>1991 | "X"1992 Expected:1993 | <!DOCTYPE html>1994 | <html>1995 | <head>1996 | <body>1997 | "X"1998 | <p>1999 | "X"2000 1958 2001 1959 Test 58 of 59 in resources/tests2.dat failed. Input: … … 3803 3761 | <head> 3804 3762 | <body> 3763 | <math> 3764 | <mi> 3765 | "foo" 3766 | <mi> 3767 | "bar" 3768 | <p> 3769 | "baz" 3805 3770 Expected: 3806 3771 | <!DOCTYPE html> … … 4291 4256 | <head> 4292 4257 | <body> 4258 | <svg> 4259 | <g> 4260 | "foo" 4261 | <g> 4262 | "bar" 4263 | <p> 4264 | "baz" 4293 4265 Expected: 4294 4266 | <!DOCTYPE html> … … 5440 5412 1 5441 5413 2 5442 45443 5414 5 5444 65445 5415 7 5446 5416 8 … … 5516 5486 | "X" 5517 5487 5518 Test 4 of 14 in resources/tests15.dat failed. Input:5519 <!doctype html></body><meta>5520 Got:5521 | <!DOCTYPE html>5522 | <html>5523 | <head>5524 | <body>5525 Expected:5526 | <!DOCTYPE html>5527 | <html>5528 | <head>5529 | <body>5530 | <meta>5531 5532 5488 Test 5 of 14 in resources/tests15.dat failed. Input: 5533 5489 <html></html><!-- foo --> … … 5542 5498 | <body> 5543 5499 | <!-- foo --> 5544 5545 Test 6 of 14 in resources/tests15.dat failed. Input:5546 <!doctype html></body><title>X</title>5547 Got:5548 | <!DOCTYPE html>5549 | <html>5550 | <head>5551 | <body>5552 Expected:5553 | <!DOCTYPE html>5554 | <html>5555 | <head>5556 | <body>5557 | <title>5558 | "X"5559 5500 5560 5501 Test 7 of 14 in resources/tests15.dat failed. Input: … … 5751 5692 17 5752 5693 5753 Test 17 of 19in resources/webkit01.dat failed. Input:5694 Test 17 of 23 in resources/webkit01.dat failed. Input: 5754 5695 <A>test< /A> 5755 5696 Got: -
trunk/LayoutTests/html5lib/runner-expected.txt
r62237 r62370 4688 4688 resources/webkit01.dat: 4689 4689 17 4690 4691 Test 17 of 19 in resources/webkit01.dat failed. Input: 4690 20 4691 22 4692 4693 Test 17 of 23 in resources/webkit01.dat failed. Input: 4692 4694 <A>test< /A> 4693 4695 Got: … … 4704 4706 | <a> 4705 4707 | "test< /A>" 4708 4709 Test 20 of 23 in resources/webkit01.dat failed. Input: 4710 <body></br foo="bar"></body> 4711 Got: 4712 | <html> 4713 | <head> 4714 | <body> 4715 | <br> 4716 | foo="bar" 4717 Expected: 4718 | <html> 4719 | <head> 4720 | <body> 4721 | <br> 4722 4723 Test 22 of 23 in resources/webkit01.dat failed. Input: 4724 <body></body></br foo="bar"> 4725 Got: 4726 | <html> 4727 | <head> 4728 | <body> 4729 | <br> 4730 | foo="bar" 4731 Expected: 4732 | <html> 4733 | <head> 4734 | <body> 4735 | <br> 4706 4736 resources/doctype01.dat: PASS 4707 4737 -
trunk/LayoutTests/html5lib/webkit-resumer-expected.txt
r62233 r62370 169 169 602.10 170 170 603.11 171 648.1 172 649.2 173 650.3 174 651.4 175 652.5 176 653.6 177 654.7 178 655.8 179 656.9 180 657.10 181 658.11 182 659.12 183 660.13 184 661.14 185 662.15 186 663.16 187 664.17 188 665.18 189 666.19 190 667.20 191 668.21 192 669.22 193 670.23 194 671.24 195 672.25 196 673.26 197 674.27 198 700.1 199 701.2 200 702.3 201 703.4 202 704.5 203 705.6 204 706.7 205 707.8 206 708.9 207 709.10 208 710.11 209 711.12 210 712.13 211 713.14 212 714.15 213 715.16 214 716.17 215 717.18 216 718.19 217 719.20 218 720.21 219 721.22 220 722.23 221 723.24 222 724.25 223 725.26 224 726.27 -
trunk/WebCore/ChangeLog
r62369 r62370 1 2010-07-02 Adam Barth <abarth@webkit.org> 2 3 Reviewed by Eric Seidel. 4 5 Implement AfterBodyMode for HTML5 tree builder 6 https://bugs.webkit.org/show_bug.cgi?id=41500 7 8 In the coarse of implementing this state, I ran into an ASSERT in how 9 </br> tags where handled, which I fixed. Technically, that could be a 10 separate patch, but it seemed harmless to include it here (with tests). 11 12 * html/HTMLTreeBuilder.cpp: 13 (WebCore::HTMLTreeBuilder::processStartTag): 14 (WebCore::HTMLTreeBuilder::processEndTag): 15 (WebCore::HTMLTreeBuilder::processComment): 16 (WebCore::HTMLTreeBuilder::processCharacter): 17 (WebCore::HTMLTreeBuilder::processEndOfFile): 18 (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement): 19 * html/HTMLTreeBuilder.h: 20 1 21 2010-07-02 Adam Barth <abarth@webkit.org> 2 22 -
trunk/WebCore/html/HTMLTreeBuilder.cpp
r62369 r62370 565 565 insertElement(token); 566 566 break; 567 case AfterBodyMode: 568 ASSERT(insertionMode() == AfterBodyMode); 569 if (token.name() == htmlTag) { 570 insertHTMLStartTagInBody(token); 571 return; 572 } 573 m_insertionMode = InBodyMode; 574 processStartTag(token); 575 break; 567 576 case InHeadNoscriptMode: 568 577 ASSERT(insertionMode() == InHeadNoscriptMode); … … 750 759 parseError(token); 751 760 reconstructTheActiveFormattingElements(); 752 insertSelfClosingElement(token); 761 // Notice that we lose the attributes. 762 AtomicHTMLToken startBr(HTMLToken::StartTag, token.name()); 763 insertSelfClosingElement(startBr); 753 764 m_framesetOk = false; 754 765 return; … … 761 772 m_openElements.popUntil(token.name()); 762 773 m_openElements.pop(); 774 break; 775 case AfterBodyMode: 776 ASSERT(insertionMode() == AfterBodyMode); 777 if (token.name() == htmlTag) { 778 if (m_isParsingFragment) { 779 parseError(token); 780 return; 781 } 782 m_insertionMode = AfterAfterBodyMode; 783 return; 784 } 785 m_insertionMode = InBodyMode; 786 processEndTag(token); 763 787 break; 764 788 case InHeadNoscriptMode: … … 802 826 return; 803 827 } 828 if (m_insertionMode == AfterBodyMode) { 829 insertCommentOnHTMLHtmlElement(token); 830 return; 831 } 804 832 insertComment(token); 805 833 } … … 839 867 insertTextNode(token); 840 868 break; 869 case AfterBodyMode: 870 ASSERT(insertionMode() == AfterBodyMode); 871 m_insertionMode = InBodyMode; 872 processCharacter(token); 841 873 case TextMode: 842 874 notImplemented(); … … 880 912 notImplemented(); 881 913 break; 914 case AfterBodyMode: 915 ASSERT(insertionMode() == AfterBodyMode); 916 notImplemented(); 917 break; 882 918 case InHeadNoscriptMode: 883 919 ASSERT(insertionMode() == InHeadNoscriptMode); … … 989 1025 ASSERT(token.type() == HTMLToken::Comment); 990 1026 attach(m_document, Comment::create(m_document, token.comment())); 1027 } 1028 1029 void HTMLTreeBuilder::insertCommentOnHTMLHtmlElement(AtomicHTMLToken& token) 1030 { 1031 ASSERT(token.type() == HTMLToken::Comment); 1032 attach(m_openElements.htmlElement(), Comment::create(m_document, token.comment())); 991 1033 } 992 1034 -
trunk/WebCore/html/HTMLTreeBuilder.h
r62235 r62370 143 143 void insertComment(AtomicHTMLToken&); 144 144 void insertCommentOnDocument(AtomicHTMLToken&); 145 void insertCommentOnHTMLHtmlElement(AtomicHTMLToken&); 145 146 void insertHTMLHtmlElement(AtomicHTMLToken&); 146 147 void insertHTMLHeadElement(AtomicHTMLToken&);
Note: See TracChangeset
for help on using the changeset viewer.