diff options
author | bptato <nincsnevem662@gmail.com> | 2024-04-09 00:40:09 +0200 |
---|---|---|
committer | bptato <nincsnevem662@gmail.com> | 2024-04-09 00:42:23 +0200 |
commit | 2f70cd0161c583640329b286d7d26ddc57c4d31b (patch) | |
tree | c4e58b3017e61e4a70fedd13d44d8219200acee4 | |
parent | 1c007dedc4bd52f62c92f5b14285902aef945263 (diff) | |
download | chawan-2f70cd0161c583640329b286d7d26ddc57c4d31b.tar.gz |
tags: remove duplicate definitionURL
it causes problems with the naive implementation of TagType enum extension (as we do it in Chawan); better to just convert it dynamically in the very very very rare case that it's needed.
-rw-r--r-- | chame/htmlparser.nim | 12 | ||||
-rw-r--r-- | chame/tags.nim | 3 |
2 files changed, 7 insertions, 8 deletions
diff --git a/chame/htmlparser.nim b/chame/htmlparser.nim index 566427ce..24060a04 100644 --- a/chame/htmlparser.nim +++ b/chame/htmlparser.nim @@ -392,7 +392,7 @@ proc hasElementInScopeWithXML[Handle, Atom](parser: HTML5Parser[Handle, Atom], if tagType in elements: return false of Namespace.SVG: - const elements = {TAG_FOREIGNOBJECT, TAG_DESC, TAG_TITLE} + const elements = {TAG_FOREIGN_OBJECT, TAG_DESC, TAG_TITLE} if tagType in elements: return false else: discard @@ -415,7 +415,7 @@ proc hasElementInScopeWithXML[Handle, Atom](parser: HTML5Parser[Handle, Atom], if tagType in elements: return false of Namespace.SVG: - const elements = {TAG_FOREIGNOBJECT, TAG_DESC, TAG_TITLE} + const elements = {TAG_FOREIGN_OBJECT, TAG_DESC, TAG_TITLE} if tagType in elements: return false else: discard @@ -575,8 +575,8 @@ proc adjustMathMLAttributes[Handle, Atom](parser: var HTML5Parser[Handle, Atom], xmlAttrs.add((p[].prefix, p[].namespace, p[].localName, v)) deleted.add(k) var v: string - if htmlAttrs.pop(parser.tagTypeToAtom(TAG_DEFINITION_URL_LOWER), v): - htmlAttrs[parser.tagTypeToAtom(TAG_DEFINITION_URL_FIXED)] = v + if htmlAttrs.pop(parser.tagTypeToAtom(TAG_DEFINITION_URL), v): + htmlAttrs[parser.strToAtom("definitionURL")] = v for k in deleted: htmlAttrs.del(k) @@ -871,7 +871,7 @@ proc isHTMLIntegrationPoint[Handle, Atom](parser: HTML5Parser[Handle, Atom], return p[].equalsIgnoreCase("text/html") or p[].equalsIgnoreCase("application/xhtml+xml") elif namespace == Namespace.SVG: - return tagType in {TAG_FOREIGNOBJECT, TAG_DESC, TAG_TITLE} + return tagType in {TAG_FOREIGN_OBJECT, TAG_DESC, TAG_TITLE} return false const AsciiWhitespace = {' ', '\n', '\r', '\t', '\f'} @@ -996,7 +996,7 @@ proc isSpecialElement[Handle, Atom](parser: HTML5Parser[Handle, Atom], } return tagType in elements of Namespace.SVG: - return tagType in {TAG_FOREIGNOBJECT, TAG_DESC, TAG_TITLE} + return tagType in {TAG_FOREIGN_OBJECT, TAG_DESC, TAG_TITLE} else: return false diff --git a/chame/tags.nim b/chame/tags.nim index 36d7da06..09df69f0 100644 --- a/chame/tags.nim +++ b/chame/tags.nim @@ -144,8 +144,7 @@ type TAG_CHARSET = "charset" TAG_HTTP_EQUIV = "http-equiv" TAG_TYP = "type" - TAG_DEFINITION_URL_LOWER = "definitionurl" - TAG_DEFINITION_URL_FIXED = "definitionURL" + TAG_DEFINITION_URL = "definitionurl" TAG_ANNOTATION_XML = "annotation-xml" TAG_FOREIGN_OBJECT = "foreignObject" TAG_DESC = "desc" |