From: Owen Rudge orudge@codeweavers.com
--- dlls/mshtml/htmldoc.c | 35 +++++++++++++++++++++++++++++++---- dlls/mshtml/tests/dom.js | 4 ++++ 2 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index c77a9b848e6..3c3c344309a 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -838,15 +838,42 @@ static HRESULT WINAPI HTMLDocument_get_plugins(IHTMLDocument2 *iface, IHTMLEleme static HRESULT WINAPI HTMLDocument_put_alinkColor(IHTMLDocument2 *iface, VARIANT v) { HTMLDocumentNode *This = impl_from_IHTMLDocument2(iface); - FIXME("(%p)->(%s)\n", This, debugstr_variant(&v)); - return E_NOTIMPL; + nsAString nsstr; + nsresult nsres; + HRESULT hres; + + TRACE("(%p)->(%s)\n", This, debugstr_variant(&v)); + + if(!This->html_document) { + FIXME("Not implemented for XML document\n"); + return E_NOTIMPL; + } + + hres = variant_to_nsstr(&v, FALSE, &nsstr); + if(FAILED(hres)) + return hres; + + nsres = nsIDOMHTMLDocument_SetAlinkColor(This->html_document, &nsstr); + nsAString_Finish(&nsstr); + return map_nsresult(nsres); }
static HRESULT WINAPI HTMLDocument_get_alinkColor(IHTMLDocument2 *iface, VARIANT *p) { HTMLDocumentNode *This = impl_from_IHTMLDocument2(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + nsAString nsstr; + nsresult nsres; + + TRACE("(%p)->(%p)\n", This, p); + + if(!This->html_document) { + FIXME("Not implemented for XML document\n"); + return E_NOTIMPL; + } + + nsAString_Init(&nsstr, NULL); + nsres = nsIDOMHTMLDocument_GetAlinkColor(This->html_document, &nsstr); + return return_nsstr_variant(nsres, &nsstr, NSSTR_COLOR, p); }
static HRESULT WINAPI HTMLDocument_put_bgColor(IHTMLDocument2 *iface, VARIANT v) diff --git a/dlls/mshtml/tests/dom.js b/dlls/mshtml/tests/dom.js index fd4c803893c..1ca70c5726d 100644 --- a/dlls/mshtml/tests/dom.js +++ b/dlls/mshtml/tests/dom.js @@ -399,6 +399,10 @@ sync_test("document_style_props", function() { ok(document.vLinkColor === undefined, "default vLinkColor = " + document.vLinkColor); document.vLinkColor = "#b8dead"; ok(document.vLinkColor === "#b8dead", "vLinkColor = " + document.vLinkColor); + + ok(document.aLinkColor === undefined, "default aLinkColor = " + document.aLinkColor); + document.aLinkColor = "#deb8ad"; + ok(document.aLinkColor === "#deb8ad", "aLinkColor = " + document.aLinkColor); });
sync_test("style_properties", function() {
This merge request was approved by Jacek Caban.