Author: akhaldi Date: Sun Feb 26 19:07:55 2017 New Revision: 73969
URL: http://svn.reactos.org/svn/reactos?rev=73969&view=rev Log: [MSXML3] Sync with Wine Staging 2.2. CORE-12823
45dd9d1 msxml3: Accept AllowXsltScript and AllowDocumentFunction properties. 2191d97 msxml3: Duplicate stylesheet document before passing it to libxslt. 1242648 msxml3: Remove dead initialization (clang).
Modified: trunk/reactos/dll/win32/msxml3/domdoc.c trunk/reactos/dll/win32/msxml3/node.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/msxml3/domdoc.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/domdoc.c?r... ============================================================================== --- trunk/reactos/dll/win32/msxml3/domdoc.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msxml3/domdoc.c [iso-8859-1] Sun Feb 26 19:07:55 2017 @@ -51,6 +51,8 @@ static const WCHAR PropValueXPathW[] = {'X','P','a','t','h',0}; static const WCHAR PropValueXSLPatternW[] = {'X','S','L','P','a','t','t','e','r','n',0}; static const WCHAR PropertyResolveExternalsW[] = {'R','e','s','o','l','v','e','E','x','t','e','r','n','a','l','s',0}; +static const WCHAR PropertyAllowXsltScriptW[] = {'A','l','l','o','w','X','s','l','t','S','c','r','i','p','t',0}; +static const WCHAR PropertyAllowDocumentFunctionW[] = {'A','l','l','o','w','D','o','c','u','m','e','n','t','F','u','n','c','t','i','o','n',0};
/* Anything that passes the test_get_ownerDocument() * tests can go here (data shared between all instances). @@ -3052,7 +3054,9 @@ } else if (lstrcmpiW(p, PropertyProhibitDTDW) == 0 || lstrcmpiW(p, PropertyNewParserW) == 0 || - lstrcmpiW(p, PropertyResolveExternalsW) == 0) + lstrcmpiW(p, PropertyResolveExternalsW) == 0 || + lstrcmpiW(p, PropertyAllowXsltScriptW) == 0 || + lstrcmpiW(p, PropertyAllowDocumentFunctionW) == 0) { /* Ignore */ FIXME("Ignoring property %s, value %s\n", debugstr_w(p), debugstr_variant(&value));
Modified: trunk/reactos/dll/win32/msxml3/node.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msxml3/node.c?rev... ============================================================================== --- trunk/reactos/dll/win32/msxml3/node.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msxml3/node.c [iso-8859-1] Sun Feb 26 19:07:55 2017 @@ -810,7 +810,7 @@ case XML_DOCUMENT_FRAG_NODE: if (trim && !preserving) { - xmlChar* ret = str; + xmlChar* ret; int len;
if (!str) @@ -1301,6 +1301,7 @@ { #ifdef SONAME_LIBXSLT xsltStylesheetPtr xsltSS; + xmlDocPtr sheet_doc; HRESULT hr = S_OK; xmlnode *sheet;
@@ -1312,8 +1313,9 @@ sheet = get_node_obj(stylesheet); if(!sheet) return E_FAIL;
- xsltSS = pxsltParseStylesheetDoc(sheet->node->doc); - if(xsltSS) + sheet_doc = xmlCopyDoc(sheet->node->doc, 1); + xsltSS = pxsltParseStylesheetDoc(sheet_doc); + if (xsltSS) { const char **xslparams = NULL; xmlDocPtr result; @@ -1358,11 +1360,11 @@ hr = node_transform_write_to_bstr(xsltSS, result, p); xmlFreeDoc(result); } - /* libxslt "helpfully" frees the XML document the stylesheet was - generated from, too */ - xsltSS->doc = NULL; + pxsltFreeStylesheet(xsltSS); } + else + xmlFreeDoc(sheet_doc);
if(!*p) *p = SysAllocStringLen(NULL, 0);
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] Sun Feb 26 19:07:55 2017 @@ -129,7 +129,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.16 +reactos/dll/win32/msxml3 # Synced to WineStaging-2.2 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