about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2024-04-09 00:40:09 +0200
committerbptato <nincsnevem662@gmail.com>2024-04-09 00:42:23 +0200
commit2f70cd0161c583640329b286d7d26ddc57c4d31b (patch)
treec4e58b3017e61e4a70fedd13d44d8219200acee4
parent1c007dedc4bd52f62c92f5b14285902aef945263 (diff)
downloadchawan-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.nim12
-rw-r--r--chame/tags.nim3
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"