summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_object.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2018-01-22 18:41:36 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-01-22 18:41:36 +0000
commitd7d584df24fda9c9a28330959cc28f94dc0294e2 (patch)
tree114c9f6dbbd0d0cd9b0d964c95978bca95b7708d /xfa/fxfa/parser/cxfa_object.h
parent434e28dd41e37dc829440aab1eb4cb4ec561962b (diff)
downloadpdfium-d7d584df24fda9c9a28330959cc28f94dc0294e2.tar.xz
Add flag to notify if a node widget is ready
This CL updates CXFA_Object to have a flag which annotates if the node is ready. Ready means that we've gone through the OnNodeReady call in CXFA_FFNotify. Previously we'd check if the WidgetAcc exists on the node which is created in OnNodeReady. This CL replaces all the points where we check for a WidgetAcc existing with a IsWidgetReady() call. Change-Id: I54e8160269c3104cdae7a516c1814c13bee15130 Reviewed-on: https://pdfium-review.googlesource.com/23190 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa/fxfa/parser/cxfa_object.h')
-rw-r--r--xfa/fxfa/parser/cxfa_object.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/xfa/fxfa/parser/cxfa_object.h b/xfa/fxfa/parser/cxfa_object.h
index 5d5f31c647..3843aafb33 100644
--- a/xfa/fxfa/parser/cxfa_object.h
+++ b/xfa/fxfa/parser/cxfa_object.h
@@ -78,8 +78,13 @@ class CXFA_Object : public CFXJSE_HostObject {
m_elementType == XFA_Element::Subform ||
m_elementType == XFA_Element::ExclGroup;
}
- void CreateWidgetAcc();
- CXFA_WidgetAcc* GetWidgetAcc() { return acc_.get(); }
+ 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; }
@@ -97,7 +102,7 @@ class CXFA_Object : public CFXJSE_HostObject {
UnownedPtr<CXFA_Document> 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;