mshtml: Implement IHTMLDocument5 createComment (resend)

Alistair Leslie-Hughes leslie_alistair at hotmail.com
Thu Jan 15 17:28:59 CST 2009


Hi,

Can I get some feedback on this please?

Best Regards
  Alistair Leslie-Hughes


"Alistair Leslie-Hughes" <leslie_alistair at hotmail.com> wrote in message 
news:496D1EBF.2000800 at 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_alistair at hotmail.com>
> Date: Tue, 16 Dec 2008 21:49:25 +1100
> Subject: [PATCH] Implement IHTMLDocument5 createComment
> To: wine-patches <wine-patches at 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
>
>


--------------------------------------------------------------------------------


>
> 





More information about the wine-devel mailing list