Jacek Caban : mshtml: Added IOmNavigator::toString implementation.

Alexandre Julliard julliard at winehq.org
Tue Sep 1 11:05:30 CDT 2009


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Aug 31 20:44:47 2009 +0200

mshtml: Added IOmNavigator::toString implementation.

---

 dlls/mshtml/omnavigator.c |   12 ++++++++++--
 dlls/mshtml/tests/dom.c   |    9 +++++++++
 2 files changed, 19 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c
index 7479180..6e912d3 100644
--- a/dlls/mshtml/omnavigator.c
+++ b/dlls/mshtml/omnavigator.c
@@ -226,8 +226,16 @@ static HRESULT WINAPI OmNavigator_get_opsProfile(IOmNavigator *iface, IHTMLOpsPr
 static HRESULT WINAPI OmNavigator_toString(IOmNavigator *iface, BSTR *String)
 {
     OmNavigator *This = OMNAVIGATOR_THIS(iface);
-    FIXME("(%p)->(%p)\n", This, String);
-    return E_NOTIMPL;
+
+    static const WCHAR objectW[] = {'[','o','b','j','e','c','t',']',0};
+
+    TRACE("(%p)->(%p)\n", This, String);
+
+    if(!String)
+        return E_INVALIDARG;
+
+    *String = SysAllocString(objectW);
+    return *String ? S_OK : E_OUTOFMEMORY;
 }
 
 static HRESULT WINAPI OmNavigator_get_cpuClass(IOmNavigator *iface, BSTR *p)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index e10e41a..e9dfef7 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -2492,6 +2492,15 @@ static void test_navigator(IHTMLDocument2 *doc)
     ok(!memcmp(bstr, v40, sizeof(v40)), "appVersion is %s\n", wine_dbgstr_w(bstr));
     SysFreeString(bstr);
 
+    hres = IOmNavigator_toString(navigator, NULL);
+    ok(hres == E_INVALIDARG, "toString failed: %08x\n", hres);
+
+    bstr = NULL;
+    hres = IOmNavigator_toString(navigator, &bstr);
+    ok(hres == S_OK, "toString failed: %08x\n", hres);
+    ok(!strcmp_wa(bstr, "[object]"), "toString returned %s\n", wine_dbgstr_w(bstr));
+    SysFreeString(bstr);
+
     ref = IOmNavigator_Release(navigator);
     ok(!ref, "navigator should be destroyed here\n");
 }




More information about the wine-cvs mailing list