Jacek Caban : mshtml: Added IHTMLMetaElement::get_content implementation.
Alexandre Julliard
julliard at winehq.org
Tue Apr 3 12:17:39 CDT 2012
Module: wine
Branch: master
Commit: 5bbcdf7b9e59beacc00d8f2c4804e31c6558d664
URL: http://source.winehq.org/git/wine.git/?a=commit;h=5bbcdf7b9e59beacc00d8f2c4804e31c6558d664
Author: Jacek Caban <jacek at codeweavers.com>
Date: Tue Apr 3 12:03:50 2012 +0200
mshtml: Added IHTMLMetaElement::get_content implementation.
---
dlls/mshtml/htmlmeta.c | 15 +++++++++++++--
dlls/mshtml/tests/dom.c | 17 +++++++++++++++++
2 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/dlls/mshtml/htmlmeta.c b/dlls/mshtml/htmlmeta.c
index ef222a9..d75b7f4 100644
--- a/dlls/mshtml/htmlmeta.c
+++ b/dlls/mshtml/htmlmeta.c
@@ -118,8 +118,19 @@ static HRESULT WINAPI HTMLMetaElement_put_content(IHTMLMetaElement *iface, BSTR
static HRESULT WINAPI HTMLMetaElement_get_content(IHTMLMetaElement *iface, BSTR *p)
{
HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface);
- FIXME("(%p)->(%p)\n", This, p);
- return E_NOTIMPL;
+ nsAString content_str, val_str;
+ nsresult nsres;
+
+ static const PRUnichar contentW[] = {'c','o','n','t','e','n','t',0};
+
+ TRACE("(%p)->(%p)\n", This, p);
+
+ nsAString_InitDepend(&content_str, contentW);
+ nsAString_Init(&val_str, NULL);
+ nsres = nsIDOMHTMLElement_GetAttribute(This->element.nselem, &content_str, &val_str);
+ nsAString_Finish(&content_str);
+
+ return return_nsstr(nsres, &val_str, p);
}
static HRESULT WINAPI HTMLMetaElement_put_name(IHTMLMetaElement *iface, BSTR v)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 09b6586..c3927d2 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -3259,6 +3259,22 @@ static void _test_meta_name(unsigned line, IUnknown *unk, const char *exname)
IHTMLMetaElement_Release(meta);
}
+#define test_meta_content(a,b) _test_meta_content(__LINE__,a,b)
+static void _test_meta_content(unsigned line, IUnknown *unk, const char *excontent)
+{
+ IHTMLMetaElement *meta;
+ BSTR content = NULL;
+ HRESULT hres;
+
+
+ meta = _get_metaelem_iface(line, unk);
+ hres = IHTMLMetaElement_get_content(meta, &content);
+ ok_(__FILE__,line)(hres == S_OK, "get_content failed: %08x\n", hres);
+ ok_(__FILE__,line)(!strcmp_wa(content, excontent), "content = %s, expected %s\n", wine_dbgstr_w(content), excontent);
+ SysFreeString(content);
+ IHTMLMetaElement_Release(meta);
+}
+
#define get_elem_doc(e) _get_elem_doc(__LINE__,e)
static IHTMLDocument2 *_get_elem_doc(unsigned line, IUnknown *unk)
{
@@ -5289,6 +5305,7 @@ static void test_elems(IHTMLDocument2 *doc)
elem = get_doc_elem_by_id(doc, "metaid");
if(elem) {
test_meta_name((IUnknown*)elem, "meta name");
+ test_meta_content((IUnknown*)elem, "text/html; charset=utf-8");
IHTMLElement_Release(elem);
}
More information about the wine-cvs
mailing list