From 80f33889eabadd9d9d3423e23bbf1d86c297d3c7 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 23 Jul 2008 13:16:39 +0200 Subject: [PATCH] mshtml: Added IHTMLDocument2::put_title implementation. Based on patch by Ivan Sinitsin. --- dlls/mshtml/htmldoc.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index b77d69e4378..40099d382d6 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -381,8 +381,33 @@ static HRESULT WINAPI HTMLDocument_get_anchors(IHTMLDocument2 *iface, IHTMLEleme static HRESULT WINAPI HTMLDocument_put_title(IHTMLDocument2 *iface, BSTR v) { HTMLDocument *This = HTMLDOC_THIS(iface); - FIXME("(%p)->(%s)\n", This, debugstr_w(v)); - return E_NOTIMPL; + nsIDOMHTMLDocument *nshtmldoc; + nsIDOMDocument *nsdoc; + nsAString nsstr; + nsresult nsres; + + TRACE("(%p)->(%s)\n", This, debugstr_w(v)); + + if(!This->nscontainer) + return E_FAIL; + + nsres = nsIWebNavigation_GetDocument(This->nscontainer->navigation, &nsdoc); + if(NS_FAILED(nsres) || !nsdoc) { + ERR("GetDocument failed: %08x\n", nsres); + return E_FAIL; + } + + nsIDOMDocument_QueryInterface(nsdoc, &IID_nsIDOMHTMLDocument, (void**)&nshtmldoc); + nsIDOMDocument_Release(nsdoc); + + nsAString_Init(&nsstr, v); + nsres = nsIDOMHTMLDocument_SetTitle(nshtmldoc, &nsstr); + nsIDOMHTMLDocument_Release(nshtmldoc); + nsAString_Finish(&nsstr); + if(NS_FAILED(nsres)) + ERR("SetTitle failed: %08x\n", nsres); + + return S_OK; } static HRESULT WINAPI HTMLDocument_get_title(IHTMLDocument2 *iface, BSTR *p)