diff options
author | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-09-04 15:27:40 +0200 |
---|---|---|
committer | wolfbeast <mcwerewolf@wolfbeast.com> | 2019-09-04 15:27:40 +0200 |
commit | 0ce08b418d84a57bae22a0aa395fecb7412ed931 (patch) | |
tree | 7d46a9b019e57aee76879290695ce2173a8891af /parser/html/javasrc/TreeBuilder.java | |
parent | cc60a093cb65745602dc1f5eab9f5e328ddaad15 (diff) | |
download | UXP-0ce08b418d84a57bae22a0aa395fecb7412ed931.tar UXP-0ce08b418d84a57bae22a0aa395fecb7412ed931.tar.gz UXP-0ce08b418d84a57bae22a0aa395fecb7412ed931.tar.lz UXP-0ce08b418d84a57bae22a0aa395fecb7412ed931.tar.xz UXP-0ce08b418d84a57bae22a0aa395fecb7412ed931.zip |
Fix an issue with the html5 tokenizer and tree builder.
Diffstat (limited to 'parser/html/javasrc/TreeBuilder.java')
-rw-r--r-- | parser/html/javasrc/TreeBuilder.java | 22 |
1 files changed, 8 insertions, 14 deletions
diff --git a/parser/html/javasrc/TreeBuilder.java b/parser/html/javasrc/TreeBuilder.java index 5e83d1847..58074086d 100644 --- a/parser/html/javasrc/TreeBuilder.java +++ b/parser/html/javasrc/TreeBuilder.java @@ -1,6 +1,7 @@ /* * Copyright (c) 2007 Henri Sivonen * Copyright (c) 2007-2015 Mozilla Foundation + * Copyright (c) 2018-2019 Moonchild Productions * Portions of comments Copyright 2004-2008 Apple Computer, Inc., Mozilla * Foundation, and Opera Software ASA. * @@ -640,8 +641,7 @@ public abstract class TreeBuilder<T> implements TokenHandler, ); currentPtr++; stack[currentPtr] = node; - tokenizer.setStateAndEndTagExpectation(Tokenizer.DATA, - contextName); + tokenizer.setState(Tokenizer.DATA); // The frameset-ok flag is set even though <frameset> never // ends up being allowed as HTML frameset in the fragment case. mode = FRAMESET_OK; @@ -671,8 +671,7 @@ public abstract class TreeBuilder<T> implements TokenHandler, ); currentPtr++; stack[currentPtr] = node; - tokenizer.setStateAndEndTagExpectation(Tokenizer.DATA, - contextName); + tokenizer.setState(Tokenizer.DATA); // The frameset-ok flag is set even though <frameset> never // ends up being allowed as HTML frameset in the fragment case. mode = FRAMESET_OK; @@ -691,23 +690,18 @@ public abstract class TreeBuilder<T> implements TokenHandler, resetTheInsertionMode(); formPointer = getFormPointerForContext(contextNode); if ("title" == contextName || "textarea" == contextName) { - tokenizer.setStateAndEndTagExpectation(Tokenizer.RCDATA, - contextName); + tokenizer.setState(Tokenizer.RCDATA); } else if ("style" == contextName || "xmp" == contextName || "iframe" == contextName || "noembed" == contextName || "noframes" == contextName || (scriptingEnabled && "noscript" == contextName)) { - tokenizer.setStateAndEndTagExpectation(Tokenizer.RAWTEXT, - contextName); + tokenizer.setState(Tokenizer.RAWTEXT); } else if ("plaintext" == contextName) { - tokenizer.setStateAndEndTagExpectation(Tokenizer.PLAINTEXT, - contextName); + tokenizer.setState(Tokenizer.PLAINTEXT); } else if ("script" == contextName) { - tokenizer.setStateAndEndTagExpectation( - Tokenizer.SCRIPT_DATA, contextName); + tokenizer.setState(Tokenizer.SCRIPT_DATA); } else { - tokenizer.setStateAndEndTagExpectation(Tokenizer.DATA, - contextName); + tokenizer.setState(Tokenizer.DATA); } } contextName = null; |