Hi, Can I get some feedback on this please?
Best Regards Alistair Leslie-Hughes "Alistair Leslie-Hughes" <leslie_alist...@hotmail.com> wrote in message news:496d1ebf.2000...@hotmail.com... > Hi, > > Changelog: > mshtml: Implement IHTMLDocument5 createComment > > Best Regards > Alistair Leslie-Hughes > > > > -------------------------------------------------------------------------------- > From 98f08b3836336d2f129413beada591fb8f2f1094 Mon Sep 17 00:00:00 2001 > From: Alistair Leslie-Hughes <leslie_alist...@hotmail.com> > Date: Tue, 16 Dec 2008 21:49:25 +1100 > Subject: [PATCH] Implement IHTMLDocument5 createComment > To: wine-patches <wine-patc...@winehq.org> > > --- > dlls/mshtml/htmldoc5.c | 28 ++++++++++++++++++++++++++-- > dlls/mshtml/tests/dom.c | 11 +++++++++++ > 2 files changed, 37 insertions(+), 2 deletions(-) > > diff --git a/dlls/mshtml/htmldoc5.c b/dlls/mshtml/htmldoc5.c > index 34dc4e0..8fdfb68 100644 > --- a/dlls/mshtml/htmldoc5.c > +++ b/dlls/mshtml/htmldoc5.c > @@ -124,8 +124,32 @@ static HRESULT WINAPI > HTMLDocument5_createComment(IHTMLDocument5 *iface, BSTR bs > IHTMLDOMNode **ppRetNode) > { > HTMLDocument *This = HTMLDOC5_THIS(iface); > - FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrdata), ppRetNode); > - return E_NOTIMPL; > + nsIDOMComment *nsComment; > + HTMLDOMNode *node; > + nsAString str; > + nsresult nsres; > + > + TRACE("(%p)->(%s %p)\n", This, debugstr_w(bstrdata), ppRetNode); > + > + if(!This->nsdoc) { > + WARN("NULL nsdoc\n"); > + return E_UNEXPECTED; > + } > + > + nsAString_Init(&str, bstrdata); > + nsres = nsIDOMHTMLDocument_CreateComment(This->nsdoc, &str, > &nsComment); > + nsAString_Finish(&str); > + if(NS_FAILED(nsres)) { > + ERR("CreateTextNode failed: %08x\n", nsres); > + return E_FAIL; > + } > + > + node = &HTMLCommentElement_Create(This, > (nsIDOMNode*)nsComment)->node; > + nsIDOMElement_Release(nsComment); > + > + *ppRetNode = HTMLDOMNODE(node); > + IHTMLDOMNode_AddRef(HTMLDOMNODE(node)); > + return S_OK; > } > > static HRESULT WINAPI HTMLDocument5_put_onfocusin(IHTMLDocument5 *iface, > VARIANT v) > diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c > index 3decd4b..400f83b 100644 > --- a/dlls/mshtml/tests/dom.c > +++ b/dlls/mshtml/tests/dom.c > @@ -410,7 +410,9 @@ static IHTMLDocument2 *create_document(void) > { > IHTMLDocument2 *doc; > IHTMLDocument5 *doc5; > + IHTMLDOMNode *comment; > HRESULT hres; > + BSTR str; > > hres = CoCreateInstance(&CLSID_HTMLDocument, NULL, > CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER, > &IID_IHTMLDocument2, (void**)&doc); > @@ -423,6 +425,15 @@ static IHTMLDocument2 *create_document(void) > return NULL; > } > > + str = a2bstr("testing"); > + hres = IHTMLDocument5_createComment(doc5, str, &comment); > + SysFreeString(str); > + ok(hres == S_OK, "createComment failed: %08x\n", hres); > + if(hres == S_OK) > + { > + IHTMLDOMNode_Release(comment); > + } > + > IHTMLDocument5_Release(doc5); > return doc; > } > -- > 1.5.4.3 > > -------------------------------------------------------------------------------- > >