Jacek Caban : mshtml: Return INET_E_USE_DEFAULT_PROTOCOLHANDLER in about protocol handler' s CombineUrl.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Aug 14 05:16:17 CDT 2006


Module: wine
Branch: master
Commit: 57ba0459c9566f3f24eff2fa5081fe05759be394
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=57ba0459c9566f3f24eff2fa5081fe05759be394

Author: Jacek Caban <jacek at 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);
     }
 




More information about the wine-cvs mailing list