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

Alexandre Julliard julliard at winehq.org
Wed May 11 13:02:57 CDT 2011


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed May 11 14:58:35 2011 +0000

mshtml: Added IOmNavigator::get_cpuClass implementation.

---

 dlls/mshtml/omnavigator.c |   14 ++++++++++++--
 dlls/mshtml/tests/dom.c   |   13 ++++++++-----
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/dlls/mshtml/omnavigator.c b/dlls/mshtml/omnavigator.c
index 37bd95b..f5a3573 100644
--- a/dlls/mshtml/omnavigator.c
+++ b/dlls/mshtml/omnavigator.c
@@ -443,8 +443,18 @@ static HRESULT WINAPI OmNavigator_toString(IOmNavigator *iface, BSTR *String)
 static HRESULT WINAPI OmNavigator_get_cpuClass(IOmNavigator *iface, BSTR *p)
 {
     OmNavigator *This = impl_from_IOmNavigator(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+
+    static const WCHAR cpu_classW[] =
+#ifdef _WIN64
+        {'x','6','4',0};
+#else
+        {'x','8','6',0};
+#endif
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    *p = SysAllocString(cpu_classW);
+    return *p ? S_OK : E_OUTOFMEMORY;
 }
 
 static HRESULT WINAPI OmNavigator_get_systemLanguage(IOmNavigator *iface, BSTR *p)
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 8029381..dcd2e21 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -3865,11 +3865,14 @@ static void test_navigator(IHTMLDocument2 *doc)
     bstr = NULL;
     hres = IOmNavigator_get_platform(navigator, &bstr);
     ok(hres == S_OK, "get_platform failed: %08x\n", hres);
-#ifdef _WIN64
-    ok(!strcmp_wa(bstr, "Win64") || broken(!strcmp_wa(bstr, "Win32") /* IE6 */), "unexpected platform %s\n", wine_dbgstr_w(bstr));
-#else
-    ok(!strcmp_wa(bstr, "Win32"), "unexpected platform %s\n", wine_dbgstr_w(bstr));
-#endif
+    ok(!strcmp_wa(bstr, sizeof(void*) == 8 ? "Win64" : "Win32")
+       || (sizeof(void*) == 8 && broken(!strcmp_wa(bstr, "Win32") /* IE6 */)), "unexpected platform %s\n", wine_dbgstr_w(bstr));
+    SysFreeString(bstr);
+
+    bstr = NULL;
+    hres = IOmNavigator_get_cpuClass(navigator, &bstr);
+    ok(hres == S_OK, "get_cpuClass failed: %08x\n", hres);
+    ok(!strcmp_wa(bstr, sizeof(void*) == 8 ? "x64" : "x86"), "unexpected cpuClass %s\n", wine_dbgstr_w(bstr));
     SysFreeString(bstr);
 
     bstr = NULL;




More information about the wine-cvs mailing list