From 6221f22c79a532f7dd422cc51afb91cb35bc349d Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Mon, 22 Jan 2018 20:03:17 +0000 Subject: Move WidgetAcc and IsWidgetReady to CXFA_Node This CL moves the widget_acc storage and the is_widget_ready flag from CXFA_Object to CXFA_Node. Change-Id: I96aeb38a854f227985a5549dc67f1b84d924abb8 Reviewed-on: https://pdfium-review.googlesource.com/23330 Commit-Queue: dsinclair Reviewed-by: Henrique Nakashima --- xfa/fxfa/parser/cxfa_node.cpp | 5 +++++ xfa/fxfa/parser/cxfa_node.h | 10 ++++++++++ xfa/fxfa/parser/cxfa_object.cpp | 5 ----- xfa/fxfa/parser/cxfa_object.h | 10 ---------- 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index 6a510cc0d4..90103673cd 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp @@ -1830,6 +1830,11 @@ CXFA_Node* CXFA_Node::GetExclGroupIfExists() { return pExcl; } +void CXFA_Node::SetWidgetReady() { + acc_ = pdfium::MakeUnique(AsNode()); + is_widget_ready_ = true; +} + int32_t CXFA_Node::ProcessEvent(CXFA_FFDocView* docView, XFA_AttributeEnum iActivity, CXFA_EventParam* pEventParam) { diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h index e99180e0dd..fa455ba21b 100644 --- a/xfa/fxfa/parser/cxfa_node.h +++ b/xfa/fxfa/parser/cxfa_node.h @@ -304,6 +304,14 @@ class CXFA_Node : public CXFA_Object { bool IsNull() const { return m_bIsNull; } void SetIsNull(bool val) { m_bIsNull = val; } + void SetWidgetReady(); + bool IsWidgetReady() const { return is_widget_ready_; } + CXFA_WidgetAcc* GetWidgetAcc() { + ASSERT(IsWidgetReady()); + ASSERT(acc_.get() != nullptr); + return acc_.get(); + } + protected: CXFA_Node(CXFA_Document* pDoc, XFA_PacketType ePacket, @@ -371,6 +379,8 @@ class CXFA_Node : public CXFA_Object { XFA_Element m_eUIType = XFA_Element::Unknown; bool m_bIsNull = true; bool m_bPreNull = true; + bool is_widget_ready_ = false; + std::unique_ptr acc_; }; #endif // XFA_FXFA_PARSER_CXFA_NODE_H_ diff --git a/xfa/fxfa/parser/cxfa_object.cpp b/xfa/fxfa/parser/cxfa_object.cpp index 0c866d350a..a716c651f5 100644 --- a/xfa/fxfa/parser/cxfa_object.cpp +++ b/xfa/fxfa/parser/cxfa_object.cpp @@ -56,11 +56,6 @@ const CXFA_TreeList* CXFA_Object::AsTreeList() const { return IsTreeList() ? static_cast(this) : nullptr; } -void CXFA_Object::SetWidgetReady() { - acc_ = pdfium::MakeUnique(AsNode()); - is_widget_ready_ = true; -} - CXFA_Node* ToNode(CXFA_Object* pObj) { return pObj ? pObj->AsNode() : nullptr; } diff --git a/xfa/fxfa/parser/cxfa_object.h b/xfa/fxfa/parser/cxfa_object.h index 3843aafb33..20412dcbf7 100644 --- a/xfa/fxfa/parser/cxfa_object.h +++ b/xfa/fxfa/parser/cxfa_object.h @@ -31,7 +31,6 @@ class CJX_Object; class CXFA_Document; class CXFA_Node; class CXFA_TreeList; -class CXFA_WidgetAcc; class CXFA_Object : public CFXJSE_HostObject { public: @@ -78,13 +77,6 @@ class CXFA_Object : public CFXJSE_HostObject { m_elementType == XFA_Element::Subform || m_elementType == XFA_Element::ExclGroup; } - void SetWidgetReady(); - bool IsWidgetReady() const { return is_widget_ready_; } - CXFA_WidgetAcc* GetWidgetAcc() { - ASSERT(IsWidgetReady()); - ASSERT(acc_.get() != nullptr); - return acc_.get(); - } XFA_Element GetElementType() const { return m_elementType; } WideStringView GetClassName() const { return m_elementName; } @@ -102,12 +94,10 @@ class CXFA_Object : public CFXJSE_HostObject { UnownedPtr const m_pDocument; const XFA_ObjectType m_objectType; const XFA_Element m_elementType; - bool is_widget_ready_ = false; const uint32_t m_elementNameHash; const WideStringView m_elementName; std::unique_ptr m_pJSObject; - std::unique_ptr acc_; }; CXFA_Node* ToNode(CXFA_Object* pObj); -- cgit v1.2.3