about summary refs log tree commit diff stats
path: root/src/css
diff options
context:
space:
mode:
authorbptato <nincsnevem662@gmail.com>2022-12-19 21:03:15 +0100
committerbptato <nincsnevem662@gmail.com>2022-12-19 21:03:15 +0100
commitea9df035a294bf1cfa715c140d0d22aa018e262e (patch)
tree9f1ec79e96003494666970c16f905c0b0c9608ff /src/css
parentdad0c1c04b6d4f67da407f69cec98221d178c194 (diff)
downloadchawan-ea9df035a294bf1cfa715c140d0d22aa018e262e.tar.gz
More DOM work
Diffstat (limited to 'src/css')
-rw-r--r--src/css/cascade.nim6
-rw-r--r--src/css/match.nim8
-rw-r--r--src/css/stylednode.nim6
3 files changed, 12 insertions, 8 deletions
diff --git a/src/css/cascade.nim b/src/css/cascade.nim
index eb9e87b8..4d594785 100644
--- a/src/css/cascade.nim
+++ b/src/css/cascade.nim
@@ -359,9 +359,9 @@ proc applyRules(document: Document, ua, user: CSSStylesheet, cachedTree: StyledN
       elif elem.tagType == TAG_IMG or elem.tagType == TAG_IMAGE:
         stack_append styledChild, PSEUDO_IMAGE
       else:
-        for i in countdown(elem.childNodes.high, 0):
-          if elem.childNodes[i].nodeType in {ELEMENT_NODE, TEXT_NODE}:
-            stack_append styledChild, elem.childNodes[i]
+        for i in countdown(elem.childList.high, 0):
+          if elem.childList[i].nodeType in {ELEMENT_NODE, TEXT_NODE}:
+            stack_append styledChild, elem.childList[i]
         if elem.tagType == TAG_INPUT:
           stack_append styledChild, PSEUDO_INPUT_TEXT
 
diff --git a/src/css/match.nim b/src/css/match.nim
index cc10c6b9..950061a1 100644
--- a/src/css/match.nim
+++ b/src/css/match.nim
@@ -51,7 +51,7 @@ func pseudoSelectorMatches[T: Element|StyledNode](elem: T, sel: Selector, felem:
     let parent = when selem is StyledNode: selem.parent
     else: selem.parentNode
     if parent == nil: return false
-    for child in parent.children:
+    for child in parent.elementList:
       when selem is StyledNode:
         if not child.isDomElement: continue
       if child == selem:
@@ -72,7 +72,7 @@ func pseudoSelectorMatches[T: Element|StyledNode](elem: T, sel: Selector, felem:
     let parent = when selem is StyledNode: selem.parent
     else: selem.parentNode
     if parent == nil: return false
-    for child in parent.children_rev:
+    for child in parent.elementList_rev:
       when selem is StyledNode:
         if not child.isDomElement: continue
       if child == selem:
@@ -138,7 +138,7 @@ func combinatorSelectorMatches[T: Element|StyledNode](elem: T, sel: Selector, fe
       let parent = when elem is StyledNode: elem.parent
       else: elem.parentElement
       if parent == nil: return false
-      for child in parent.children_rev:
+      for child in parent.elementList_rev:
         when elem is StyledNode:
           if not child.isDomElement: continue
         if found:
@@ -154,7 +154,7 @@ func combinatorSelectorMatches[T: Element|StyledNode](elem: T, sel: Selector, fe
       let parent = when selem is StyledNode: selem.parent
       else: elem.parentElement
       if parent == nil: return false
-      for child in parent.children_rev:
+      for child in parent.elementList_rev:
         when selem is StyledNode:
           if not child.isDomElement: continue
         if child == selem:
diff --git a/src/css/stylednode.nim b/src/css/stylednode.nim
index bc0d1b5c..2760e179 100644
--- a/src/css/stylednode.nim
+++ b/src/css/stylednode.nim
@@ -68,7 +68,11 @@ iterator branch*(node: StyledNode): StyledNode {.inline.} =
     yield node
     node = node.parent
 
-iterator children_rev*(node: StyledNode): StyledNode {.inline.} =
+iterator elementList*(node: StyledNode): StyledNode {.inline.} =
+  for child in node.children:
+    yield child
+
+iterator elementList_rev*(node: StyledNode): StyledNode {.inline.} =
   for i in countdown(node.children.high, 0):
     yield node.children[i]