Jacek Caban : mshtml: Added IHTMLDocument::get_charset implementation.
Alexandre Julliard
julliard at winehq.org
Mon Sep 24 16:04:27 CDT 2012
Module: wine
Branch: master
Commit: efb08f261d88061f0ccc7b959f7986d4d06044c2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=efb08f261d88061f0ccc7b959f7986d4d06044c2
Author: Jacek Caban <jacek at 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);
More information about the wine-cvs
mailing list