diff options
author | dan sinclair <dsinclair@chromium.org> | 2018-04-17 21:34:18 +0000 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-04-17 21:34:18 +0000 |
commit | 13aa65a71294cac6e4bdaab73ddd6f4b9fcd8676 (patch) | |
tree | 478874bff3e2831949884adfe750a4924832eb54 /xfa/fxfa/parser/cxfa_node.cpp | |
parent | 35939f83e45b67de4ccc8c3e70e5e00be40326b6 (diff) | |
download | pdfium-13aa65a71294cac6e4bdaab73ddd6f4b9fcd8676.tar.xz |
Add ownership to CFX_XMLNode children
This CL sets the CFX_XML tree ownership. The pointers set into the tree
must be unique_ptrs and the CFX_XMLNode children are set to be either
unique_ptrs or UnownedPtrs.
Change-Id: Ib0db495c81471e40f5b4533503f7bbe5a784fd77
Reviewed-on: https://pdfium-review.googlesource.com/30711
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_node.cpp')
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index 7da4ed551d..3399023037 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp @@ -1158,14 +1158,8 @@ void CXFA_Node::InsertChild(int32_t index, CXFA_Node* pNode) { return; ASSERT(!pNode->xml_node_->GetParent()); - - xml_node_->InsertChildNode(pNode->xml_node_.Get(), index); - if (pNode->xml_node_.IsOwned()) { - // We remove ownership of the XML node from pNode and transfer the ownership - // into the XML tree, the pNode still has an unowned pointer to the XML - // node. - pNode->xml_node_.Release().release(); - } + ASSERT(pNode->xml_node_.IsOwned()); + xml_node_->InsertChildNode(pNode->xml_node_.Release(), index); } void CXFA_Node::InsertChild(CXFA_Node* pNode, CXFA_Node* pBeforeNode) { |