diff options
Diffstat (limited to 'src/html/htmlparser.nim')
-rw-r--r-- | src/html/htmlparser.nim | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/html/htmlparser.nim b/src/html/htmlparser.nim index f04a94f7..6fbc4ae7 100644 --- a/src/html/htmlparser.nim +++ b/src/html/htmlparser.nim @@ -472,6 +472,17 @@ proc genericRCDATAElementParsingAlgorithm(parser: var HTML5Parser, token: Token) parser.oldInsertionMode = parser.insertionMode parser.insertionMode = TEXT +proc pushElement(parser: var HTML5Parser, node: Element) = + parser.openElements.add(node) + parser.tokenizer.hasnonhtml = not node.inHTMLNamespace() + +proc popElement(parser: var HTML5Parser): Element = + result = parser.openElements.pop() + if result.tagType == TAG_TEXTAREA: + result.resetElement() + if parser.openElements.len == 0: + parser.tokenizer.hasnonhtml = false + # 13.2.6.3 proc generateImpliedEndTags(parser: var HTML5Parser) = const tags = {TAG_DD, TAG_DT, TAG_LI, TAG_OPTGROUP, TAG_OPTION, TAG_P, |