Jacek Caban : mshtml: Added IHTMLMetaElement::get_httpEquiv implementation.

Alexandre Julliard julliard at winehq.org
Tue Apr 3 12:17:39 CDT 2012


Module: wine
Branch: master
Commit: fe4cb8441a1465d616b39cd70b77e1a1a5e68ee7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fe4cb8441a1465d616b39cd70b77e1a1a5e68ee7

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Apr  3 12:04:05 2012 +0200

mshtml: Added IHTMLMetaElement::get_httpEquiv 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 d75b7f4..00bb007 100644
--- a/dlls/mshtml/htmlmeta.c
+++ b/dlls/mshtml/htmlmeta.c
@@ -104,8 +104,19 @@ static HRESULT WINAPI HTMLMetaElement_put_httpEquiv(IHTMLMetaElement *iface, BST
 static HRESULT WINAPI HTMLMetaElement_get_httpEquiv(IHTMLMetaElement *iface, BSTR *p)
 {
     HTMLMetaElement *This = impl_from_IHTMLMetaElement(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+    nsAString httpequiv_str, val_str;
+    nsresult nsres;
+
+    static const PRUnichar httpEquivW[] = {'h','t','t','p','-','e','q','u','i','v',0};
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    nsAString_InitDepend(&httpequiv_str, httpEquivW);
+    nsAString_Init(&val_str, NULL);
+    nsres = nsIDOMHTMLElement_GetAttribute(This->element.nselem, &httpequiv_str, &val_str);
+    nsAString_Finish(&httpequiv_str);
+
+    return return_nsstr(nsres, &val_str, p);
 }
 
 static HRESULT WINAPI HTMLMetaElement_put_content(IHTMLMetaElement *iface, BSTR v)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index c3927d2..267ac9e 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -3275,6 +3275,22 @@ static void _test_meta_content(unsigned line, IUnknown *unk, const char *exconte
     IHTMLMetaElement_Release(meta);
 }
 
+#define test_meta_httpequiv(a,b) _test_meta_httpequiv(__LINE__,a,b)
+static void _test_meta_httpequiv(unsigned line, IUnknown *unk, const char *exval)
+{
+    IHTMLMetaElement *meta;
+    BSTR val = NULL;
+    HRESULT hres;
+
+
+    meta = _get_metaelem_iface(line, unk);
+    hres = IHTMLMetaElement_get_httpEquiv(meta, &val);
+    ok_(__FILE__,line)(hres == S_OK, "get_httpEquiv failed: %08x\n", hres);
+    ok_(__FILE__,line)(!strcmp_wa(val, exval), "httpEquiv = %s, expected %s\n", wine_dbgstr_w(val), exval);
+    SysFreeString(val);
+    IHTMLMetaElement_Release(meta);
+}
+
 #define get_elem_doc(e) _get_elem_doc(__LINE__,e)
 static IHTMLDocument2 *_get_elem_doc(unsigned line, IUnknown *unk)
 {
@@ -5306,6 +5322,7 @@ static void test_elems(IHTMLDocument2 *doc)
     if(elem) {
         test_meta_name((IUnknown*)elem, "meta name");
         test_meta_content((IUnknown*)elem, "text/html; charset=utf-8");
+        test_meta_httpequiv((IUnknown*)elem, "Content-Type");
         IHTMLElement_Release(elem);
     }
 




More information about the wine-cvs mailing list