From 86475d5bab78e243750bd40b22b375a60c5d229f Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Thu, 8 Feb 2018 20:53:41 +0100 Subject: [PATCH] mshtml: Added IE9+ mode support to HTMLFormElement::elements property. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- dlls/mshtml/htmlform.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/htmlform.c b/dlls/mshtml/htmlform.c index f73970fff37..2957ad1749f 100644 --- a/dlls/mshtml/htmlform.c +++ b/dlls/mshtml/htmlform.c @@ -275,11 +275,24 @@ static HRESULT WINAPI HTMLFormElement_get_method(IHTMLFormElement *iface, BSTR * static HRESULT WINAPI HTMLFormElement_get_elements(IHTMLFormElement *iface, IDispatch **p) { HTMLFormElement *This = impl_from_IHTMLFormElement(iface); + nsIDOMHTMLCollection *elements; + nsresult nsres; TRACE("(%p)->(%p)\n", This, p); - *p = (IDispatch*)&This->IHTMLFormElement_iface; - IDispatch_AddRef(*p); + if(dispex_compat_mode(&This->element.node.event_target.dispex) < COMPAT_MODE_IE9) { + IDispatch_AddRef(*p = (IDispatch*)&This->IHTMLFormElement_iface); + return S_OK; + } + + nsres = nsIDOMHTMLFormElement_GetElements(This->nsform, &elements); + if(NS_FAILED(nsres)) { + ERR("GetElements failed: %08x\n", nsres); + return E_FAIL; + } + + *p = (IDispatch*)create_collection_from_htmlcol(This->element.node.doc, elements); + nsIDOMHTMLCollection_Release(elements); return S_OK; }