This MR introduces an initial implementation for `ReadPackageFromStream` in order to be able to decompress/read OPC packages, and enumerate their parts.
This is required for supporting AppX packages, which themselves are OPC packages as well. As such, the code does not implement support for reading relationships or interleaved archives, as AppX does not support either (`APPX_E_RELATIONSHIPS_NOT_ALLOWED`, `APPX_E_INTERLEAVING_NOT_ALLOWED`).
--
v3: opcservices: Implement IOpcPart::GetContentType for opened packages.
opcservices: Implement IOpcPart::GetContentStream for opened packages.
opcservices: Create IOpcPart objects for ZIP entries in an opened package.
opcservices: Write the correct compression-related fields while adding files to a ZIP archive.
opcservices: Add stubs for ReadPackageFromStream.
opcservices/tests: Add tests for ReadPackageFromStream.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8837
--
v4: mshtml: Implement DOMParser's parseFromString.
mshtml: Move document dispex info initialization to create_document_node.
mshtml: Implement anchors prop for XML documents.
mshtml: Fallback to text/xml for unknown content types ending with +xml
mshtml: Use Gecko's responseXML to create the XML document in IE10 and up.
mshtml: Implement DOMParser constructor and instance object.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8821