Module: wine Branch: master Commit: ebac489c49bc5962bc8d9f2cb3be05a7393ab4c3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=ebac489c49bc5962bc8d9f2cb3...
Author: Jacek Caban jacek@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;