summaryrefslogtreecommitdiff
path: root/core/fxcrt/xml/cfx_xmlinstruction.cpp
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2018-05-02 16:02:03 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-05-02 16:02:03 +0000
commit70180648ffd01dd3716871758411d2031aaaebbe (patch)
tree6cc1d7aa3df8c3e343a1ef6f7e032bae8499f6db /core/fxcrt/xml/cfx_xmlinstruction.cpp
parent8ab2b2b2869f769dc169b4a96bb67ec596d5278b (diff)
downloadpdfium-70180648ffd01dd3716871758411d2031aaaebbe.tar.xz
Add a CFX_XMLDocument class.
This CL adds a CFX_XMLDocument to act as the XML node container. All nodes are now owned by the document and the document is returned by the CFX_XMLParser. Classes which parse XML files now store the document instead of the root node. BUG: chromium:835636 Change-Id: I1e07d6115cf14714911d6fd4c3fa920c94fd5faf Reviewed-on: https://pdfium-review.googlesource.com/31313 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fxcrt/xml/cfx_xmlinstruction.cpp')
-rw-r--r--core/fxcrt/xml/cfx_xmlinstruction.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/core/fxcrt/xml/cfx_xmlinstruction.cpp b/core/fxcrt/xml/cfx_xmlinstruction.cpp
index b7a87b588a..32841fb68e 100644
--- a/core/fxcrt/xml/cfx_xmlinstruction.cpp
+++ b/core/fxcrt/xml/cfx_xmlinstruction.cpp
@@ -10,6 +10,7 @@
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/fx_extension.h"
+#include "core/fxcrt/xml/cfx_xmldocument.h"
#include "third_party/base/ptr_util.h"
#include "third_party/base/stl_util.h"
@@ -22,10 +23,10 @@ FX_XMLNODETYPE CFX_XMLInstruction::GetType() const {
return FX_XMLNODE_Instruction;
}
-std::unique_ptr<CFX_XMLNode> CFX_XMLInstruction::Clone() {
- auto pClone = pdfium::MakeUnique<CFX_XMLInstruction>(name_);
- pClone->m_TargetData = m_TargetData;
- return std::move(pClone);
+CFX_XMLNode* CFX_XMLInstruction::Clone(CFX_XMLDocument* doc) {
+ auto* node = doc->CreateNode<CFX_XMLInstruction>(name_);
+ node->m_TargetData = m_TargetData;
+ return node;
}
void CFX_XMLInstruction::AppendData(const WideString& wsData) {