msxml3-FreeThreadedXMLHTTP60: Restore a mistakenly deleted hunk.

Spotted by Gijs Vermeulen.
This commit is contained in:
Zebediah Figura 2020-10-29 10:47:54 -05:00
parent c811f7aa7e
commit c118dfd709

View File

@ -1,19 +1,20 @@
From 849e198c39ce81b2e99505486859ee305d9f6fed Mon Sep 17 00:00:00 2001
From 32d4275cfb92373f1f8b6abb9b75872289b5b94b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20Bernon?= <rbernon@codeweavers.com>
Date: Tue, 8 Sep 2020 18:43:52 +0200
Subject: [PATCH 3/3] msxml3: Implement FreeThreadedXMLHTTP60.
Subject: [PATCH] msxml3: Implement FreeThreadedXMLHTTP60.
---
dlls/msxml3/Makefile.in | 2 +-
dlls/msxml3/factory.c | 5 +
dlls/msxml3/httprequest.c | 493 +++++++++++++++++++++++++++++++++++-
dlls/msxml3/msxml_private.h | 1 +
dlls/msxml3/tests/httpreq.c | 395 ++++++++++++++++++++++++++++-
dlls/msxml3/tests/schema.c | 5 +
dlls/msxml3/uuid.c | 3 +
6 files changed, 894 insertions(+), 5 deletions(-)
dlls/msxml3/uuid.c | 4 +
7 files changed, 900 insertions(+), 5 deletions(-)
diff --git a/dlls/msxml3/Makefile.in b/dlls/msxml3/Makefile.in
index 936c745895..f9e629f89b 100644
index 936c745895d..f9e629f89bc 100644
--- a/dlls/msxml3/Makefile.in
+++ b/dlls/msxml3/Makefile.in
@@ -1,5 +1,5 @@
@ -23,8 +24,31 @@ index 936c745895..f9e629f89b 100644
EXTRALIBS = $(XML2_LIBS)
EXTRAINCL = $(XML2_CFLAGS) $(XSLT_CFLAGS)
diff --git a/dlls/msxml3/factory.c b/dlls/msxml3/factory.c
index b8452ff4b4e..90a042fec92 100644
--- a/dlls/msxml3/factory.c
+++ b/dlls/msxml3/factory.c
@@ -281,6 +281,7 @@ static HRESULT DOMClassFactory_Create(const GUID *clsid, REFIID riid, void **ppv
static ClassFactory xmldoccf = { { &ClassFactoryVtbl }, XMLDocument_create };
static ClassFactory httpreqcf = { { &ClassFactoryVtbl }, XMLHTTPRequest_create };
+static ClassFactory httpreqcf2 = { { &ClassFactoryVtbl }, XMLHTTPRequest2_create };
static ClassFactory serverhttp = { { &ClassFactoryVtbl }, ServerXMLHTTP_create };
static ClassFactory xsltemplatecf = { { &ClassFactoryVtbl }, XSLTemplate_create };
static ClassFactory mxnsmanagercf = { {&ClassFactoryVtbl }, MXNamespaceManager_create };
@@ -342,6 +343,10 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID riid, void **ppv )
{
cf = &httpreqcf.IClassFactory_iface;
}
+ else if( IsEqualCLSID( rclsid, &CLSID_FreeThreadedXMLHTTP60 ))
+ {
+ cf = &httpreqcf2.IClassFactory_iface;
+ }
else if( IsEqualCLSID( rclsid, &CLSID_ServerXMLHTTP ) ||
IsEqualCLSID( rclsid, &CLSID_ServerXMLHTTP30 ) ||
IsEqualCLSID( rclsid, &CLSID_ServerXMLHTTP40 ) ||
diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c
index 7286eb97bb..ad74260193 100644
index 7286eb97bb7..ad74260193f 100644
--- a/dlls/msxml3/httprequest.c
+++ b/dlls/msxml3/httprequest.c
@@ -44,13 +44,16 @@
@ -555,7 +579,7 @@ index 7286eb97bb..ad74260193 100644
{
MESSAGE("This program tried to use a ServerXMLHTTP object, but\n"
diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h
index a59e00bf2b..9797f96f3c 100644
index a59e00bf2b3..9797f96f3ca 100644
--- a/dlls/msxml3/msxml_private.h
+++ b/dlls/msxml3/msxml_private.h
@@ -501,6 +501,7 @@ extern HRESULT XMLDocument_create(void**) DECLSPEC_HIDDEN;
@ -567,7 +591,7 @@ index a59e00bf2b..9797f96f3c 100644
extern HRESULT XSLTemplate_create(void**) DECLSPEC_HIDDEN;
extern HRESULT MXWriter_create(MSXML_VERSION, void**) DECLSPEC_HIDDEN;
diff --git a/dlls/msxml3/tests/httpreq.c b/dlls/msxml3/tests/httpreq.c
index 74c302d5eb..25e6922c31 100644
index 4a23f1d82a8..25378a99bdc 100644
--- a/dlls/msxml3/tests/httpreq.c
+++ b/dlls/msxml3/tests/httpreq.c
@@ -26,9 +26,9 @@
@ -582,7 +606,7 @@ index 74c302d5eb..25e6922c31 100644
#include "dispex.h"
#include "initguid.h"
@@ -1334,6 +1334,17 @@ static IXMLHttpRequest *create_xhr(void)
@@ -1333,6 +1333,17 @@ static IXMLHttpRequest *create_xhr(void)
return SUCCEEDED(hr) ? ret : NULL;
}
@ -600,7 +624,7 @@ index 74c302d5eb..25e6922c31 100644
static IServerXMLHTTPRequest *create_server_xhr(void)
{
IServerXMLHTTPRequest *ret;
@@ -1893,11 +1904,388 @@ static void test_supporterrorinfo(void)
@@ -1889,11 +1900,388 @@ static void test_supporterrorinfo(void)
IServerXMLHTTPRequest_Release(server_xhr);
}
@ -990,7 +1014,7 @@ index 74c302d5eb..25e6922c31 100644
if (!(xhr = create_xhr()))
{
@@ -1912,6 +2300,7 @@ START_TEST(httpreq)
@@ -1908,6 +2296,7 @@ START_TEST(httpreq)
test_server_xhr();
test_safe_httpreq();
test_supporterrorinfo();
@ -999,7 +1023,7 @@ index 74c302d5eb..25e6922c31 100644
CoUninitialize();
}
diff --git a/dlls/msxml3/tests/schema.c b/dlls/msxml3/tests/schema.c
index 805f05cb71..f9c64c50ec 100644
index 964e368bf84..947372bd0f8 100644
--- a/dlls/msxml3/tests/schema.c
+++ b/dlls/msxml3/tests/schema.c
@@ -32,10 +32,15 @@
@ -1019,10 +1043,18 @@ index 805f05cb71..f9c64c50ec 100644
#include "wine/test.h"
diff --git a/dlls/msxml3/uuid.c b/dlls/msxml3/uuid.c
index 333d4f3d3c..2b995d5acc 100644
index 333d4f3d3c7..1eb09d003fe 100644
--- a/dlls/msxml3/uuid.c
+++ b/dlls/msxml3/uuid.c
@@ -51,6 +51,9 @@ DEFINE_GUID(CLSID_ServerXMLHTTP60, 0x88d96a0b, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0
@@ -43,6 +43,7 @@
/* Cannot include msxml6 here since we will get a duplicate LIBID_MSXML2 error. */
DEFINE_GUID(CLSID_FreeThreadedDOMDocument60, 0x88d96a06, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
+DEFINE_GUID(CLSID_FreeThreadedXMLHTTP60, 0x88d96a09, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
DEFINE_GUID(CLSID_MXNamespaceManager60, 0x88d96a11, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
DEFINE_GUID(CLSID_MXXMLWriter60, 0x88d96a0f, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
DEFINE_GUID(CLSID_SAXAttributes60, 0x88d96a0e, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
@@ -51,6 +52,9 @@ DEFINE_GUID(CLSID_ServerXMLHTTP60, 0x88d96a0b, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0
DEFINE_GUID(CLSID_XMLHTTP60, 0x88d96a0a, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
DEFINE_GUID(CLSID_XMLSchemaCache60, 0x88d96a07, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);
DEFINE_GUID(CLSID_XSLTemplate60, 0x88d96a08, 0xf192, 0x11d4, 0xa6,0x5f, 0x00,0x40,0x96,0x32,0x51,0xe5);