Jacek Caban : urlmon: Fixed protocol tests on IE10.
Alexandre Julliard
julliard at winehq.org
Fri Nov 15 13:14:29 CST 2013
Module: wine
Branch: master
Commit: 1e83ca4dcdd0527c60f014fd0c9444c0a99cb9a5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1e83ca4dcdd0527c60f014fd0c9444c0a99cb9a5
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Nov 15 14:25:12 2013 +0100
urlmon: Fixed protocol tests on IE10.
---
dlls/urlmon/protocol.c | 1 +
dlls/urlmon/tests/protocol.c | 25 ++++++++++++++++++++++---
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/dlls/urlmon/protocol.c b/dlls/urlmon/protocol.c
index 2682465..42ee8ed 100644
--- a/dlls/urlmon/protocol.c
+++ b/dlls/urlmon/protocol.c
@@ -516,6 +516,7 @@ HRESULT protocol_abort(Protocol *protocol, HRESULT reason)
if(!protocol->protocol_sink)
return S_OK;
+ /* NOTE: IE10 returns S_OK here */
if(protocol->flags & FLAG_RESULT_REPORTED)
return INET_E_RESULT_DISPATCHED;
diff --git a/dlls/urlmon/tests/protocol.c b/dlls/urlmon/tests/protocol.c
index 4728f3c..d4e9663 100644
--- a/dlls/urlmon/tests/protocol.c
+++ b/dlls/urlmon/tests/protocol.c
@@ -415,6 +415,18 @@ static HRESULT WINAPI ServiceProvider_QueryService(IServiceProvider *iface, REFG
return IHttpSecurity_QueryInterface(&http_security, riid, ppv);
}
+ if(IsEqualGUID(&IID_IGetBindHandle, guidService)) {
+ trace("QueryService(IID_IGetBindHandle)\n");
+ *ppv = NULL;
+ return E_NOINTERFACE;
+ }
+
+ if(IsEqualGUID(&IID_IWindowForBindingUI, guidService)) {
+ trace("QueryService(IID_IWindowForBindingUI)\n");
+ *ppv = NULL;
+ return E_NOINTERFACE;
+ }
+
ok(0, "unexpected service %s\n", debugstr_guid(guidService));
return E_FAIL;
}
@@ -872,8 +884,11 @@ static HRESULT WINAPI ProtocolSink_ReportProgress(IInternetProtocolSink *iface,
CHECK_EXPECT(ReportProgress_DECODING);
ok(!lstrcmpW(szStatusText, pjpegW), "szStatusText = %s\n", wine_dbgstr_w(szStatusText));
break;
+ case BINDSTATUS_RESERVED_7:
+ trace("BINDSTATUS_RESERVED_7\n");
+ break;
default:
- ok(0, "Unexpected status %d\n", ulStatusCode);
+ ok(0, "Unexpected status %d (%d)\n", ulStatusCode, ulStatusCode-BINDSTATUS_LAST);
};
return S_OK;
@@ -1232,6 +1247,7 @@ static IInternetProtocolSink mime_protocol_sink = { &mime_protocol_sink_vtbl };
static HRESULT QueryInterface(REFIID riid, void **ppv)
{
static const IID IID_undocumented = {0x58DFC7D0,0x5381,0x43E5,{0x9D,0x72,0x4C,0xDD,0xE4,0xCB,0x0F,0x1A}};
+ static const IID IID_undocumentedIE10 = {0xc28722e5,0xbc1a,0x4c55,{0xa6,0x8d,0x33,0x21,0x9f,0x69,0x89,0x10}};
*ppv = NULL;
@@ -1245,6 +1261,9 @@ static HRESULT QueryInterface(REFIID riid, void **ppv)
/* NOTE: IE8 queries for undocumented {58DFC7D0-5381-43E5-9D72-4CDDE4CB0F1A} interface. */
if(IsEqualGUID(&IID_undocumented, riid))
return E_NOINTERFACE;
+ /* NOTE: IE10 queries for undocumented {c28722e5-bc1a-4c55-a68d-33219f698910} interface. */
+ if(IsEqualGUID(&IID_undocumentedIE10, riid))
+ return E_NOINTERFACE;
if(*ppv)
return S_OK;
@@ -3070,7 +3089,7 @@ static void test_http_protocol_url(LPCWSTR url, int prot, DWORD flags, DWORD tym
CHECK_CALLED(ReportResult);
hres = IInternetProtocol_Abort(async_protocol, E_ABORT, 0);
- ok(hres == INET_E_RESULT_DISPATCHED, "Abort failed: %08x\n", hres);
+ ok(hres == INET_E_RESULT_DISPATCHED || hres == S_OK /* IE10 */, "Abort failed: %08x\n", hres);
break;
}
}else {
@@ -3093,7 +3112,7 @@ static void test_http_protocol_url(LPCWSTR url, int prot, DWORD flags, DWORD tym
CLEAR_CALLED(ReportProgress_COOKIE_SENT);
hres = IInternetProtocol_Abort(async_protocol, E_ABORT, 0);
- ok(hres == INET_E_RESULT_DISPATCHED, "Abort failed: %08x\n", hres);
+ ok(hres == INET_E_RESULT_DISPATCHED || hres == S_OK /* IE10 */, "Abort failed: %08x\n", hres);
test_protocol_terminate(async_protocol);
More information about the wine-cvs
mailing list