From ebac489c49bc5962bc8d9f2cb3be05a7393ab4c3 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Wed, 11 May 2011 14:58:35 +0000 Subject: [PATCH] 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 37bd95b7800..f5a3573783e 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 80293814741..dcd2e21ee24 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;