Commit Graph

816 Commits

Author SHA1 Message Date
Adam Martinson 403201b87f msxml3: Prevent a memory leak if domdoc creation fails. 2010-10-15 11:32:31 +02:00
Jacek Caban 6d20b3f96a msxml3: Don't use xmlnode's IXMLDOMNode iface in replaceChild implementations. 2010-10-13 15:55:10 +02:00
Nikolay Sivov ac6671b7f3 msxml3: Fix response text conversion to WCHAR string. 2010-10-13 11:19:53 +02:00
Nikolay Sivov ace3a81d13 msxml3: Implement POST support with supplied body data. 2010-10-13 11:19:53 +02:00
Nikolay Sivov 45db1d1376 msxml3: Implement ::get_responseXML(). 2010-10-11 17:11:38 +02:00
Nikolay Sivov f0546a1961 msxml3: Implement ::get_responseBody(). 2010-10-08 11:56:45 +02:00
Nikolay Sivov 8630368afb msxml3: Callback only if state really changed. 2010-10-08 11:56:45 +02:00
Nikolay Sivov e1ca5965b8 msxml3: Implement ::abort(). 2010-10-08 11:56:45 +02:00
Nikolay Sivov 25dc6c7c9e msxml: Register XMLHTTP objects. 2010-10-08 11:56:45 +02:00
Nikolay Sivov eebf331e89 msxml3: Implement ::get_responseText() for UTF-8 and UTF-16 (little endian) response encoding. 2010-10-07 12:00:27 +02:00
Nikolay Sivov 62656c57bf msxml3: Store response data in a stream. 2010-10-07 12:00:27 +02:00
Nikolay Sivov 58bce9422e msxml3: Implement ready state change callback. 2010-10-06 14:41:03 +02:00
Nikolay Sivov 7ff3446be5 msxml3: Accept versioned XMLHTTP CLSIDs. 2010-10-06 14:41:03 +02:00
Nikolay Sivov 59c5bd2956 msxml3: Don't fail trying to set NewParser property. 2010-10-06 14:41:03 +02:00
Nikolay Sivov 7e7b2a3f82 msxml3: Implemented ::get_status(). 2010-10-05 13:05:14 +02:00
Nikolay Sivov 1441dc9400 msxml3: Silence more failed urlmon interface queries. 2010-10-05 13:05:08 +02:00
Nikolay Sivov b36fe07a4d msxml3: Store user defined request headers on transaction beginning. 2010-10-05 13:05:03 +02:00
Adam Martinson 4f78c04ec8 msxml3: XSLPattern support.
Parse XSLPattern queries and translate them into equivalent XPath queries.
XSLPattern built-in functions/operators are translated to their XPath
counterparts where applicable.  If no direct XPath counterpart exists,
they are registered as custom XPath functions for the sake of speed where
possible.  As a last resort, they are translated into compound XPath
expressions to accomplish the task, if more slowly.
If the parser encounters an error, the original XSLPattern query is
returned, as this is more likely to work than a mangled one.
2010-10-04 16:18:54 +02:00
Adam Martinson ff644cb1b1 msxml3: Partial stub domdoc_validate(). 2010-10-04 15:00:06 +02:00
Adam Martinson 6e6375344b msxml3/tests: Tests for domdoc_validate(). 2010-10-04 15:00:06 +02:00
Adam Martinson 679dbe6f31 msxml3: Stub domdoc_get_readyState(). 2010-10-04 15:00:06 +02:00
Gerald Pfeifer 632a6c7904 msxml3: Use the existing READYSTATE type instead of creating our own enum READYSTATE (and mixing the two). 2010-10-04 14:59:59 +02:00
Nikolay Sivov d69a7165be msxml3: Add basic bind callback for moniker binding. 2010-10-04 14:52:12 +02:00
Adam Martinson 49fa9de580 msxml3: Implement preserveWhiteSpace property. 2010-10-01 14:21:26 +02:00
Alexandre Julliard 7afdf5d920 Make some variable declarations extern. 2010-10-01 13:42:22 +02:00
Alexandre Julliard 730f01801f tests: Make some variables static. 2010-10-01 13:41:42 +02:00
Adam Martinson 776a8662f0 msxml3: Expose the XML parser SAX callback interface.
This eliminates a few function calls; libxml will call this indirectly
through the old method.  By writing our own callback functions or
wrapping the default ones we can manipulate the xmlDoc as it's being
parsed, allowing us to match the way msxml parses.
2010-09-30 17:51:17 +02:00
Nikolay Sivov 1ac256a588 msxml3/httprequest: Implement IXMLHttpRequest::setRequestHeader(). 2010-09-29 11:25:01 +02:00
Nikolay Sivov 2a85bc0367 msxml3/httprequest: Store passed data for IXMLHttpRequest::open(). 2010-09-29 11:24:44 +02:00
Adam Martinson 1f93a47667 msxml3: Move domdoc properties into their own struct.
Unhooks domdoc properties from both the domdoc and xmlDoc.
After the domdoc <-> xmlDoc connection is no longer an open question,
the domdoc::properties pointer can be removed and rerouted through
xmlDoc::_private::properties as long as it's impossible to have a domdoc
with domdoc::node.node == NULL.  With all of the checks for this, the
current code suggests that it's perfectly possible.
2010-09-29 11:14:35 +02:00
Adam Martinson 05f011b735 msxml3: Implement SelectionNamespaces property. 2010-09-29 11:12:47 +02:00
Adam Martinson c515d384ef msxml3/tests: Prevent a double-free in test_get_ownerDocument(). 2010-09-28 17:33:17 +02:00
Nikolay Sivov 5a91bea3b2 msxml3/tests: Fix locale dependent string comparison. 2010-09-20 13:48:12 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Nikolay Sivov af4377f86a msxml3/tests: Store test data as a table for ::nodeTypedValue() tests. 2010-09-18 13:03:51 +02:00
Nikolay Sivov f2ed4de962 msxml3: Remove some useless initializers. 2010-09-18 13:03:44 +02:00
Nikolay Sivov 893e8a46b2 msxml3: Store selected query language in backend document instance. 2010-09-18 13:03:33 +02:00
Nikolay Sivov a930084d86 msxml3: Fix ::selectSingleNode() behaviour on invalid arguments. 2010-09-18 13:03:26 +02:00
Nikolay Sivov e5cd19a4cb msxml3/tests: Don't raise a test error on first try to create a document. 2010-09-16 10:10:37 -05:00
Andrew Nguyen c858e583cd msxml3: Correct the prototype of DOMDocument_create when compiling without libxml2. 2010-09-15 11:29:03 -05:00
Paul Vriens 14316fc17f msxml3/tests: Step to the next item on failure as well. 2010-09-15 10:34:45 -05:00
Nikolay Sivov 9c951e7520 msxml3: Properly set default value for SelectionLanguage property. 2010-09-14 09:42:56 -05:00
Nikolay Sivov 4e94abd710 msxml3: Fix IXMLDOMNode::get_namespaceURI() for empty URIs. 2010-09-14 09:42:43 -05:00
Nikolay Sivov 154c0828bf msxml3: Fix IXMLDOMNode::get_prefix() for empty prefix. 2010-09-14 09:42:36 -05:00
Nikolay Sivov 8d055c7854 msxml3: Support elements with namespaces. 2010-09-14 09:42:29 -05:00
Jacek Caban addefe4ce5 msxml3: Don't use xmlnode's IXMLDOMNode iface in insertBefore implementations. 2010-09-13 10:59:02 -05:00
Jacek Caban e9ebd8c964 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_attributes implementations. 2010-09-13 10:58:56 -05:00
Jacek Caban 55175042eb msxml3: Don't use xmlnode's IXMLDOMNode iface in get_[previous|next]Sibling implementations. 2010-09-13 10:31:58 -05:00
Alistair Leslie-Hughes 5e5cd71ff1 msxml: Added support to create msxml4/6 interfaces. 2010-09-13 10:31:49 -05:00
Joris Huizer 33042ed137 msxml3/tests: Add lastChild tests. 2010-09-09 14:58:23 +02:00
Joris Huizer 37f61acb77 msxml3: Fix copy/paste error in get_lastChild functions. 2010-09-09 12:45:42 +02:00
Jacek Caban 4f210e21a5 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_[first|last]Node implementations. 2010-09-08 19:49:30 +02:00
Jacek Caban c8b15e90bd msxml3: Don't use xmlnode's IXMLDOMNode iface in get_childNode implementations. 2010-09-08 19:49:30 +02:00
Jacek Caban 6e76c894e8 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_nodeType and get_nodeParent implementations. 2010-09-07 16:01:32 +02:00
Jacek Caban 9413fab39e msxml3: Don't use xmlnode's IXMLDOMNode iface in put_nodeValue implementations. 2010-09-07 16:01:26 +02:00
Nikolay Sivov 398e649414 msxml3/tests: Basic test for ::setAttributeNode(). 2010-09-07 11:31:50 +02:00
Nikolay Sivov 97e78d9a0e msxml3/tests: Some tests for ::get_ownerDocument() returned document instance. 2010-09-07 11:31:45 +02:00
Nikolay Sivov 0adfd6cf4c msxml3/domdoc: Implement IXMLDOMNamedNodeMap::removeQualifiedItem(). 2010-09-07 11:31:39 +02:00
Nikolay Sivov e7bfb98e60 msxml3/tests: Add a helper to create document instance, remove useless output. 2010-09-07 11:30:18 +02:00
Jacek Caban 6ce537baac msxml3: Don't use xmlnode's IXMLDOMNode iface in get_nodeValue implementations. 2010-09-06 16:13:22 +02:00
Jacek Caban 7a68fad273 msxml3: Don't use xmlnode's IXMLDOMNode iface in get_nodeName implementations. 2010-09-06 16:13:22 +02:00
Jacek Caban 27b4f11c0b msxml3: Use xmlnode child object's IXMLDOMNode implementation as base interface.
The plan is to get rid of IXMLDOMNode interface in xmlnode object and use 
proper inheritance.
2010-09-06 16:13:22 +02:00
Jacek Caban 8a82ae668a msxml3: Use get_node_obj to get xmlnode from iface in replaceChild implementation. 2010-09-06 16:13:22 +02:00
Jacek Caban 4f61cd2840 msxml3: Use separate object for unknown node type implementation. 2010-09-06 16:13:22 +02:00
Jacek Caban a92e95eab1 msxml3: Use fake IID to safely cast IXMLDOMNode interface to xmlnode object. 2010-09-06 16:13:21 +02:00
Jacek Caban 0670d092f1 msxml3: Added node_query_inerface function for common xmlnode child objects implementation. 2010-09-06 16:13:21 +02:00
Jacek Caban f5348b25af msxml3: Store outer iface as IXMLDOMNode instead of IUnknown in xmlnode. 2010-09-06 16:13:21 +02:00
Alexandre Goujon 8aa6ed97c8 msxml3/tests: Be more verbose when get_text fails. 2010-09-03 16:02:31 +02:00
Nikolay Sivov 0330332aef msxml3: Implement IXMLDOMNamedNodeMap::getQualifiedItem(). 2010-09-03 16:02:31 +02:00
Nikolay Sivov c9b8f5d2ae msxml3: Fix invalid parameter handling for IXMLDOMElement::getElementsByTagName(). 2010-09-03 16:02:31 +02:00
Nikolay Sivov 1ce8be01f2 msxml3: Fix IXMLDOMDocument::getElementsByTagName() for some special cases. 2010-09-02 11:53:26 +02:00
Nikolay Sivov 2a5b375580 msxml3: Dump namespace aliases passed with SelectionNamespaces property. 2010-08-30 11:28:54 +02:00
Nikolay Sivov fd35084294 msxml3: Silence FIXME for supported properties. 2010-08-30 11:28:46 +02:00
Nikolay Sivov 42020c9419 msxml3: Allow FreeThreadedDOMDocument40 to be created. 2010-08-30 11:28:41 +02:00
Nikolay Sivov a0e7b3b93a msxml3/tests: Tests for IXMLDOMText::splitText(), stub is extended a bit. 2010-08-30 11:28:36 +02:00
Nikolay Sivov 92a574b44b msxml3: Implement IXMLDOMCDATASection::splitText(). 2010-08-30 11:28:28 +02:00
Nikolay Sivov 62e521ad0d msxml3: Add IXMLDOMDocument3 stub support. 2010-08-30 11:28:17 +02:00
Nikolay Sivov 25bce451af msxml6: Add stub msxml6, forward DOMDocument60 creation to msxml3. 2010-08-30 11:27:52 +02:00
Francois Gouget 2dbe80bb7e msxml3: Make parse_xml() static. 2010-08-26 13:44:44 +02:00
Paul Vriens fa8f79feb8 msxml3: Ignore a property. 2010-07-28 16:28:20 +02:00
Michael Stefaniuc ea1d37c568 msxml3: Remove the ignored common resource attributes. 2010-07-22 11:41:37 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Nikolay Sivov 331e179632 msxml3: Speed up a IPersistStreamInit::Save() by querying for BSTR length. 2010-07-19 15:16:19 +02:00
Piotr Caban 7a22365674 msxml3: Improve bstr_from_xmlCharN implementation. 2010-07-19 14:38:15 +02:00
Piotr Caban bf263947e7 msxml3: Improve QName_from_xmlChar implementation. 2010-07-19 14:38:15 +02:00
Piotr Caban 3bf94bed3f msxml3: Correctly allocate namespaces stack in saxreader. 2010-07-19 14:38:15 +02:00
Andrey Turkin 1339267ee8 msxml3: Add test to highlight another difference between XSLPattern and XPath. 2010-07-05 13:24:35 +02:00
Nikolay Sivov 4edfeefa64 msxml3: Use proper pointer types for IPersistStreamInit methods. 2010-06-29 13:28:58 +02:00
Nikolay Sivov 6a07cfeb52 msxml3: Add support for IPersistStreamInit for IXMLDOMDocument. 2010-06-29 13:28:58 +02:00
Nikolay Sivov d461d7d213 msxml3: Create additional node for xml declaration. 2010-06-28 16:58:38 +02:00
Piotr Caban a42a0917cd msxml3: Fix illegal memory access. 2010-06-28 11:43:10 +02:00
Nikolay Sivov 89a00ec3ac msxml3/tests: A test to show difference in XPath and XSLPattern for node position. 2010-06-24 10:30:45 +02:00
Nikolay Sivov 16e465c7ae msxml3: Don't free namespace data tracked in a tree.
Fixes regression from ea9a6a4b4e.
2010-06-23 10:34:46 +02:00
Nikolay Sivov 15720f8141 msxml3: Accept CLSID_FreeThreadedDOMDocument30 in class factory. 2010-06-23 10:34:36 +02:00
Nikolay Sivov d24d007fa5 msxml3: Silence a warning in ::get_baseName() for document nodes. 2010-06-23 10:34:28 +02:00
Nikolay Sivov 302fb5f15a msxml3: Use vtable macros consistently, depending on pointer type. 2010-06-22 16:58:37 +02:00
Nikolay Sivov ea9a6a4b4e msxml3: Properly free namespace structure pointer. 2010-06-22 11:22:35 +02:00
Nikolay Sivov 94e88e6712 msxml3: Extend traces for inc/dec refs on libxml2 documents. 2010-06-21 16:48:21 +02:00
Nikolay Sivov 473c5c4cc0 msxml3: Don't crash on null pointer when doing ::Next() on a last child. 2010-06-21 12:25:44 +02:00
Nikolay Sivov b00046ccc4 msxml3: Support xml:lang attribute in IXMLElement::getAttribute(). 2010-06-21 12:25:31 +02:00
Nikolay Sivov c4852be28e msxml3: Don't force parser encoding when loading from file. 2010-06-21 11:47:34 +02:00
Andrew Nguyen 6002cb06fb msxml3/tests: Correct the sense of a few test failure messages. 2010-06-14 15:42:21 +02:00
Andrew Nguyen 9f1fb46543 msxml3: Ignore the encoding attribute when loading a new XML document in IXMLDOMDocument::loadXML. 2010-06-14 15:42:19 +02:00
Andrew Nguyen 341f878cbc msxml3: Add proper skips when msxml3 DOM interfaces are unavailable. 2010-06-14 15:42:16 +02:00
Nikolay Sivov bc3337f86f msxml3: Use defined macros to access internal XPath structures. 2010-06-14 14:14:16 +02:00
Nikolay Sivov 3611791117 msxml3: Avoid SysStringLen() testing for an empty string in ::createNode(). 2010-06-14 14:14:16 +02:00
Michael Stefaniuc 49c5494ff8 msxml3: Remove redundant "not NULL" check of the punk arg. 2010-05-20 13:47:52 +02:00
Alistair Leslie-Hughes 8248040dbe msxml3: Register classes. 2010-04-19 15:42:00 +02:00
André Hentschel b7aec2a215 msxml3: Make xmlnode_get_specified a stub. 2010-03-31 11:47:23 +02:00
André Hentschel 20fbdfc3c2 msxml3: Make xmlnode_get_parsed a stub. 2010-03-31 11:47:19 +02:00
Alexandre Julliard d3d2f4afce msxml3: Remove unnecessary string constants. 2010-03-31 11:47:10 +02:00
Mikhail Maroukhine 88cca2cf76 msxml3: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:14:53 +02:00
Paul Vriens 719d904e35 msxml3/tests: Skip some tests when network connection can't be made. 2010-03-26 17:05:30 +01:00
André Hentschel acdce245ae msxml3: Fix a typo in a comment. 2010-03-23 11:40:59 +01:00
Francois Gouget 3127501f86 msxml3: Add a trailing '\n' to a TRACE(). 2010-03-22 10:48:33 +01:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Nikolay Sivov 2060d80d24 msxml3: Treat input BSTR as general WCHAR string for ::loadXML(). 2010-03-15 14:18:06 +01:00
Reece Dunn 47016df9b7 msxml3/tests: Improve the IObjectSecurity tests to cover msxml3 SP8+ behaviour. 2010-03-01 14:28:54 +01:00
Nikolay Sivov d013991d55 msxml3: Simplify IXMLDOMElement_get_tagName(), add null check. 2010-02-22 11:41:05 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Nikolay Sivov 7a38ecb0d6 msxml3: Avoid direct vtable members internal usage. 2010-02-19 13:07:11 +01:00
Nikolay Sivov b679a690b4 msxml3: Accept IObjectSafety for query from IXMLDOMDocument, fix its implementation. 2010-02-19 13:07:05 +01:00
Nikolay Sivov 16785efc27 msxml3/tests: Fix leaks and wrong pointer use. 2010-02-17 16:30:26 +01:00
Nikolay Sivov abe86a1ef9 msxml3: Use common format for TRACE() in DOM objects. 2010-02-17 09:42:50 +01:00
Nikolay Sivov 3d18a77ae7 msxml3: Get rid of libxml2 accessors in ::substringData() for Text, Comment and CDATA nodes. 2010-02-16 11:33:23 +01:00
Nikolay Sivov 19c30897d4 msxml3: Simplify ::appendData() for Text, Comment and CDATA nodes. 2010-02-16 11:33:11 +01:00
Nikolay Sivov 02066602b6 msxml3: Implement ::replaceData() for Text, Comment and CDATA nodes. 2010-02-16 11:33:03 +01:00
Nikolay Sivov 88d8218731 msxml3: Simplify ::insertData() for Text, Comment and CDATA nodes. 2010-02-16 11:32:55 +01:00
Nikolay Sivov b8282638bb msxml3: Use interface methods for ::get_length() calls. 2010-02-16 11:32:48 +01:00
Nikolay Sivov c1464f8ab9 msxml3: Fix return value for IXMLDOMNode_put_nodeValue() for unsupported types. 2010-02-15 16:09:24 +01:00
Nikolay Sivov 5262c570f1 msxml3: Accept NODE_ENTITY_REFERENCE in ::createNode() and use it for ::createEntityReference(). 2010-02-15 16:09:17 +01:00
Nikolay Sivov 20a240fe41 msxml3: Reimplement IXMLDOMDocument::createProcessingInstruction() on top of ::createNode(). 2010-02-15 16:09:11 +01:00
Nikolay Sivov f414d3cf60 msxml3: Reimplement IXMLDOMDocument::createAttribute() on top of ::createNode(). 2010-02-15 16:09:05 +01:00
Nikolay Sivov f0e885759e msxml3: Reimplement IXMLDOMDocument::createCDATASection() on top ::createNode(). 2010-02-15 16:08:59 +01:00
Nikolay Sivov ce2372667e msxml3: Fix IXMLDOMDocument::createElement(), cast from node to element isn't possible. 2010-02-15 16:08:53 +01:00
Nikolay Sivov 24e198e2ff msxml3: Reimplement IXMLDOMDocument::createTextNode() on top of ::createNode(). 2010-02-15 16:08:44 +01:00
Nikolay Sivov 035566802b msxml3: Fix IXMLDOMDocument::createDocumentFragment(), can't use IXMLDOMNode*->IXMLDOMDocumentFragment* cast. 2010-02-15 16:08:39 +01:00
Nikolay Sivov 760f7ba724 msxml3: Reimplement IXMLDOMDocument::createComment() on top of ::createNode(). 2010-02-15 16:08:29 +01:00
Alistair Leslie-Hughes dd40448707 msxml4: Added support for SAXXMLReader40. 2010-02-15 16:07:59 +01:00
Nikolay Sivov ca01a44164 msxml3: Reimplement IXMLDOMDocument::createElement() over ::createNode(). 2010-02-12 14:49:11 +01:00
Nikolay Sivov 469b0ff6b5 msxml3/tests: Don't try to use wchar buffers as BSTR parameters. 2010-02-12 11:55:51 +01:00
Nikolay Sivov f5a2f4a2b9 msxml3: Reimplement IXMLDOMDocument::createDocumentFragment() over ::createNode(). 2010-02-12 11:55:40 +01:00
Nikolay Sivov 16d83dc7d4 msxml3: Support more node types in IXMLDOMDocument_createNode(). 2010-02-12 11:55:29 +01:00
Nikolay Sivov e2b727807d msxml3: Check for Null out pointer in node creation (with tests). 2010-02-12 11:55:17 +01:00
Nikolay Sivov 875c9c71ab msxml3: Accept PI node in on base name request. 2010-02-10 14:34:06 +01:00
Nikolay Sivov b9d07c5ae5 msxml3/tests: Add a trivial test for IXMLDOMDocumentFragment_get_parentNode(). 2010-02-10 11:32:58 +01:00
Nikolay Sivov f65fd26fe1 msxml3: IXMLDOMAttribute shouldn't report its parent. 2010-02-10 11:32:53 +01:00
Nikolay Sivov a9fc71b48e msxml3: Support comment node type in IXMLDOMNode_get_baseName. 2010-02-09 17:13:38 +01:00
Alexandre Julliard 627c58dcb5 msxml3: Fix building with older libxml versions. 2010-02-09 17:13:36 +01:00
Nikolay Sivov 970ec3d699 msxml3: Create entity reference node properly. 2010-02-09 11:35:27 +01:00