diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2018-02-13 21:27:44 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-02-13 21:27:44 +0000 |
commit | 9c112f92d4c2046d5a4f8538f4d18b74a87649d4 (patch) | |
tree | ffd0ba656902d28257e6560c8713df895802d313 /core/fxcrt/xml | |
parent | 20eb52e66c565d36a78dc1399f04f7485ccf8fe6 (diff) | |
download | pdfium-9c112f92d4c2046d5a4f8538f4d18b74a87649d4.tar.xz |
Cleanup CFX_XMLDoc::SaveXMLNode
The CFX_XMLDoc::SaveXMLNode method is almost an exact copy of the
CFX_XMLNode::SaveXMLNode. This CL removes the XMLDoc variant and calls
the XMLNode method directly.
This Removes the need to pass the CXFA_DocumentParser into CXFA_Document
and we can instead pass in the CXFA_FFNotify object directly.
Change-Id: Ic3c8c66375483fe73b44dd84064a1b71b039d61c
Reviewed-on: https://pdfium-review.googlesource.com/26530
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxcrt/xml')
-rw-r--r-- | core/fxcrt/xml/cfx_xmldoc.cpp | 111 | ||||
-rw-r--r-- | core/fxcrt/xml/cfx_xmldoc.h | 2 |
2 files changed, 0 insertions, 113 deletions
diff --git a/core/fxcrt/xml/cfx_xmldoc.cpp b/core/fxcrt/xml/cfx_xmldoc.cpp index 1c3785d313..236ab05c37 100644 --- a/core/fxcrt/xml/cfx_xmldoc.cpp +++ b/core/fxcrt/xml/cfx_xmldoc.cpp @@ -47,114 +47,3 @@ void CFX_XMLDoc::CloseXML() { m_pXMLParser.reset(); } -void CFX_XMLDoc::SaveXMLNode( - const RetainPtr<CFX_SeekableStreamProxy>& pXMLStream, - CFX_XMLNode* pINode) { - CFX_XMLNode* pNode = (CFX_XMLNode*)pINode; - switch (pNode->GetType()) { - case FX_XMLNODE_Instruction: { - CFX_XMLInstruction* pInstruction = (CFX_XMLInstruction*)pNode; - if (pInstruction->GetName().CompareNoCase(L"xml") == 0) { - WideString ws = L"<?xml version=\"1.0\" encoding=\""; - uint16_t wCodePage = pXMLStream->GetCodePage(); - if (wCodePage == FX_CODEPAGE_UTF16LE) { - ws += L"UTF-16"; - } else if (wCodePage == FX_CODEPAGE_UTF16BE) { - ws += L"UTF-16be"; - } else { - ws += L"UTF-8"; - } - ws += L"\"?>"; - pXMLStream->WriteString(ws.AsStringView()); - } else { - WideString ws = - WideString::Format(L"<?%ls", pInstruction->GetName().c_str()); - pXMLStream->WriteString(ws.AsStringView()); - - for (auto it : pInstruction->GetAttributes()) { - WideString wsValue = it.second; - wsValue.Replace(L"&", L"&"); - wsValue.Replace(L"<", L"<"); - wsValue.Replace(L">", L">"); - wsValue.Replace(L"\'", L"'"); - wsValue.Replace(L"\"", L"""); - - ws = L" "; - ws += it.first; - ws += L"=\""; - ws += wsValue; - ws += L"\""; - pXMLStream->WriteString(ws.AsStringView()); - } - - for (auto target : pInstruction->GetTargetData()) { - ws = L" \""; - ws += target; - ws += L"\""; - pXMLStream->WriteString(ws.AsStringView()); - } - ws = L"?>"; - pXMLStream->WriteString(ws.AsStringView()); - } - break; - } - case FX_XMLNODE_Element: { - WideString ws; - ws = L"<"; - ws += static_cast<CFX_XMLElement*>(pNode)->GetName(); - pXMLStream->WriteString(ws.AsStringView()); - - for (auto it : static_cast<CFX_XMLElement*>(pNode)->GetAttributes()) { - WideString wsValue = it.second; - wsValue.Replace(L"&", L"&"); - wsValue.Replace(L"<", L"<"); - wsValue.Replace(L">", L">"); - wsValue.Replace(L"\'", L"'"); - wsValue.Replace(L"\"", L"""); - - ws = L" "; - ws += it.first; - ws += L"=\""; - ws += wsValue; - ws += L"\""; - pXMLStream->WriteString(ws.AsStringView()); - } - if (pNode->m_pChild) { - ws = L"\n>"; - pXMLStream->WriteString(ws.AsStringView()); - CFX_XMLNode* pChild = pNode->m_pChild; - while (pChild) { - SaveXMLNode(pXMLStream, static_cast<CFX_XMLNode*>(pChild)); - pChild = pChild->m_pNext; - } - ws = L"</"; - ws += static_cast<CFX_XMLElement*>(pNode)->GetName(); - ws += L"\n>"; - } else { - ws = L"\n/>"; - } - pXMLStream->WriteString(ws.AsStringView()); - break; - } - case FX_XMLNODE_Text: { - WideString ws = static_cast<CFX_XMLText*>(pNode)->GetText(); - ws.Replace(L"&", L"&"); - ws.Replace(L"<", L"<"); - ws.Replace(L">", L">"); - ws.Replace(L"\'", L"'"); - ws.Replace(L"\"", L"""); - pXMLStream->WriteString(ws.AsStringView()); - break; - } - case FX_XMLNODE_CharData: { - WideString ws = L"<![CDATA["; - ws += static_cast<CFX_XMLCharData*>(pNode)->GetText(); - ws += L"]]>"; - pXMLStream->WriteString(ws.AsStringView()); - break; - } - case FX_XMLNODE_Unknown: - default: - break; - } -} diff --git a/core/fxcrt/xml/cfx_xmldoc.h b/core/fxcrt/xml/cfx_xmldoc.h index 28de7fdba1..8ab6b8fea4 100644 --- a/core/fxcrt/xml/cfx_xmldoc.h +++ b/core/fxcrt/xml/cfx_xmldoc.h @@ -24,8 +24,6 @@ class CFX_XMLDoc { void CloseXML(); CFX_XMLNode* GetRoot() const { return m_pRoot.get(); } - void SaveXMLNode(const RetainPtr<CFX_SeekableStreamProxy>& pXMLStream, - CFX_XMLNode* pNode); private: int32_t m_iStatus; |