diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2018-01-04 10:26:49 -0500 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2018-01-04 16:45:31 +0000 |
commit | 8ee5207f4f792295badd21f90727e8c810e7dbdf (patch) | |
tree | bb4138654ad69cd8c3750b687f494d6fefeef803 /xfa | |
parent | 72fe435e80807c91dbf8edc41d5bf3ec3c9bd9e4 (diff) | |
download | pdfium-8ee5207f4f792295badd21f90727e8c810e7dbdf.tar.xz |
Make CXFA_WidgetData constructor protected
This CL removes all the direct creation of CXFA_WidgetData elements and
makes the constructor protected.
Change-Id: I2e9aa11cab8c1e26f7cfa9fd32329f0841fab010
Reviewed-on: https://pdfium-review.googlesource.com/22251
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'xfa')
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.cpp | 9 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_node.h | 1 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_widgetdata.cpp | 10 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_widgetdata.h | 3 |
4 files changed, 13 insertions, 10 deletions
diff --git a/xfa/fxfa/parser/cxfa_node.cpp b/xfa/fxfa/parser/cxfa_node.cpp index ac1398822d..9a1dec6716 100644 --- a/xfa/fxfa/parser/cxfa_node.cpp +++ b/xfa/fxfa/parser/cxfa_node.cpp @@ -621,6 +621,15 @@ CXFA_WidgetData* CXFA_Node::GetContainerWidgetData() { : nullptr; } +IFX_Locale* CXFA_Node::GetLocale() { + WideString wsLocaleName; + if (!GetLocaleName(wsLocaleName)) + return nullptr; + if (wsLocaleName == L"ambient") + return GetDocument()->GetLocalMgr()->GetDefLocale(); + return GetDocument()->GetLocalMgr()->GetLocaleByName(wsLocaleName); +} + bool CXFA_Node::GetLocaleName(WideString& wsLocaleName) { CXFA_Node* pForm = GetDocument()->GetXFAObject(XFA_HASHCODE_Form)->AsNode(); CXFA_Subform* pTopSubform = diff --git a/xfa/fxfa/parser/cxfa_node.h b/xfa/fxfa/parser/cxfa_node.h index b41a27ef01..194f870d76 100644 --- a/xfa/fxfa/parser/cxfa_node.h +++ b/xfa/fxfa/parser/cxfa_node.h @@ -183,6 +183,7 @@ class CXFA_Node : public CXFA_Object { bool HasBindItem(); CXFA_WidgetData* GetWidgetData(); CXFA_WidgetData* GetContainerWidgetData(); + IFX_Locale* GetLocale(); bool GetLocaleName(WideString& wsLocaleName); XFA_AttributeEnum GetIntact(); diff --git a/xfa/fxfa/parser/cxfa_widgetdata.cpp b/xfa/fxfa/parser/cxfa_widgetdata.cpp index 7771d33d01..68063e2a07 100644 --- a/xfa/fxfa/parser/cxfa_widgetdata.cpp +++ b/xfa/fxfa/parser/cxfa_widgetdata.cpp @@ -1500,15 +1500,7 @@ WideString CXFA_WidgetData::GetPictureContent(XFA_VALUEPICTURE ePicture) { } IFX_Locale* CXFA_WidgetData::GetLocale() { - if (!m_pNode) - return nullptr; - - WideString wsLocaleName; - if (!m_pNode->GetLocaleName(wsLocaleName)) - return nullptr; - if (wsLocaleName == L"ambient") - return m_pNode->GetDocument()->GetLocalMgr()->GetDefLocale(); - return m_pNode->GetDocument()->GetLocalMgr()->GetLocaleByName(wsLocaleName); + return m_pNode ? m_pNode->GetLocale() : nullptr; } WideString CXFA_WidgetData::GetValue(XFA_VALUEPICTURE eValueType) { diff --git a/xfa/fxfa/parser/cxfa_widgetdata.h b/xfa/fxfa/parser/cxfa_widgetdata.h index 941eead3fd..4b11521b6f 100644 --- a/xfa/fxfa/parser/cxfa_widgetdata.h +++ b/xfa/fxfa/parser/cxfa_widgetdata.h @@ -44,7 +44,6 @@ class IFX_Locale; class CXFA_WidgetData { public: - explicit CXFA_WidgetData(CXFA_Node* pNode); virtual ~CXFA_WidgetData(); CXFA_Node* GetNode() const { return m_pNode; } @@ -178,6 +177,8 @@ class CXFA_WidgetData { void SetIsNull(bool val) { m_bIsNull = val; } protected: + explicit CXFA_WidgetData(CXFA_Node* pNode); + CXFA_Node* m_pNode; private: |