summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_node.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2017-11-14 18:40:53 +0000
committerChromium commit bot <commit-bot@chromium.org>2017-11-14 18:40:53 +0000
commit83cb4369f97a244fc34633b31b3b75abb993a392 (patch)
tree4a09f4e17e44e159ef530753f16cf1b931946737 /xfa/fxfa/parser/cxfa_node.h
parentd1b1127cd452a173ec119587c3a6e137e27df6d7 (diff)
downloadpdfium-83cb4369f97a244fc34633b31b3b75abb993a392.tar.xz
Remove CXFA_Node friend class
This CL removes the CXFA_Document friendship with CXFA_Node and adds a CXFA_Node::Create method to create the node objects. Change-Id: If77f9a631b3aa0720803c869446135b8cc17d3c3 Reviewed-on: https://pdfium-review.googlesource.com/18250 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_node.h')
-rw-r--r--xfa/fxfa/parser/cxfa_node.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h
index 47be027d28..073fd5261f 100644
--- a/xfa/fxfa/parser/cxfa_node.h
+++ b/xfa/fxfa/parser/cxfa_node.h
@@ -8,6 +8,7 @@
#define XFA_FXFA_PARSER_CXFA_NODE_H_
#include <map>
+#include <memory>
#include <vector>
#include "core/fxcrt/fx_string.h"
@@ -45,6 +46,10 @@ const XFA_ATTRIBUTEENUMINFO* GetAttributeEnumByID(XFA_ATTRIBUTEENUM eName);
class CXFA_Node : public CXFA_Object {
public:
+ static std::unique_ptr<CXFA_Node> Create(CXFA_Document* doc,
+ XFA_XDPPACKET packet,
+ const XFA_ELEMENTINFO* pElement);
+
~CXFA_Node() override;
uint32_t GetPacketID() const { return m_ePacket; }
@@ -136,8 +141,6 @@ class CXFA_Node : public CXFA_Object {
CXFA_Node* GetOccurNode();
private:
- friend class CXFA_Document;
-
CXFA_Node(CXFA_Document* pDoc,
uint16_t ePacket,
XFA_ObjectType oType,