about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2025-02-21 22:05:26 +0100
committerbptato <nincsnevem662@gmail.com>2025-02-21 22:05:26 +0100
commit8a94274fd3b47c87536386159309d2dd777cda70 (patch)
treed292229cb74ce8bde7747749b2c0df0b6448e90c /src
parent0c2ebe07774065f51a2a34109e9a4216bb3b5b59 (diff)
downloadchawan-8a94274fd3b47c87536386159309d2dd777cda70.tar.gz
dom: add HTMLTimeElement, fix HTMLDetailsElement#open
Diffstat (limited to 'src')
-rw-r--r--src/html/catom.nim5
-rw-r--r--src/html/dom.nim5
2 files changed, 10 insertions, 0 deletions
diff --git a/src/html/catom.nim b/src/html/catom.nim
index 154f5be0..2c7c1200 100644
--- a/src/html/catom.nim
+++ b/src/html/catom.nim
@@ -51,6 +51,7 @@ macro makeStaticAtom =
       satCrossorigin = "crossorigin"
       satCustomevent = "customevent"
       satDOMContentLoaded = "DOMContentLoaded"
+      satDatetime = "datetime"
       satDefaultSelected = "defaultSelected"
       satDefer = "defer"
       satDirname = "dirname"
@@ -64,6 +65,7 @@ macro makeStaticAtom =
       satFormaction = "formaction"
       satFormenctype = "formenctype"
       satFormmethod = "formmethod"
+      satHDatetime = "dateTime"
       satHHttpEquiv = "httpEquiv"
       satHIsMap = "isMap"
       satHNoValidate = "noValidate"
@@ -102,6 +104,7 @@ macro makeStaticAtom =
       satOnclick = "onclick"
       satOninput = "oninput"
       satOnload = "onload"
+      satOpen = "open"
       satOrigin = "origin"
       satPassword = "password"
       satPathname = "pathname"
@@ -288,6 +291,8 @@ proc toStaticAtom*(s: string): StaticAtom =
     if factoryInit.atomMap[int(atom)] == s:
       # Found
       return atom.toStaticAtom()
+  when nimvm:
+    assert false
   atUnknown
 
 func toNamespace*(atom: CAtom): Namespace =
diff --git a/src/html/dom.nim b/src/html/dom.nim
index b1750d83..33718f49 100644
--- a/src/html/dom.nim
+++ b/src/html/dom.nim
@@ -459,6 +459,8 @@ type
 
   HTMLFrameElement = ref object of HTMLElement
 
+  HTMLTimeElement = ref object of HTMLElement
+
 jsDestructor(Navigator)
 jsDestructor(PluginArray)
 jsDestructor(MimeTypeArray)
@@ -504,6 +506,7 @@ jsDestructor(HTMLTableSectionElement)
 jsDestructor(HTMLMetaElement)
 jsDestructor(HTMLDetailsElement)
 jsDestructor(HTMLFrameElement)
+jsDestructor(HTMLTimeElement)
 jsDestructor(SVGElement)
 jsDestructor(SVGSVGElement)
 jsDestructor(Node)
@@ -1069,6 +1072,7 @@ const ReflectTable0 = [
   makes("http-equiv", "httpEquiv", TAG_META),
   makes("content", TAG_META),
   makes("media", TAG_META),
+  makes("datetime", "dateTime", TAG_TIME),
   makeul("cols", TAG_TEXTAREA, 20u32),
   makeul("rows", TAG_TEXTAREA, 1u32),
 # > For historical reasons, the default value of the size IDL attribute
@@ -6107,6 +6111,7 @@ proc registerElements(ctx: JSContext; nodeCID: JSClassID) =
   register(HTMLMetaElement, TAG_META)
   register(HTMLDetailsElement, TAG_DETAILS)
   register(HTMLFrameElement, TAG_FRAME)
+  register(HTMLTimeElement, TAG_TIME)
   let svgElementCID = ctx.registerType(SVGElement, parent = elementCID)
   ctx.registerType(SVGSVGElement, parent = svgElementCID)