Module: wine Branch: master Commit: 86475d5bab78e243750bd40b22b375a60c5d229f URL: https://source.winehq.org/git/wine.git/?a=commit;h=86475d5bab78e243750bd40b2...
Author: Jacek Caban jacek@codeweavers.com Date: Thu Feb 8 20:53:41 2018 +0100
mshtml: Added IE9+ mode support to HTMLFormElement::elements property.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 f73970f..2957ad1 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; }