From: Jacek Caban jacek@codeweavers.com
--- dlls/mshtml/htmlnode.c | 16 ++++++++-------- dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/documentmode.js | 2 ++ 3 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c index b20fe678091..7fad8f22357 100644 --- a/dlls/mshtml/htmlnode.c +++ b/dlls/mshtml/htmlnode.c @@ -378,17 +378,17 @@ static const dispex_static_data_vtbl_t HTMLDOMChildrenCollection_dispex_vtbl = { .invoke = HTMLDOMChildrenCollection_invoke, };
-static const tid_t HTMLDOMChildrenCollection_iface_tids[] = { +static const tid_t NodeList_iface_tids[] = { IHTMLDOMChildrenCollection_tid, 0 };
-static dispex_static_data_t HTMLDOMChildrenCollection_dispex = { - "NodeList", - &HTMLDOMChildrenCollection_dispex_vtbl, - DispDOMChildrenCollection_tid, - HTMLDOMChildrenCollection_iface_tids, - HTMLDOMNode_init_dispex_info +dispex_static_data_t NodeList_dispex = { + .id = PROT_NodeList, + .vtbl = &HTMLDOMChildrenCollection_dispex_vtbl, + .disp_tid = DispDOMChildrenCollection_tid, + .iface_tids = NodeList_iface_tids, + .init_info = HTMLDOMNode_init_dispex_info, };
HRESULT create_child_collection(nsIDOMNodeList *nslist, DispatchEx *owner, IHTMLDOMChildrenCollection **ret) @@ -403,7 +403,7 @@ HRESULT create_child_collection(nsIDOMNodeList *nslist, DispatchEx *owner, IHTML nsIDOMNodeList_AddRef(nslist); collection->nslist = nslist;
- init_dispatch_with_owner(&collection->dispex, &HTMLDOMChildrenCollection_dispex, owner); + init_dispatch_with_owner(&collection->dispex, &NodeList_dispex, owner);
*ret = &collection->IHTMLDOMChildrenCollection_iface; return S_OK; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index f13059eba95..e022874ff42 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -467,6 +467,7 @@ typedef struct { X(NamedNodeMap) \ X(Navigator) \ X(Node) \ + X(NodeList) \ X(PageTransitionEvent) \ X(Performance) \ X(PerformanceNavigation) \ diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index fd26cddb403..90a3f6c642c 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -3309,4 +3309,6 @@ sync_test("prototypes", function() { check(NamedNodeMap.prototype, Object.prototype, "node map prototype"); check(document.getElementsByTagName("body"), HTMLCollection.prototype, "elem collection"); check(HTMLCollection.prototype, Object.prototype, "elem collection prototype"); + check(document.body.childNodes, NodeList.prototype, "node list"); + check(NodeList.prototype, Object.prototype, "node list prototype"); });