Module: wine Branch: master Commit: 33736bb871f503f0163699e657987681384942e5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=33736bb871f503f0163699e657...
Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Tue Aug 30 22:27:02 2011 +1000
msxml3: Correct MSXML object safety tests.
---
dlls/msxml3/domdoc.c | 3 ++- dlls/msxml3/httprequest.c | 3 ++- dlls/msxml3/tests/domdoc.c | 21 +++++++++++---------- 3 files changed, 15 insertions(+), 12 deletions(-)
diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c index 2b2416d..d4fcc1c 100644 --- a/dlls/msxml3/domdoc.c +++ b/dlls/msxml3/domdoc.c @@ -3430,7 +3430,8 @@ static HRESULT WINAPI domdoc_Safety_SetInterfaceSafetyOptions(IObjectSafety *ifa if ((mask & ~SAFETY_SUPPORTED_OPTIONS) != 0) return E_FAIL;
- This->safeopt = enabled & mask & SAFETY_SUPPORTED_OPTIONS; + This->safeopt = (This->safeopt & ~mask) | (mask & enabled); + return S_OK; }
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c index 436380c..8203129 100644 --- a/dlls/msxml3/httprequest.c +++ b/dlls/msxml3/httprequest.c @@ -1131,7 +1131,8 @@ static HRESULT WINAPI httprequest_Safety_SetInterfaceSafetyOptions(IObjectSafety if ((mask & ~SAFETY_SUPPORTED_OPTIONS) != 0) return E_FAIL;
- This->safeopt = enabled & mask & SAFETY_SUPPORTED_OPTIONS; + This->safeopt = (This->safeopt & ~mask) | (mask & enabled); + return S_OK; }
diff --git a/dlls/msxml3/tests/domdoc.c b/dlls/msxml3/tests/domdoc.c index 2c3de42..42b3b05 100644 --- a/dlls/msxml3/tests/domdoc.c +++ b/dlls/msxml3/tests/domdoc.c @@ -4457,11 +4457,11 @@ static void _test_IObjectSafety_common(unsigned line, IObjectSafety *safety) ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr ); hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled); ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr ); - todo_wine - ok_(__FILE__,line)(broken(enabled == INTERFACESAFE_FOR_UNTRUSTED_CALLER) || - enabled == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */, - "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACE_USES_SECURITY_MANAGER), " - "got %08x\n", enabled); + ok_(__FILE__,line)(enabled == INTERFACESAFE_FOR_UNTRUSTED_CALLER, "Expected INTERFACESAFE_FOR_UNTRUSTED_CALLER got %08x\n", enabled); + ok_(__FILE__,line)(broken(supported == INTERFACESAFE_FOR_UNTRUSTED_CALLER) || + supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */, + "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER), " + "got %08x\n", supported);
hr = IObjectSafety_SetInterfaceSafetyOptions(safety, NULL, INTERFACESAFE_FOR_UNTRUSTED_DATA, @@ -4469,11 +4469,12 @@ static void _test_IObjectSafety_common(unsigned line, IObjectSafety *safety) ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr ); hr = IObjectSafety_GetInterfaceSafetyOptions(safety, NULL, &supported, &enabled); ok_(__FILE__,line)(hr == S_OK, "ret %08x\n", hr ); - todo_wine - ok_(__FILE__,line)(broken(enabled == INTERFACESAFE_FOR_UNTRUSTED_DATA) || - enabled == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA) /* msxml3 SP8+ */, - "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA), " - "got %08x\n", enabled); + ok_(__FILE__,line)(enabled == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA), + "expected INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA got %08x\n", enabled); + ok_(__FILE__,line)(broken(supported == INTERFACESAFE_FOR_UNTRUSTED_DATA) || + supported == (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER) /* msxml3 SP8+ */, + "Expected (INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA | INTERFACE_USES_SECURITY_MANAGER), " + "got %08x\n", supported); }
static void test_XMLHTTP(void)