diff options
author | dan sinclair <dsinclair@chromium.org> | 2018-04-17 18:12:38 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-17 18:12:38 +0000 |
commit | bc069b7a855998ab28f487d2f09152851dddb16a (patch) | |
tree | b50e3713a80177034a3fc7a2c12920c15aeb7056 /core/fxcrt/xml/cfx_xmlelement.cpp | |
parent | 8b4a3c7ef32b2ffb4874e4cc65b38ee555d8806e (diff) | |
download | pdfium-bc069b7a855998ab28f487d2f09152851dddb16a.tar.xz |
Use an IFX_SeekableStream for XML saving
This CL converts the CFX_XML Save methods to take an IFX_SeekableStream instead
of a CFX_SeekableStreamProxy.
Change-Id: I6b3f6acc9f51e73b3c863b965b4dcdcbd25ba949
Reviewed-on: https://pdfium-review.googlesource.com/30850
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxcrt/xml/cfx_xmlelement.cpp')
-rw-r--r-- | core/fxcrt/xml/cfx_xmlelement.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/core/fxcrt/xml/cfx_xmlelement.cpp b/core/fxcrt/xml/cfx_xmlelement.cpp index 42588c6393..c54d8488a3 100644 --- a/core/fxcrt/xml/cfx_xmlelement.cpp +++ b/core/fxcrt/xml/cfx_xmlelement.cpp @@ -93,30 +93,31 @@ void CFX_XMLElement::SetTextData(const WideString& wsText) { AppendChild(new CFX_XMLText(wsText)); } -void CFX_XMLElement::Save( - const RetainPtr<CFX_SeekableStreamProxy>& pXMLStream) { - pXMLStream->WriteString(L"<"); - pXMLStream->WriteString(name_.AsStringView()); +void CFX_XMLElement::Save(const RetainPtr<IFX_SeekableStream>& pXMLStream) { + ByteStringView name_encoded = name_.UTF8Encode().AsStringView(); + + pXMLStream->WriteString("<"); + pXMLStream->WriteString(name_encoded); for (auto it : attrs_) { pXMLStream->WriteString( - AttributeToString(it.first, it.second).AsStringView()); + AttributeToString(it.first, it.second).UTF8Encode().AsStringView()); } if (!GetFirstChild()) { - pXMLStream->WriteString(L" />"); + pXMLStream->WriteString(" />\n"); return; } - pXMLStream->WriteString(L">"); + pXMLStream->WriteString(">\n"); for (CFX_XMLNode* pChild = GetFirstChild(); pChild; pChild = pChild->GetNextSibling()) { pChild->Save(pXMLStream); } - pXMLStream->WriteString(L"</"); - pXMLStream->WriteString(name_.AsStringView()); - pXMLStream->WriteString(L"\n>"); + pXMLStream->WriteString("</"); + pXMLStream->WriteString(name_encoded); + pXMLStream->WriteString(">\n"); } CFX_XMLElement* CFX_XMLElement::GetFirstChildNamed( |