diff --git a/parser/html/nsHtml5TreeOperation.cpp b/parser/html/nsHtml5TreeOperation.cpp index 892b93af06be..0bb0661f9c7e 100644 --- a/parser/html/nsHtml5TreeOperation.cpp +++ b/parser/html/nsHtml5TreeOperation.cpp @@ -39,9 +39,14 @@ * ***** END LICENSE BLOCK ***** */ #include "nsHtml5TreeOperation.h" +#include "nsContentUtils.h" #include "nsNodeUtils.h" #include "nsAttrName.h" #include "nsHtml5TreeBuilder.h" +#include "nsIDOMMutationEvent.h" +#include "mozAutoDocUpdate.h" +#include "nsBindingManager.h" +#include "nsXBLBinding.h" nsHtml5TreeOperation::nsHtml5TreeOperation() : mOpCode(eTreeOpAppend) @@ -117,6 +122,8 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeBuilder* aBuilder) } case eTreeOpAddAttributes: { // mNode holds the new attributes and mParent is the target + nsIDocument* document = mParent->GetCurrentDoc(); + PRUint32 len = mNode->GetAttrCount(); for (PRUint32 i = 0; i < len; ++i) { const nsAttrName* attrName = mNode->GetAttrNameAt(i); @@ -125,8 +132,38 @@ nsHtml5TreeOperation::Perform(nsHtml5TreeBuilder* aBuilder) if (!mParent->HasAttr(nsuri, localName)) { nsAutoString value; mNode->GetAttr(nsuri, localName, value); - mParent->SetAttr(nsuri, localName, attrName->GetPrefix(), value, PR_TRUE); - // XXX should not fire mutation event here + + // the manual notification code is based on nsGenericElement + + PRUint32 stateMask = PRUint32(mParent->IntrinsicState()); + nsNodeUtils::AttributeWillChange(mParent, + nsuri, + localName, + static_cast(nsIDOMMutationEvent::ADDITION)); + + mParent->SetAttr(nsuri, localName, attrName->GetPrefix(), value, PR_FALSE); + + if (document || mParent->HasFlag(NODE_FORCE_XBL_BINDINGS)) { + nsIDocument* ownerDoc = mParent->GetOwnerDoc(); + if (ownerDoc) { + nsRefPtr binding = + ownerDoc->BindingManager()->GetBinding(mParent); + if (binding) { + binding->AttributeChanged(localName, nsuri, PR_FALSE, PR_FALSE); + } + } + } + + stateMask = stateMask ^ PRUint32(mParent->IntrinsicState()); + if (stateMask && document) { + MOZ_AUTO_DOC_UPDATE(document, UPDATE_CONTENT_STATE, PR_TRUE); + document->ContentStatesChanged(mParent, nsnull, stateMask); + } + nsNodeUtils::AttributeChanged(mParent, + nsuri, + localName, + static_cast(nsIDOMMutationEvent::ADDITION), + stateMask); } } return rv; diff --git a/parser/htmlparser/tests/mochitest/Makefile.in b/parser/htmlparser/tests/mochitest/Makefile.in index dcddf627295e..22082b41ae71 100644 --- a/parser/htmlparser/tests/mochitest/Makefile.in +++ b/parser/htmlparser/tests/mochitest/Makefile.in @@ -46,11 +46,39 @@ include $(topsrcdir)/config/rules.mk _TEST_FILES = parser_datreader.js \ parser_web_testrunner.js \ + tokenizer_file_server.sjs \ + html5lib_tokenizer_entities.test \ + html5lib_tokenizer_numeric_entities.test \ + html5lib_tokenizer_unicode_chars.test \ + html5lib_tokenizer_test1.test \ + html5lib_tokenizer_test2.test \ + html5lib_tokenizer_test3.test \ + html5lib_tokenizer_test4.test \ + html5lib_tokenizer_test5.test \ html5lib_tree_dat1.txt \ html5lib_tree_dat2.txt \ html5lib_tree_dat3.txt \ + html5lib_tree_dat5.txt \ + html5lib_tree_dat6.txt \ + html5lib_tree_dat7.txt \ + html5lib_tree_dat8.txt \ + html5lib_tree_dat9.txt \ + html5lib_tree_dat10.txt \ + html5lib_tree_dat11.txt \ + html5lib_tree_dat12.txt \ + html5lib_tree_dat14.txt \ html5_tree_construction_exceptions.js \ + nu.validator.htmlparser.HtmlParser.nocache.js \ + test_html5_tokenizer_entities.html \ + test_html5_tokenizer_numeric_entities.html \ + test_html5_tokenizer_test1.html \ + test_html5_tokenizer_test2.html \ + test_html5_tokenizer_test3.html \ + test_html5_tokenizer_test4.html \ + test_html5_tokenizer_test5.html \ + test_html5_tokenizer_unicode_chars.html \ test_html5_tree_construction.html \ + test_html5_tree_construction_js_compare.html \ test_bug174351.html \ test_bug339350.xhtml \ test_bug358797.html \ diff --git a/parser/htmlparser/tests/mochitest/html5lib_tree_dat1.txt b/parser/htmlparser/tests/mochitest/html5lib_tree_dat1.txt index 2bdd7941d95d..fa33910128a4 100644 --- a/parser/htmlparser/tests/mochitest/html5lib_tree_dat1.txt +++ b/parser/htmlparser/tests/mochitest/html5lib_tree_dat1.txt @@ -1,7 +1,7 @@ #data Test #errors -5: missing document type declaration +Line: 1 Col: 4 Unexpected non-space characters. Expected DOCTYPE. #document | | @@ -11,7 +11,7 @@ Test #data

One

Two #errors -3: missing document type declaration +Line: 1 Col: 3 Unexpected start tag (p). Expected DOCTYPE. #document | | @@ -24,7 +24,7 @@ Test #data Line1
Line2
Line3
Line4 #errors -7: missing document type declaration +Line: 1 Col: 5 Unexpected non-space characters. Expected DOCTYPE. #document | | @@ -40,7 +40,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. #document | | @@ -49,7 +49,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. #document | | @@ -58,7 +58,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (body). Expected DOCTYPE. #document | | @@ -67,7 +67,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. #document | | @@ -76,7 +76,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. #document | | @@ -85,7 +85,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. #document | | @@ -94,7 +94,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. #document | | @@ -103,7 +103,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. #document | | @@ -112,8 +112,9 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration -19: unexpected body element end tag in head +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. +Line: 1 Col: 19 Unexpected end tag (body). +Line: 1 Col: 26 Unexpected end tag (html). #document | | @@ -122,7 +123,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. #document | | @@ -131,7 +132,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (html). Expected DOCTYPE. #document | | @@ -140,7 +141,7 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (body). Expected DOCTYPE. #document | | @@ -149,7 +150,8 @@ Line1
Line2
Line3
Line4 #data #errors -6: missing document type declaration +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 13 Unexpected end tag (html). Ignored. #document | | @@ -158,8 +160,7 @@ Line1
Line2
Line3
Line4 #data #errors -7: missing document type declaration -7: unexpected head element end tag +Line: 1 Col: 7 Unexpected end tag (head). Expected DOCTYPE. #document | | @@ -168,8 +169,8 @@ Line1
Line2
Line3
Line4 #data #errors -7: missing document type declaration -7: unexpected body element end tag +Line: 1 Col: 7 Unexpected end tag (body). Expected DOCTYPE. +Line: 1 Col: 7 Unexpected end tag (body) after the (implied) root element. #document | | @@ -178,7 +179,8 @@ Line1
Line2
Line3
Line4 #data #errors -7: missing document type declaration +Line: 1 Col: 7 Unexpected end tag (html). Expected DOCTYPE. +Line: 1 Col: 7 Unexpected end tag (html) after the (implied) root element. #document | | @@ -187,10 +189,10 @@ Line1
Line2
Line3
Line4 #data
#errors -3: missing document type declaration -14: required tr element start tag implied by unexpected td element start tag -25: unexpected td element end tag implied other end tags -26: mismatched body element end tag (premature end of file?) +Line: 1 Col: 3 Unexpected start tag (b). Expected DOCTYPE. +Line: 1 Col: 14 Unexpected table cell start tag (td) in the table body phase. +Line: 1 Col: 25 Got table cell end tag (td) while required end tags are missing. +Line: 1 Col: 25 Expected closing tag. Unexpected end of file. #document | | @@ -205,11 +207,11 @@ Line1
Line2
Line3
Line4 #data
X #errors -3: missing document type declaration -14: required tr element start tag implied by unexpected td element start tag -18: mismatched b element end tag (no matching start tag) -29: unexpected td element end tag implied other end tags -31: mismatched body element end tag (premature end of file?) +Line: 1 Col: 3 Unexpected start tag (b). Expected DOCTYPE. +Line: 1 Col: 14 Unexpected table cell start tag (td) in the table body phase. +Line: 1 Col: 18 End tag (b) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 29 Got table cell end tag (td) while required end tags are missing. +Line: 1 Col: 30 Expected closing tag. Unexpected end of file. #document | | @@ -225,9 +227,9 @@ Line1
Line2
Line3
Line4 #data

Hello

World #errors -4: missing document type declaration -13: h2 element start tag implying h1 element end tag -19: mismatched body element end tag (premature end of file?) +4: Start tag seen without seeing a doctype first. Expected “”. +13: Heading cannot be a child of another heading. +18: End of file seen and there were open elements. #document | | @@ -240,10 +242,10 @@ Line1
Line2
Line3
Line4 #data

XYZ

#errors -3: missing document type declaration -10: a element start tag implying a element end tag -10: mismatched a element end tag (misnested tags) -24: mismatched a element end tag (no matching start tag) +Line: 1 Col: 3 Unexpected start tag (a). Expected DOCTYPE. +Line: 1 Col: 10 Unexpected start tag (a) implies end tag (a). +Line: 1 Col: 10 End tag (a) violates step 1, paragraph 3 of the adoption agency algorithm. +Line: 1 Col: 24 End tag (a) violates step 1, paragraph 1 of the adoption agency algorithm. #document | | @@ -259,8 +261,8 @@ Line1
Line2
Line3
Line4 #data
#errors -3: missing document type declaration -15: mismatched b element end tag (no matching start tag) +Line: 1 Col: 3 Unexpected start tag (b). Expected DOCTYPE. +Line: 1 Col: 15 End tag (b) violates step 1, paragraph 1 of the adoption agency algorithm. #document | | @@ -271,12 +273,12 @@ Line1
Line2
Line3
Line4 #data

X #errors -3: missing document type declaration -11: mismatched p element end tag -24: mismatched p element end tag -28: mismatched b element end tag (no matching start tag) -34: mismatched div element end tag -36: mismatched body element end tag (premature end of file?) +Line: 1 Col: 3 Unexpected start tag (p). Expected DOCTYPE. +Line: 1 Col: 11 Unexpected end tag (p). Ignored. +Line: 1 Col: 24 Unexpected end tag (p). Ignored. +Line: 1 Col: 28 End tag (b) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 34 End tag (div) seen too early. Expected other end tag. +Line: 1 Col: 35 Expected closing tag. Unexpected end of file. #document | | @@ -286,13 +288,14 @@ Line1
Line2
Line3
Line4 |
| | +|

| "X" #data <p>

#errors -8: missing document type declaration -28: unexpected div element end tag in head +Line: 1 Col: 8 Unexpected start tag (script). Expected DOCTYPE. +Line: 1 Col: 28 Unexpected end tag (div). Ignored. #document | | @@ -307,56 +310,63 @@ Line1
Line2
Line3
Line4 #data

-- #errors -13: unexpected character after two '-' characters while parsing comment -18: missing document type declaration +Line: 1 Col: 5 Incorrect comment. +Line: 1 Col: 10 Unexpected start tag (div). Expected DOCTYPE. +Line: 1 Col: 17 Incorrect comment. +Line: 1 Col: 17 Expected closing tag. Unexpected end of file. #document -| +| | | | +|
+| "--" +| #data


#errors -3: missing document type declaration -11: mismatched p element end tag +Line: 1 Col: 3 Unexpected start tag (p). Expected DOCTYPE. +Line: 1 Col: 11 Unexpected end tag (p). Ignored. #document | | | |

|


+|

#data E +AC -| "DE" +| "A" +| +| "C" +| #errors -10: missing document type declaration +Line: 1 Col: 10 Unexpected start tag (textarea). Expected DOCTYPE. #document | | @@ -1327,8 +1336,8 @@ Line1
Line2
Line3
Line4 #data

#errors -3: missing document type declaration -10: 'image' is not a valid element name, it should be 'img' +Line: 1 Col: 3 Unexpected start tag (p). Expected DOCTYPE. +Line: 1 Col: 10 Unexpected start tag (image). Treated as img. #document | | @@ -1339,18 +1348,17 @@ Line1
Line2
Line3
Line4 #data

#errors -3: missing document type declaration -13: unexpected node in table context -13: a element start tag implying a element end tag -13: unexpected node in table context -13: mismatched a element end tag (misnested tags across tag) -21: mismatched table element end tag -27: a element start tag implying a element end tag -27: mismatched a element end tag (out-of-order end tags) -32: mismatched p element end tag -35: a element start tag implying a element end tag -35: mismatched a element end tag (out-of-order end tags) -36: mismatched body element end tag (premature end of file?) +Line: 1 Col: 3 Unexpected start tag (a). Expected DOCTYPE. +Line: 1 Col: 13 Unexpected start tag (a) in table context caused voodoo mode. +Line: 1 Col: 13 Unexpected start tag (a) implies end tag (a). +Line: 1 Col: 13 End tag (a) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 21 Unexpected end tag (table). Expected end tag (a). +Line: 1 Col: 27 Unexpected start tag (a) implies end tag (a). +Line: 1 Col: 27 End tag (a) violates step 1, paragraph 2 of the adoption agency algorithm. +Line: 1 Col: 32 Unexpected end tag (p). Ignored. +Line: 1 Col: 35 Unexpected start tag (a) implies end tag (a). +Line: 1 Col: 35 End tag (a) violates step 1, paragraph 2 of the adoption agency algorithm. +Line: 1 Col: 35 Expected closing tag. Unexpected end of file. #document | | @@ -1366,8 +1374,8 @@ Line1
Line2
Line3
Line4 #data

#errors -6: missing document type declaration -10: unexpected p element end tag in head +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 10 Unexpected end tag (p). Ignored. #document | | @@ -1378,24 +1386,22 @@ Line1
Line2
Line3
Line4 #data

#errors -6: missing document type declaration -19: unexpected node at end of document -19: unexpected node after body element end tag -19: meta element start tag out of place +Line: 1 Col: 6 Unexpected start tag (head). Expected DOCTYPE. +Line: 1 Col: 19 Unexpected start tag (meta). #document | | -| | +| |

#data

#errors -3: missing document type declaration -14: required tr element start tag implied by unexpected td element start tag -25: unexpected td element end tag implied other end tags -26: mismatched body element end tag (premature end of file?) +Line: 1 Col: 3 Unexpected start tag (b). Expected DOCTYPE. +Line: 1 Col: 14 Unexpected table cell start tag (td) in the table body phase. +Line: 1 Col: 25 Got table cell end tag (td) while required end tags are missing. +Line: 1 Col: 25 Expected closing tag. Unexpected end of file. #document | | @@ -1410,11 +1416,11 @@ Line1
Line2
Line3
Line4 #data
#errors -3: missing document type declaration -14: required tr element start tag implied by unexpected td element start tag -18: mismatched b element end tag (no matching start tag) -29: unexpected td element end tag implied other end tags -30: mismatched body element end tag (premature end of file?) +Line: 1 Col: 3 Unexpected start tag (b). Expected DOCTYPE. +Line: 1 Col: 14 Unexpected table cell start tag (td) in the table body phase. +Line: 1 Col: 18 End tag (b) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 29 Got table cell end tag (td) while required end tags are missing. +Line: 1 Col: 29 Expected closing tag. Unexpected end of file. #document | | @@ -1429,9 +1435,9 @@ Line1
Line2
Line3
Line4 #data

#errors -4: missing document type declaration -8: h2 element start tag implying h1 element end tag -9: mismatched body element end tag (premature end of file?) +4: Start tag seen without seeing a doctype first. Expected “”. +8: Heading cannot be a child of another heading. +8: End of file seen and there were open elements. #document | | @@ -1442,10 +1448,10 @@ Line1
Line2
Line3
Line4 #data

#errors -3: missing document type declaration -9: a element start tag implying a element end tag -9: mismatched a element end tag (misnested tags) -21: mismatched a element end tag (no matching start tag) +Line: 1 Col: 3 Unexpected start tag (a). Expected DOCTYPE. +Line: 1 Col: 9 Unexpected start tag (a) implies end tag (a). +Line: 1 Col: 9 End tag (a) violates step 1, paragraph 3 of the adoption agency algorithm. +Line: 1 Col: 21 End tag (a) violates step 1, paragraph 1 of the adoption agency algorithm. #document | | @@ -1458,8 +1464,8 @@ Line1
Line2
Line3
Line4 #data
#errors -3: missing document type declaration -15: mismatched b element end tag (no matching start tag) +Line: 1 Col: 3 Unexpected start tag (b). Expected DOCTYPE. +Line: 1 Col: 15 End tag (b) violates step 1, paragraph 1 of the adoption agency algorithm. #document | | @@ -1470,12 +1476,12 @@ Line1
Line2
Line3
Line4 #data

#errors -3: missing document type declaration -11: mismatched p element end tag -24: mismatched p element end tag -28: mismatched b element end tag (no matching start tag) -34: mismatched div element end tag -35: mismatched body element end tag (premature end of file?) +Line: 1 Col: 3 Unexpected start tag (p). Expected DOCTYPE. +Line: 1 Col: 11 Unexpected end tag (p). Ignored. +Line: 1 Col: 24 Unexpected end tag (p). Ignored. +Line: 1 Col: 28 End tag (b) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 34 End tag (div) seen too early. Expected other end tag. +Line: 1 Col: 34 Expected closing tag. Unexpected end of file. #document | | @@ -1485,12 +1491,13 @@ Line1
Line2
Line3
Line4 |
| | +|

#data

#errors -8: missing document type declaration -23: unexpected div element end tag in head +Line: 1 Col: 8 Unexpected start tag (script). Expected DOCTYPE. +Line: 1 Col: 23 Unexpected end tag (div). Ignored. #document | | @@ -1503,35 +1510,37 @@ Line1
Line2
Line3
Line4 #data


#errors -3: missing document type declaration -11: mismatched p element end tag +Line: 1 Col: 3 Unexpected start tag (p). Expected DOCTYPE. +Line: 1 Col: 11 Unexpected end tag (p). Ignored. #document | | | |

|


+|

#data

#errors -9: missing document type declaration -9: unexpected strong element end tag -13: unexpected b element end tag -18: unexpected em element end tag -22: unexpected i element end tag -26: unexpected u element end tag -35: unexpected strike element end tag -39: unexpected s element end tag -47: unexpected blink element end tag -52: unexpected tt element end tag -58: unexpected pre element end tag -64: unexpected big element end tag -72: unexpected small element end tag -79: unexpected font element end tag -88: unexpected select element end tag -93: unexpected h1 element end tag -98: unexpected h2 element end tag -103: unexpected h3 element end tag -108: unexpected h4 element end tag -113: unexpected h5 element end tag -118: unexpected h6 element end tag -125: unexpected body element end tag -130: unexpected br element end tag -134: unexpected a element end tag -140: unexpected img element end tag -148: unexpected title element end tag -155: unexpected span element end tag -163: unexpected style element end tag -172: unexpected script element end tag -180: unexpected table element end tag -185: unexpected th element end tag -190: unexpected td element end tag -195: unexpected tr element end tag -203: unexpected frame element end tag -210: unexpected area element end tag -217: unexpected link element end tag -225: unexpected param element end tag -230: unexpected hr element end tag -238: unexpected input element end tag -244: unexpected col element end tag -251: unexpected base element end tag -258: unexpected meta element end tag -269: unexpected basefont element end tag -279: unexpected bgsound element end tag -287: unexpected embed element end tag -296: unexpected spacer element end tag -300: unexpected p element end tag -305: unexpected dd element end tag -310: unexpected dt element end tag -320: unexpected caption element end tag -331: unexpected colgroup element end tag -339: unexpected tbody element end tag -347: unexpected tfoot element end tag -355: unexpected thead element end tag -365: unexpected address element end tag -378: unexpected blockquote element end tag -387: unexpected center element end tag -393: unexpected dir element end tag -399: unexpected div element end tag -404: unexpected dl element end tag -415: unexpected fieldset element end tag -425: unexpected listing element end tag -432: unexpected menu element end tag -437: unexpected ol element end tag -442: unexpected ul element end tag -447: unexpected li element end tag -454: unexpected nobr element end tag -460: unexpected wbr element end tag -467: unexpected form element end tag -476: unexpected button element end tag -486: unexpected marquee element end tag -495: unexpected object element end tag -513: unexpected node at end of document -513: unexpected node after body element end tag -513: unexpected frameset element end tag -520: unexpected head element end tag -529: mismatched special end tag iframe -537: unexpected image end tag (that element has no end tag, ever) -547: unexpected isindex end tag (that element has no end tag, ever) -557: mismatched special end tag noembed -568: mismatched special end tag noframes -579: mismatched special end tag noscript -590: unexpected optgroup element end tag -599: unexpected option element end tag -611: unexpected plaintext element end tag -622: mismatched special end tag textarea +Line: 1 Col: 9 Unexpected end tag (strong). Expected DOCTYPE. +Line: 1 Col: 9 Unexpected end tag (strong) after the (implied) root element. +Line: 1 Col: 13 Unexpected end tag (b) after the (implied) root element. +Line: 1 Col: 18 Unexpected end tag (em) after the (implied) root element. +Line: 1 Col: 22 Unexpected end tag (i) after the (implied) root element. +Line: 1 Col: 26 Unexpected end tag (u) after the (implied) root element. +Line: 1 Col: 35 Unexpected end tag (strike) after the (implied) root element. +Line: 1 Col: 39 Unexpected end tag (s) after the (implied) root element. +Line: 1 Col: 47 Unexpected end tag (blink) after the (implied) root element. +Line: 1 Col: 52 Unexpected end tag (tt) after the (implied) root element. +Line: 1 Col: 58 Unexpected end tag (pre) after the (implied) root element. +Line: 1 Col: 64 Unexpected end tag (big) after the (implied) root element. +Line: 1 Col: 72 Unexpected end tag (small) after the (implied) root element. +Line: 1 Col: 79 Unexpected end tag (font) after the (implied) root element. +Line: 1 Col: 88 Unexpected end tag (select) after the (implied) root element. +Line: 1 Col: 93 Unexpected end tag (h1) after the (implied) root element. +Line: 1 Col: 98 Unexpected end tag (h2) after the (implied) root element. +Line: 1 Col: 103 Unexpected end tag (h3) after the (implied) root element. +Line: 1 Col: 108 Unexpected end tag (h4) after the (implied) root element. +Line: 1 Col: 113 Unexpected end tag (h5) after the (implied) root element. +Line: 1 Col: 118 Unexpected end tag (h6) after the (implied) root element. +Line: 1 Col: 125 Unexpected end tag (body) after the (implied) root element. +Line: 1 Col: 130 Unexpected end tag (br). Treated as br element. +Line: 1 Col: 134 End tag (a) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 140 This element (img) has no end tag. +Line: 1 Col: 148 Unexpected end tag (title). Ignored. +Line: 1 Col: 155 Unexpected end tag (span). Ignored. +Line: 1 Col: 163 Unexpected end tag (style). Ignored. +Line: 1 Col: 172 Unexpected end tag (script). Ignored. +Line: 1 Col: 180 Unexpected end tag (table). Ignored. +Line: 1 Col: 185 Unexpected end tag (th). Ignored. +Line: 1 Col: 190 Unexpected end tag (td). Ignored. +Line: 1 Col: 195 Unexpected end tag (tr). Ignored. +Line: 1 Col: 203 This element (frame) has no end tag. +Line: 1 Col: 210 This element (area) has no end tag. +Line: 1 Col: 217 Unexpected end tag (link). Ignored. +Line: 1 Col: 225 This element (param) has no end tag. +Line: 1 Col: 230 This element (hr) has no end tag. +Line: 1 Col: 238 This element (input) has no end tag. +Line: 1 Col: 244 Unexpected end tag (col). Ignored. +Line: 1 Col: 251 Unexpected end tag (base). Ignored. +Line: 1 Col: 258 Unexpected end tag (meta). Ignored. +Line: 1 Col: 269 This element (basefont) has no end tag. +Line: 1 Col: 279 This element (bgsound) has no end tag. +Line: 1 Col: 287 This element (embed) has no end tag. +Line: 1 Col: 296 This element (spacer) has no end tag. +Line: 1 Col: 300 Unexpected end tag (p). Ignored. +Line: 1 Col: 305 End tag (dd) seen too early. Expected other end tag. +Line: 1 Col: 310 End tag (dt) seen too early. Expected other end tag. +Line: 1 Col: 320 Unexpected end tag (caption). Ignored. +Line: 1 Col: 331 Unexpected end tag (colgroup). Ignored. +Line: 1 Col: 339 Unexpected end tag (tbody). Ignored. +Line: 1 Col: 347 Unexpected end tag (tfoot). Ignored. +Line: 1 Col: 355 Unexpected end tag (thead). Ignored. +Line: 1 Col: 365 End tag (address) seen too early. Expected other end tag. +Line: 1 Col: 378 End tag (blockquote) seen too early. Expected other end tag. +Line: 1 Col: 387 End tag (center) seen too early. Expected other end tag. +Line: 1 Col: 393 Unexpected end tag (dir). Ignored. +Line: 1 Col: 399 End tag (div) seen too early. Expected other end tag. +Line: 1 Col: 404 End tag (dl) seen too early. Expected other end tag. +Line: 1 Col: 415 End tag (fieldset) seen too early. Expected other end tag. +Line: 1 Col: 425 End tag (listing) seen too early. Expected other end tag. +Line: 1 Col: 432 End tag (menu) seen too early. Expected other end tag. +Line: 1 Col: 437 End tag (ol) seen too early. Expected other end tag. +Line: 1 Col: 442 End tag (ul) seen too early. Expected other end tag. +Line: 1 Col: 447 End tag (li) seen too early. Expected other end tag. +Line: 1 Col: 454 End tag (nobr) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 460 This element (wbr) has no end tag. +Line: 1 Col: 476 End tag (button) seen too early. Expected other end tag. +Line: 1 Col: 486 End tag (marquee) seen too early. Expected other end tag. +Line: 1 Col: 495 End tag (object) seen too early. Expected other end tag. +Line: 1 Col: 513 Unexpected end tag (html). Ignored. +Line: 1 Col: 513 Unexpected end tag (frameset). Ignored. +Line: 1 Col: 520 Unexpected end tag (head). Ignored. +Line: 1 Col: 529 Unexpected end tag (iframe). Ignored. +Line: 1 Col: 537 This element (image) has no end tag. +Line: 1 Col: 547 This element (isindex) has no end tag. +Line: 1 Col: 557 Unexpected end tag (noembed). Ignored. +Line: 1 Col: 568 Unexpected end tag (noframes). Ignored. +Line: 1 Col: 579 Unexpected end tag (noscript). Ignored. +Line: 1 Col: 590 Unexpected end tag (optgroup). Ignored. +Line: 1 Col: 599 Unexpected end tag (option). Ignored. +Line: 1 Col: 611 Unexpected end tag (plaintext). Ignored. +Line: 1 Col: 622 Unexpected end tag (textarea). Ignored. #document | | | +|
+|

#data

#errors -7: missing document type declaration -20: unexpected node in table context -20: mismatched strong element end tag (no matching start tag) -24: unexpected node in table context -24: mismatched b element end tag (no matching start tag) -29: unexpected node in table context -29: mismatched em element end tag (no matching start tag) -33: unexpected node in table context -33: mismatched i element end tag (no matching start tag) -37: unexpected node in table context -37: mismatched u element end tag (no matching start tag) -46: unexpected node in table context -46: mismatched strike element end tag (no matching start tag) -50: unexpected node in table context -50: mismatched s element end tag (no matching start tag) -58: unexpected node in table context -58: unexpected blink element end tag -63: unexpected node in table context -63: mismatched tt element end tag (no matching start tag) -69: unexpected node in table context -69: mismatched pre element end tag -75: unexpected node in table context -75: mismatched big element end tag (no matching start tag) -83: unexpected node in table context -83: mismatched small element end tag (no matching start tag) -90: unexpected node in table context -90: mismatched font element end tag (no matching start tag) -99: unexpected node in table context -99: mismatched special end tag select -104: unexpected node in table context -104: mismatched h1 element end tag -109: unexpected node in table context -109: mismatched h2 element end tag -114: unexpected node in table context -114: mismatched h3 element end tag -119: unexpected node in table context -119: mismatched h4 element end tag -124: unexpected node in table context -124: mismatched h5 element end tag -129: unexpected node in table context -129: mismatched h6 element end tag -136: unexpected body element end tag -141: unexpected node in table context -141: unexpected br end tag (that element has no end tag, ever) -145: unexpected node in table context -145: mismatched a element end tag (no matching start tag) -151: unexpected node in table context -151: unexpected img end tag (that element has no end tag, ever) -159: unexpected node in table context -159: unexpected title element end tag -166: unexpected node in table context -166: unexpected span element end tag -174: unexpected node in table context -174: unexpected style element end tag -183: unexpected node in table context -183: unexpected script element end tag -196: unexpected th element end tag -201: unexpected td element end tag -206: unexpected tr element end tag -214: unexpected frame element end tag -221: unexpected area end tag (that element has no end tag, ever) -228: unexpected link element end tag -236: unexpected param end tag (that element has no end tag, ever) -241: unexpected hr end tag (that element has no end tag, ever) -249: unexpected input end tag (that element has no end tag, ever) -255: unexpected col element end tag -262: unexpected base element end tag -269: unexpected meta element end tag -280: unexpected basefont end tag (that element has no end tag, ever) -290: unexpected bgsound end tag (that element has no end tag, ever) -298: unexpected embed end tag (that element has no end tag, ever) -307: unexpected spacer end tag (that element has no end tag, ever) -311: mismatched p element end tag -316: mismatched dd element end tag -321: mismatched dt element end tag -331: unexpected caption element end tag -342: unexpected colgroup element end tag -350: unexpected tbody element end tag -358: unexpected tfoot element end tag -366: unexpected thead element end tag -376: mismatched address element end tag -389: mismatched blockquote element end tag -398: mismatched center element end tag -404: mismatched dir element end tag -410: mismatched div element end tag -415: mismatched dl element end tag -426: mismatched fieldset element end tag -436: mismatched listing element end tag -443: mismatched menu element end tag -448: mismatched ol element end tag -453: mismatched ul element end tag -458: mismatched li element end tag -465: mismatched nobr element end tag (no matching start tag) -471: unexpected wbr end tag (that element has no end tag, ever) -478: mismatched form element end tag -524: unexpected node at end of document -524: unexpected node after body element end tag -524: unexpected frameset element end tag -531: unexpected head element end tag -540: mismatched special end tag iframe -548: unexpected image end tag (that element has no end tag, ever) -558: unexpected isindex end tag (that element has no end tag, ever) -568: mismatched special end tag noembed -579: mismatched special end tag noframes -590: mismatched special end tag noscript -601: unexpected optgroup element end tag -610: unexpected option element end tag -622: unexpected plaintext element end tag -633: mismatched special end tag textarea +Line: 1 Col: 7 Unexpected start tag (table). Expected DOCTYPE. +Line: 1 Col: 20 Unexpected end tag (strong) in table context caused voodoo mode. +Line: 1 Col: 20 End tag (strong) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 24 Unexpected end tag (b) in table context caused voodoo mode. +Line: 1 Col: 24 End tag (b) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 29 Unexpected end tag (em) in table context caused voodoo mode. +Line: 1 Col: 29 End tag (em) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 33 Unexpected end tag (i) in table context caused voodoo mode. +Line: 1 Col: 33 End tag (i) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 37 Unexpected end tag (u) in table context caused voodoo mode. +Line: 1 Col: 37 End tag (u) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 46 Unexpected end tag (strike) in table context caused voodoo mode. +Line: 1 Col: 46 End tag (strike) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 50 Unexpected end tag (s) in table context caused voodoo mode. +Line: 1 Col: 50 End tag (s) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 58 Unexpected end tag (blink) in table context caused voodoo mode. +Line: 1 Col: 58 Unexpected end tag (blink). Ignored. +Line: 1 Col: 63 Unexpected end tag (tt) in table context caused voodoo mode. +Line: 1 Col: 63 End tag (tt) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 69 Unexpected end tag (pre) in table context caused voodoo mode. +Line: 1 Col: 69 End tag (pre) seen too early. Expected other end tag. +Line: 1 Col: 75 Unexpected end tag (big) in table context caused voodoo mode. +Line: 1 Col: 75 End tag (big) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 83 Unexpected end tag (small) in table context caused voodoo mode. +Line: 1 Col: 83 End tag (small) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 90 Unexpected end tag (font) in table context caused voodoo mode. +Line: 1 Col: 90 End tag (font) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 99 Unexpected end tag (select) in table context caused voodoo mode. +Line: 1 Col: 99 Unexpected end tag (select). Ignored. +Line: 1 Col: 104 Unexpected end tag (h1) in table context caused voodoo mode. +Line: 1 Col: 104 End tag (h1) seen too early. Expected other end tag. +Line: 1 Col: 109 Unexpected end tag (h2) in table context caused voodoo mode. +Line: 1 Col: 109 End tag (h2) seen too early. Expected other end tag. +Line: 1 Col: 114 Unexpected end tag (h3) in table context caused voodoo mode. +Line: 1 Col: 114 End tag (h3) seen too early. Expected other end tag. +Line: 1 Col: 119 Unexpected end tag (h4) in table context caused voodoo mode. +Line: 1 Col: 119 End tag (h4) seen too early. Expected other end tag. +Line: 1 Col: 124 Unexpected end tag (h5) in table context caused voodoo mode. +Line: 1 Col: 124 End tag (h5) seen too early. Expected other end tag. +Line: 1 Col: 129 Unexpected end tag (h6) in table context caused voodoo mode. +Line: 1 Col: 129 End tag (h6) seen too early. Expected other end tag. +Line: 1 Col: 136 Unexpected end tag (body) in the table row phase. Ignored. +Line: 1 Col: 141 Unexpected end tag (br) in table context caused voodoo mode. +Line: 1 Col: 141 Unexpected end tag (br). Treated as br element. +Line: 1 Col: 145 Unexpected end tag (a) in table context caused voodoo mode. +Line: 1 Col: 145 End tag (a) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 151 Unexpected end tag (img) in table context caused voodoo mode. +Line: 1 Col: 151 This element (img) has no end tag. +Line: 1 Col: 159 Unexpected end tag (title) in table context caused voodoo mode. +Line: 1 Col: 159 Unexpected end tag (title). Ignored. +Line: 1 Col: 166 Unexpected end tag (span) in table context caused voodoo mode. +Line: 1 Col: 166 Unexpected end tag (span). Ignored. +Line: 1 Col: 174 Unexpected end tag (style) in table context caused voodoo mode. +Line: 1 Col: 174 Unexpected end tag (style). Ignored. +Line: 1 Col: 183 Unexpected end tag (script) in table context caused voodoo mode. +Line: 1 Col: 183 Unexpected end tag (script). Ignored. +Line: 1 Col: 196 Unexpected end tag (th). Ignored. +Line: 1 Col: 201 Unexpected end tag (td). Ignored. +Line: 1 Col: 206 Unexpected end tag (tr). Ignored. +Line: 1 Col: 214 This element (frame) has no end tag. +Line: 1 Col: 221 This element (area) has no end tag. +Line: 1 Col: 228 Unexpected end tag (link). Ignored. +Line: 1 Col: 236 This element (param) has no end tag. +Line: 1 Col: 241 This element (hr) has no end tag. +Line: 1 Col: 249 This element (input) has no end tag. +Line: 1 Col: 255 Unexpected end tag (col). Ignored. +Line: 1 Col: 262 Unexpected end tag (base). Ignored. +Line: 1 Col: 269 Unexpected end tag (meta). Ignored. +Line: 1 Col: 280 This element (basefont) has no end tag. +Line: 1 Col: 290 This element (bgsound) has no end tag. +Line: 1 Col: 298 This element (embed) has no end tag. +Line: 1 Col: 307 This element (spacer) has no end tag. +Line: 1 Col: 311 Unexpected end tag (p). Ignored. +Line: 1 Col: 316 End tag (dd) seen too early. Expected other end tag. +Line: 1 Col: 321 End tag (dt) seen too early. Expected other end tag. +Line: 1 Col: 331 Unexpected end tag (caption). Ignored. +Line: 1 Col: 342 Unexpected end tag (colgroup). Ignored. +Line: 1 Col: 350 Unexpected end tag (tbody). Ignored. +Line: 1 Col: 358 Unexpected end tag (tfoot). Ignored. +Line: 1 Col: 366 Unexpected end tag (thead). Ignored. +Line: 1 Col: 376 End tag (address) seen too early. Expected other end tag. +Line: 1 Col: 389 End tag (blockquote) seen too early. Expected other end tag. +Line: 1 Col: 398 End tag (center) seen too early. Expected other end tag. +Line: 1 Col: 404 Unexpected end tag (dir). Ignored. +Line: 1 Col: 410 End tag (div) seen too early. Expected other end tag. +Line: 1 Col: 415 End tag (dl) seen too early. Expected other end tag. +Line: 1 Col: 426 End tag (fieldset) seen too early. Expected other end tag. +Line: 1 Col: 436 End tag (listing) seen too early. Expected other end tag. +Line: 1 Col: 443 End tag (menu) seen too early. Expected other end tag. +Line: 1 Col: 448 End tag (ol) seen too early. Expected other end tag. +Line: 1 Col: 453 End tag (ul) seen too early. Expected other end tag. +Line: 1 Col: 458 End tag (li) seen too early. Expected other end tag. +Line: 1 Col: 465 End tag (nobr) violates step 1, paragraph 1 of the adoption agency algorithm. +Line: 1 Col: 471 This element (wbr) has no end tag. +Line: 1 Col: 487 End tag (button) seen too early. Expected other end tag. +Line: 1 Col: 497 End tag (marquee) seen too early. Expected other end tag. +Line: 1 Col: 506 End tag (object) seen too early. Expected other end tag. +Line: 1 Col: 524 Unexpected end tag (html). Ignored. +Line: 1 Col: 524 Unexpected end tag (frameset). Ignored. +Line: 1 Col: 531 Unexpected end tag (head). Ignored. +Line: 1 Col: 540 Unexpected end tag (iframe). Ignored. +Line: 1 Col: 548 This element (image) has no end tag. +Line: 1 Col: 558 This element (isindex) has no end tag. +Line: 1 Col: 568 Unexpected end tag (noembed). Ignored. +Line: 1 Col: 579 Unexpected end tag (noframes). Ignored. +Line: 1 Col: 590 Unexpected end tag (noscript). Ignored. +Line: 1 Col: 601 Unexpected end tag (optgroup). Ignored. +Line: 1 Col: 610 Unexpected end tag (option). Ignored. +Line: 1 Col: 622 Unexpected end tag (plaintext). Ignored. +Line: 1 Col: 633 Unexpected end tag (textarea). Ignored. #document | | | +|
| | | +|

+ +#data + +#errors +Line: 1 Col: 10 Unexpected start tag (frameset). Expected DOCTYPE. +Line: 1 Col: 10 Expected closing tag. Unexpected end of file. +#document +| +| +| diff --git a/parser/htmlparser/tests/mochitest/html5lib_tree_dat2.txt b/parser/htmlparser/tests/mochitest/html5lib_tree_dat2.txt index b1b5bc7d1da7..60b7a178cd05 100644 --- a/parser/htmlparser/tests/mochitest/html5lib_tree_dat2.txt +++ b/parser/htmlparser/tests/mochitest/html5lib_tree_dat2.txt @@ -1,8 +1,8 @@ #data -Test +Test #errors #document -| +| | | | @@ -11,9 +11,8 @@ #data +#errors +#document +| +| +| +| +| +#errors +#document +| +| +| +| +| +#errors +#document +| +| +| +| +|