summaryrefslogtreecommitdiff
path: root/xfa/fxfa
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2018-07-03 21:19:36 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-07-03 21:19:36 +0000
commit94f7b75b4d5d1988e599ed4a9a7b6cf451994f1d (patch)
tree07ca359834ff9be154b84bad91408bd327f241ac /xfa/fxfa
parent57e594f047f86bfa4d26864e993ce330ad66bfcd (diff)
downloadpdfium-94f7b75b4d5d1988e599ed4a9a7b6cf451994f1d.tar.xz
Use unowned ptr to Node from outside XFA node tree.chromium/3481
Change-Id: Idcd992224fc5411c97f3001293af83a6c581e695 Reviewed-on: https://pdfium-review.googlesource.com/36991 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'xfa/fxfa')
-rw-r--r--xfa/fxfa/parser/cxfa_nodehelper.cpp10
-rw-r--r--xfa/fxfa/parser/cxfa_nodehelper.h12
-rw-r--r--xfa/fxfa/parser/cxfa_thisproxy.h12
3 files changed, 14 insertions, 20 deletions
diff --git a/xfa/fxfa/parser/cxfa_nodehelper.cpp b/xfa/fxfa/parser/cxfa_nodehelper.cpp
index 7eddddf37b..e4fb8660f9 100644
--- a/xfa/fxfa/parser/cxfa_nodehelper.cpp
+++ b/xfa/fxfa/parser/cxfa_nodehelper.cpp
@@ -17,15 +17,9 @@
#include "xfa/fxfa/parser/xfa_resolvenode_rs.h"
#include "xfa/fxfa/parser/xfa_utils.h"
-CXFA_NodeHelper::CXFA_NodeHelper()
- : m_eLastCreateType(XFA_Element::DataValue),
- m_pCreateParent(nullptr),
- m_iCreateCount(0),
- m_iCreateFlag(XFA_ResolveNode_RSType_CreateNodeOne),
- m_iCurAllStart(-1),
- m_pAllStartParent(nullptr) {}
+CXFA_NodeHelper::CXFA_NodeHelper() = default;
-CXFA_NodeHelper::~CXFA_NodeHelper() {}
+CXFA_NodeHelper::~CXFA_NodeHelper() = default;
CXFA_Node* CXFA_NodeHelper::ResolveNodes_GetOneChild(CXFA_Node* parent,
const wchar_t* pwsName,
diff --git a/xfa/fxfa/parser/cxfa_nodehelper.h b/xfa/fxfa/parser/cxfa_nodehelper.h
index e13387ec9e..b53e1f4063 100644
--- a/xfa/fxfa/parser/cxfa_nodehelper.h
+++ b/xfa/fxfa/parser/cxfa_nodehelper.h
@@ -61,12 +61,12 @@ class CXFA_NodeHelper {
void SetCreateNodeType(CXFA_Node* refNode);
bool NodeIsProperty(CXFA_Node* refNode);
- XFA_Element m_eLastCreateType;
- CXFA_Node* m_pCreateParent;
- int32_t m_iCreateCount;
- XFA_ResolveNode_RSType m_iCreateFlag;
- int32_t m_iCurAllStart;
- CXFA_Node* m_pAllStartParent;
+ XFA_Element m_eLastCreateType = XFA_Element::DataValue;
+ XFA_ResolveNode_RSType m_iCreateFlag = XFA_ResolveNode_RSType_CreateNodeOne;
+ int32_t m_iCreateCount = 0;
+ int32_t m_iCurAllStart = -1;
+ UnownedPtr<CXFA_Node> m_pCreateParent;
+ UnownedPtr<CXFA_Node> m_pAllStartParent;
};
#endif // XFA_FXFA_PARSER_CXFA_NODEHELPER_H_
diff --git a/xfa/fxfa/parser/cxfa_thisproxy.h b/xfa/fxfa/parser/cxfa_thisproxy.h
index 4bb0f5a1b5..197a97da67 100644
--- a/xfa/fxfa/parser/cxfa_thisproxy.h
+++ b/xfa/fxfa/parser/cxfa_thisproxy.h
@@ -7,21 +7,21 @@
#ifndef XFA_FXFA_PARSER_CXFA_THISPROXY_H_
#define XFA_FXFA_PARSER_CXFA_THISPROXY_H_
+#include "core/fxcrt/unowned_ptr.h"
+#include "xfa/fxfa/parser/cxfa_node.h"
#include "xfa/fxfa/parser/cxfa_object.h"
-class CXFA_Node;
-
class CXFA_ThisProxy : public CXFA_Object {
public:
CXFA_ThisProxy(CXFA_Node* pThisNode, CXFA_Node* pScriptNode);
~CXFA_ThisProxy() override;
- CXFA_Node* GetThisNode() const { return m_pThisNode; }
- CXFA_Node* GetScriptNode() const { return m_pScriptNode; }
+ CXFA_Node* GetThisNode() const { return m_pThisNode.Get(); }
+ CXFA_Node* GetScriptNode() const { return m_pScriptNode.Get(); }
private:
- CXFA_Node* m_pThisNode;
- CXFA_Node* m_pScriptNode;
+ UnownedPtr<CXFA_Node> m_pThisNode;
+ UnownedPtr<CXFA_Node> m_pScriptNode;
};
#endif // XFA_FXFA_PARSER_CXFA_THISPROXY_H_