Module: wine Branch: master Commit: efb08f261d88061f0ccc7b959f7986d4d06044c2 URL: http://source.winehq.org/git/wine.git/?a=commit;h=efb08f261d88061f0ccc7b959f...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Sep 24 14:10:50 2012 +0200
mshtml: Added IHTMLDocument::get_charset implementation.
---
dlls/mshtml/htmldoc.c | 15 +++++++++++++-- dlls/mshtml/tests/dom.c | 7 +++++++ 2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index ff917d9..322751a 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -729,8 +729,19 @@ static HRESULT WINAPI HTMLDocument_put_charset(IHTMLDocument2 *iface, BSTR v) static HRESULT WINAPI HTMLDocument_get_charset(IHTMLDocument2 *iface, BSTR *p) { HTMLDocument *This = impl_from_IHTMLDocument2(iface); - FIXME("(%p)->(%p)\n", This, p); - return E_NOTIMPL; + nsAString charset_str; + nsresult nsres; + + TRACE("(%p)->(%p)\n", This, p); + + if(!This->doc_node->nsdoc) { + FIXME("NULL nsdoc\n"); + return E_FAIL; + } + + nsAString_Init(&charset_str, NULL); + nsres = nsIDOMHTMLDocument_GetCharacterSet(This->doc_node->nsdoc, &charset_str); + return return_nsstr(nsres, &charset_str, p); }
static HRESULT WINAPI HTMLDocument_put_defaultCharset(IHTMLDocument2 *iface, BSTR v) diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c index 149aa5e..c988ac6 100644 --- a/dlls/mshtml/tests/dom.c +++ b/dlls/mshtml/tests/dom.c @@ -4745,6 +4745,7 @@ static void test_defaults(IHTMLDocument2 *doc) IHTMLElement2 *elem2; IHTMLElement *elem; IHTMLStyle *style; + BSTR str; LONG l; HRESULT hres; IHTMLElementCollection *collection; @@ -4819,6 +4820,12 @@ static void test_defaults(IHTMLDocument2 *doc) test_ifaces((IUnknown*)style, style_iids); IHTMLStyle_Release(style);
+ str = NULL; + hres = IHTMLDocument2_get_charset(doc, &str); + ok(hres == S_OK, "get_charset failed: %08x\n", hres); + ok(str && *str, "charset is empty"); /* FIXME: better tests */ + SysFreeString(str); + test_window(doc); test_compatmode(doc); test_location(doc);