Index: tools/dom/templates/html/impl/impl_Node.darttemplate |
diff --git a/tools/dom/templates/html/impl/impl_Node.darttemplate b/tools/dom/templates/html/impl/impl_Node.darttemplate |
index 166c34603b2628f9eec8965cb68625f3c97eb82e..4ebc8bea43dc2abadaa96fa490f7e147bd353cfa 100644 |
--- a/tools/dom/templates/html/impl/impl_Node.darttemplate |
+++ b/tools/dom/templates/html/impl/impl_Node.darttemplate |
@@ -276,5 +276,50 @@ $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS |
String value = nodeValue; // Fetch DOM Node property once. |
return value == null ? super.toString() : value; |
} |
+ |
+$if JSINTEROP |
+ List<Node> _childNodes; |
+ |
+ /** |
+ * A list of this node's children. |
+ * |
+ * ## Other resources |
+ * |
+ * * [Node.childNodes] |
+ * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes) |
+ * from MDN. |
+ */ |
+ @DomName('Node.childNodes') |
+ @DocsEditable() |
+ List<Node> get childNodes { |
+ if (_childNodes == null) { |
+ window.console.log(">>> construct childNodes collection/list"); |
+ List<Node> nodes = new List<Node>(); |
+ var jsCollection = _blink.BlinkNode.instance.childNodes_Getter_(unwrap_jso(this)); |
+ var collectionLen = jsCollection['length']; |
+ for (var i = 0; i < collectionLen; i++) { |
+ nodes.add(wrap_jso(jsCollection.callMethod('item', [i]))); |
+ } |
+ _childNodes = nodes; |
+ } |
+ return _childNodes; |
+ } |
+$else |
+ /** |
+ * A list of this node's children. |
+ * |
+ * ## Other resources |
+ * |
+ * * [Node.childNodes] |
+ * (https://developer.mozilla.org/en-US/docs/Web/API/Node.childNodes) |
+ * from MDN. |
+ */ |
+ @DomName('Node.childNodes') |
+ @DocsEditable() |
+ @Returns('NodeList') |
+ @Creates('NodeList') |
+ final List<Node> childNodes; |
+ |
+$endif |
$!MEMBERS |
} |