Module: wine Branch: master Commit: 57ba0459c9566f3f24eff2fa5081fe05759be394 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=57ba0459c9566f3f24eff2fa...
Author: Jacek Caban jacek@codeweavers.com Date: Sat Aug 12 18:43:16 2006 +0200
mshtml: Return INET_E_USE_DEFAULT_PROTOCOLHANDLER in about protocol handler's CombineUrl.
---
dlls/mshtml/protocol.c | 34 +++++++++++++--------------------- dlls/mshtml/tests/protocol.c | 21 +++++++++++++++++++++ 2 files changed, 34 insertions(+), 21 deletions(-)
diff --git a/dlls/mshtml/protocol.c b/dlls/mshtml/protocol.c index cf60004..04ecda0 100644 --- a/dlls/mshtml/protocol.c +++ b/dlls/mshtml/protocol.c @@ -91,6 +91,17 @@ static ULONG WINAPI InternetProtocolInfo return 1; }
+static HRESULT WINAPI InternetProtocolInfo_CombineUrl(IInternetProtocolInfo *iface, + LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pwzResult, + DWORD cchResult, DWORD* pcchResult, DWORD dwReserved) +{ + TRACE("%p)->(%s %s %08lx %p %ld %p %ld)\n", iface, debugstr_w(pwzBaseUrl), + debugstr_w(pwzRelativeUrl), dwCombineFlags, pwzResult, cchResult, + pcchResult, dwReserved); + + return INET_E_USE_DEFAULT_PROTOCOLHANDLER; +} + #undef PROTOCOLINFO_THIS
#define CLASSFACTORY_THIS(iface) DEFINE_THIS(ProtocolFactory, ClassFactory, iface) @@ -427,15 +438,6 @@ static HRESULT WINAPI AboutProtocolInfo_ return INET_E_DEFAULT_ACTION; }
-static HRESULT WINAPI AboutProtocolInfo_CombineUrl(IInternetProtocolInfo *iface, LPCWSTR pwzBaseUrl, - LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pwzResult, DWORD cchResult, - DWORD* pcchResult, DWORD dwReserved) -{ - FIXME("%p)->(%s %s %08lx %p %ld %p %ld)\n", iface, debugstr_w(pwzBaseUrl), debugstr_w(pwzRelativeUrl), - dwCombineFlags, pwzResult, cchResult, pcchResult, dwReserved); - return E_NOTIMPL; -} - static HRESULT WINAPI AboutProtocolInfo_CompareUrl(IInternetProtocolInfo *iface, LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags) { @@ -457,7 +459,7 @@ static const IInternetProtocolInfoVtbl A InternetProtocolInfo_AddRef, InternetProtocolInfo_Release, AboutProtocolInfo_ParseUrl, - AboutProtocolInfo_CombineUrl, + InternetProtocolInfo_CombineUrl, AboutProtocolInfo_CompareUrl, AboutProtocolInfo_QueryInfo }; @@ -837,16 +839,6 @@ static HRESULT WINAPI ResProtocolInfo_Pa return INET_E_DEFAULT_ACTION; }
-static HRESULT WINAPI ResProtocolInfo_CombineUrl(IInternetProtocolInfo *iface, LPCWSTR pwzBaseUrl, - LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pwzResult, DWORD cchResult, - DWORD* pcchResult, DWORD dwReserved) -{ - TRACE("%p)->(%s %s %08lx %p %ld %p %ld)\n", iface, debugstr_w(pwzBaseUrl), debugstr_w(pwzRelativeUrl), - dwCombineFlags, pwzResult, cchResult, pcchResult, dwReserved); - - return INET_E_USE_DEFAULT_PROTOCOLHANDLER; -} - static HRESULT WINAPI ResProtocolInfo_CompareUrl(IInternetProtocolInfo *iface, LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags) { @@ -868,7 +860,7 @@ static const IInternetProtocolInfoVtbl R InternetProtocolInfo_AddRef, InternetProtocolInfo_Release, ResProtocolInfo_ParseUrl, - ResProtocolInfo_CombineUrl, + InternetProtocolInfo_CombineUrl, ResProtocolInfo_CompareUrl, ResProtocolInfo_QueryInfo }; diff --git a/dlls/mshtml/tests/protocol.c b/dlls/mshtml/tests/protocol.c index 8451019..6507819 100644 --- a/dlls/mshtml/tests/protocol.c +++ b/dlls/mshtml/tests/protocol.c @@ -340,16 +340,19 @@ #endif hres = IInternetProtocolInfo_CombineUrl(protocol_info, blank_url, test_part_url, 0, buf, sizeof(buf)/sizeof(buf[0]), &size, 0); ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER, "CombineUrl failed: %08lx\n", hres); + ok(size == 0xdeadbeef, "size=%ld\n", size);
size = 0xdeadbeef; hres = IInternetProtocolInfo_CombineUrl(protocol_info, blank_url, test_part_url, URL_FILE_USE_PATHURL, buf, sizeof(buf)/sizeof(buf[0]), &size, 0); ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER, "CombineUrl failed: %08lx\n", hres); + ok(size == 0xdeadbeef, "size=%ld\n", size);
size = 0xdeadbeef; hres = IInternetProtocolInfo_CombineUrl(protocol_info, NULL, NULL, URL_FILE_USE_PATHURL, NULL, 0xdeadbeef, NULL, 0); ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER, "CombineUrl failed: %08lx\n", hres); + ok(size == 0xdeadbeef, "size=%ld\n", size);
IInternetProtocolInfo_Release(protocol_info); } @@ -517,6 +520,24 @@ #endif ok(hres == INET_E_DEFAULT_ACTION, "ParseUrl failed: %08lx, expected INET_E_DEFAULT_ACTION\n", hres);
+ size = 0xdeadbeef; + hres = IInternetProtocolInfo_CombineUrl(protocol_info, blank_url, test_url, + 0, buf, sizeof(buf)/sizeof(buf[0]), &size, 0); + ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER, "CombineUrl failed: %08lx\n", hres); + ok(size == 0xdeadbeef, "size=%ld\n", size); + + size = 0xdeadbeef; + hres = IInternetProtocolInfo_CombineUrl(protocol_info, blank_url, test_url, + URL_FILE_USE_PATHURL, buf, sizeof(buf)/sizeof(buf[0]), &size, 0); + ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER, "CombineUrl failed: %08lx\n", hres); + ok(size == 0xdeadbeef, "size=%ld\n", size); + + size = 0xdeadbeef; + hres = IInternetProtocolInfo_CombineUrl(protocol_info, NULL, NULL, + URL_FILE_USE_PATHURL, buf, sizeof(buf)/sizeof(buf[0]), &size, 0); + ok(hres == INET_E_USE_DEFAULT_PROTOCOLHANDLER, "CombineUrl failed: %08lx\n", hres); + ok(size == 0xdeadbeef, "size=%ld\n", size); + IInternetProtocolInfo_Release(protocol_info); }