Author: akhaldi Date: Thu Aug 18 10:27:06 2016 New Revision: 72296
URL: http://svn.reactos.org/svn/reactos?rev=72296&view=rev Log: [MSXML3] Sync with Wine Staging 1.9.16. CORE-11866
Modified: trunk/reactos/dll/win32/msxml3/httprequest.c trunk/reactos/dll/win32/msxml3/saxreader.c trunk/reactos/dll/win32/msxml3/schema.c trunk/reactos/dll/win32/msxml3/xmlparser.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/msxml3/httprequest.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/httpreques... ============================================================================== --- trunk/reactos/dll/win32/msxml3/httprequest.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msxml3/httprequest.c [iso-8859-1] Thu Aug 18 10:27:06 2016 @@ -90,7 +90,6 @@ { httprequest req; IServerXMLHTTPRequest IServerXMLHTTPRequest_iface; - LONG ref; } serverhttp;
static inline httprequest *impl_from_IXMLHTTPRequest( IXMLHTTPRequest *iface ) @@ -1536,19 +1535,19 @@ httprequest_ObjectWithSite_QueryInterface( IObjectWithSite* iface, REFIID riid, void** ppvObject ) { httprequest *This = impl_from_IObjectWithSite(iface); - return IXMLHTTPRequest_QueryInterface( (IXMLHTTPRequest *)This, riid, ppvObject ); + return IXMLHTTPRequest_QueryInterface(&This->IXMLHTTPRequest_iface, riid, ppvObject); }
static ULONG WINAPI httprequest_ObjectWithSite_AddRef( IObjectWithSite* iface ) { httprequest *This = impl_from_IObjectWithSite(iface); - return IXMLHTTPRequest_AddRef((IXMLHTTPRequest *)This); + return IXMLHTTPRequest_AddRef(&This->IXMLHTTPRequest_iface); }
static ULONG WINAPI httprequest_ObjectWithSite_Release( IObjectWithSite* iface ) { httprequest *This = impl_from_IObjectWithSite(iface); - return IXMLHTTPRequest_Release((IXMLHTTPRequest *)This); + return IXMLHTTPRequest_Release(&This->IXMLHTTPRequest_iface); }
static HRESULT WINAPI httprequest_ObjectWithSite_GetSite( IObjectWithSite *iface, REFIID iid, void **ppvSite ) @@ -1632,19 +1631,19 @@ static HRESULT WINAPI httprequest_Safety_QueryInterface(IObjectSafety *iface, REFIID riid, void **ppv) { httprequest *This = impl_from_IObjectSafety(iface); - return IXMLHTTPRequest_QueryInterface( (IXMLHTTPRequest *)This, riid, ppv ); + return IXMLHTTPRequest_QueryInterface(&This->IXMLHTTPRequest_iface, riid, ppv); }
static ULONG WINAPI httprequest_Safety_AddRef(IObjectSafety *iface) { httprequest *This = impl_from_IObjectSafety(iface); - return IXMLHTTPRequest_AddRef((IXMLHTTPRequest *)This); + return IXMLHTTPRequest_AddRef(&This->IXMLHTTPRequest_iface); }
static ULONG WINAPI httprequest_Safety_Release(IObjectSafety *iface) { httprequest *This = impl_from_IObjectSafety(iface); - return IXMLHTTPRequest_Release((IXMLHTTPRequest *)This); + return IXMLHTTPRequest_Release(&This->IXMLHTTPRequest_iface); }
static HRESULT WINAPI httprequest_Safety_GetInterfaceSafetyOptions(IObjectSafety *iface, REFIID riid, @@ -1713,7 +1712,7 @@ static ULONG WINAPI ServerXMLHTTPRequest_AddRef(IServerXMLHTTPRequest *iface) { serverhttp *This = impl_from_IServerXMLHTTPRequest( iface ); - ULONG ref = InterlockedIncrement( &This->ref ); + ULONG ref = InterlockedIncrement( &This->req.ref ); TRACE("(%p)->(%u)\n", This, ref ); return ref; } @@ -1721,7 +1720,7 @@ static ULONG WINAPI ServerXMLHTTPRequest_Release(IServerXMLHTTPRequest *iface) { serverhttp *This = impl_from_IServerXMLHTTPRequest( iface ); - ULONG ref = InterlockedDecrement( &This->ref ); + ULONG ref = InterlockedDecrement( &This->req.ref );
TRACE("(%p)->(%u)\n", This, ref );
@@ -2017,7 +2016,6 @@
init_httprequest(&req->req); req->IServerXMLHTTPRequest_iface.lpVtbl = &ServerXMLHTTPRequestVtbl; - req->ref = 1;
*obj = &req->IServerXMLHTTPRequest_iface;
Modified: trunk/reactos/dll/win32/msxml3/saxreader.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/saxreader.... ============================================================================== --- trunk/reactos/dll/win32/msxml3/saxreader.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msxml3/saxreader.c [iso-8859-1] Thu Aug 18 10:27:06 2016 @@ -2500,7 +2500,7 @@ if (encoding == XML_CHAR_ENCODING_NONE) { const WCHAR *ptr = (WCHAR*)buffer; - /* xml declaration with possibly specified encoding will be still handled by parser */ + /* an xml declaration with optional encoding will still be handled by the parser */ if ((size >= 2) && *ptr == '<' && ptr[1] != '?') { enc_name = (xmlChar*)xmlGetCharEncodingName(XML_CHAR_ENCODING_UTF16LE);
Modified: trunk/reactos/dll/win32/msxml3/schema.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/schema.c?r... ============================================================================== --- trunk/reactos/dll/win32/msxml3/schema.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msxml3/schema.c [iso-8859-1] Thu Aug 18 10:27:06 2016 @@ -1227,7 +1227,30 @@ IUnknown_QueryInterface(V_UNKNOWN(&var), &IID_IXMLDOMNode, (void**)&domnode);
if (domnode) - doc = xmlNodePtr_from_domnode(domnode, XML_DOCUMENT_NODE)->doc; + { + DOMNodeType type; + + IXMLDOMNode_get_nodeType(domnode, &type); + switch (type) + { + case NODE_ELEMENT: + { + IXMLDOMDocument *domdoc; + VARIANT_BOOL b; + BSTR xml; + + IXMLDOMNode_get_xml(domnode, &xml); + DOMDocument_create(This->version, (void**)&domdoc); + IXMLDOMDocument_loadXML(domdoc, xml, &b); + SysFreeString(xml); + doc = xmlNodePtr_from_domnode((IXMLDOMNode*)domdoc, XML_DOCUMENT_NODE)->doc; + break; + } + default: + doc = xmlNodePtr_from_domnode(domnode, XML_DOCUMENT_NODE)->doc; + break; + } + }
if (!doc) {
Modified: trunk/reactos/dll/win32/msxml3/xmlparser.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/xmlparser.... ============================================================================== --- trunk/reactos/dll/win32/msxml3/xmlparser.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msxml3/xmlparser.c [iso-8859-1] Thu Aug 18 10:27:06 2016 @@ -31,6 +31,7 @@ LONG ref;
int flags; + XML_PARSER_STATE state; } xmlparser;
static inline xmlparser *impl_from_IXMLParser( IXMLParser *iface ) @@ -325,9 +326,9 @@ { xmlparser *This = impl_from_IXMLParser( iface );
- FIXME("(%p)\n", This); - - return E_NOTIMPL; + TRACE("(%p)\n", This); + + return This->state; }
static HRESULT WINAPI xmlparser_Suspend(IXMLParser *iface) @@ -427,6 +428,7 @@ This->nodefactory = NULL; This->input = NULL; This->flags = 0; + This->state = XMLPARSER_IDLE; This->ref = 1;
*ppObj = &This->IXMLParser_iface;
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=7... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Thu Aug 18 10:27:06 2016 @@ -131,7 +131,7 @@ reactos/dll/win32/msvidc32 # Synced to WineStaging-1.9.11 reactos/dll/win32/msxml # Synced to WineStaging-1.9.11 reactos/dll/win32/msxml2 # Synced to WineStaging-1.9.11 -reactos/dll/win32/msxml3 # Synced to WineStaging-1.9.11 +reactos/dll/win32/msxml3 # Synced to WineStaging-1.9.16 reactos/dll/win32/msxml4 # Synced to WineStaging-1.9.11 reactos/dll/win32/msxml6 # Synced to WineStaging-1.9.11 reactos/dll/win32/nddeapi # Synced to WineStaging-1.9.11