diff options
author | Tom Sepez <tsepez@chromium.org> | 2017-05-19 16:12:24 -0700 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-05-20 00:03:51 +0000 |
commit | 7936fd1091f3101ba99c270e9d83a66b798cee39 (patch) | |
tree | ac111f5a1a7c2e23ed0a4d4ae80c054085024a4a | |
parent | bf014cf0006a70dfb959585c7e50ec6f4f7be6c3 (diff) | |
download | pdfium-7936fd1091f3101ba99c270e9d83a66b798cee39.tar.xz |
Use unowned ptr from CXFA_FFDocView to CXFA_FFDoc
There's an unique_ptr going in the other direction, so it must outlive this.
Change-Id: I28a77fbff67e6682360414e26c807d707602e140
Reviewed-on: https://pdfium-review.googlesource.com/5736
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
-rw-r--r-- | xfa/fxfa/cxfa_ffdocview.cpp | 22 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffdocview.h | 4 |
2 files changed, 14 insertions, 12 deletions
diff --git a/xfa/fxfa/cxfa_ffdocview.cpp b/xfa/fxfa/cxfa_ffdocview.cpp index c1a8a67336..d021740edc 100644 --- a/xfa/fxfa/cxfa_ffdocview.cpp +++ b/xfa/fxfa/cxfa_ffdocview.cpp @@ -253,7 +253,7 @@ void CXFA_FFDocView::ResetWidgetData(CXFA_WidgetAcc* pWidgetAcc) { } } if (bChanged) { - m_pDoc->GetDocEnvironment()->SetChangeMark(m_pDoc); + m_pDoc->GetDocEnvironment()->SetChangeMark(m_pDoc.Get()); } } int32_t CXFA_FFDocView::ProcessWidgetEvent(CXFA_EventParam* pParam, @@ -382,7 +382,8 @@ void CXFA_FFDocView::SetFocusWidgetAcc(CXFA_WidgetAcc* pWidgetAcc) { if (SetFocus(pNewFocus)) { m_pFocusAcc = pWidgetAcc; if (m_iStatus == XFA_DOCVIEW_LAYOUTSTATUS_End) - m_pDoc->GetDocEnvironment()->SetFocusWidget(m_pDoc, m_pFocusWidget.Get()); + m_pDoc->GetDocEnvironment()->SetFocusWidget(m_pDoc.Get(), + m_pFocusWidget.Get()); } } @@ -663,7 +664,7 @@ void CXFA_FFDocView::RunCalculateRecursive(int32_t& iIndex) { } int32_t CXFA_FFDocView::RunCalculateWidgets() { - if (!m_pDoc->GetDocEnvironment()->IsCalculationsEnabled(m_pDoc)) { + if (!m_pDoc->GetDocEnvironment()->IsCalculationsEnabled(m_pDoc.Get())) { return XFA_EVENTERROR_Disabled; } int32_t iCounts = pdfium::CollectionSize<int32_t>(m_CalculateAccs); @@ -690,7 +691,7 @@ bool CXFA_FFDocView::InitCalculate(CXFA_Node* pNode) { } bool CXFA_FFDocView::InitValidate(CXFA_Node* pNode) { - if (!m_pDoc->GetDocEnvironment()->IsValidationsEnabled(m_pDoc)) + if (!m_pDoc->GetDocEnvironment()->IsValidationsEnabled(m_pDoc.Get())) return false; ExecEventActivityByDeepFirst(pNode, XFA_EVENT_Validate, false, true, nullptr); @@ -699,7 +700,7 @@ bool CXFA_FFDocView::InitValidate(CXFA_Node* pNode) { } bool CXFA_FFDocView::RunValidate() { - if (!m_pDoc->GetDocEnvironment()->IsValidationsEnabled(m_pDoc)) + if (!m_pDoc->GetDocEnvironment()->IsValidationsEnabled(m_pDoc.Get())) return false; for (CXFA_WidgetAcc* pAcc : m_ValidateAccs) { @@ -783,16 +784,17 @@ void CXFA_FFDocView::RunBindItems() { } void CXFA_FFDocView::SetChangeMark() { - if (m_iStatus < XFA_DOCVIEW_LAYOUTSTATUS_End) { + if (m_iStatus < XFA_DOCVIEW_LAYOUTSTATUS_End) return; - } - m_pDoc->GetDocEnvironment()->SetChangeMark(m_pDoc); + + m_pDoc->GetDocEnvironment()->SetChangeMark(m_pDoc.Get()); } + CXFA_Node* CXFA_FFDocView::GetRootSubform() { CXFA_Node* pFormPacketNode = ToNode(m_pDoc->GetXFADoc()->GetXFAObject(XFA_HASHCODE_Form)); - if (!pFormPacketNode) { + if (!pFormPacketNode) return nullptr; - } + return pFormPacketNode->GetFirstChildByClass(XFA_Element::Subform); } diff --git a/xfa/fxfa/cxfa_ffdocview.h b/xfa/fxfa/cxfa_ffdocview.h index 83d077b548..3164bcfb6a 100644 --- a/xfa/fxfa/cxfa_ffdocview.h +++ b/xfa/fxfa/cxfa_ffdocview.h @@ -43,7 +43,7 @@ class CXFA_FFDocView { explicit CXFA_FFDocView(CXFA_FFDoc* pDoc); ~CXFA_FFDocView(); - CXFA_FFDoc* GetDoc() { return m_pDoc; } + CXFA_FFDoc* GetDoc() { return m_pDoc.Get(); } int32_t StartLayout(int32_t iStartPage = 0); int32_t DoLayout(); void StopLayout(); @@ -116,7 +116,7 @@ class CXFA_FFDocView { bool ResetSingleWidgetAccData(CXFA_WidgetAcc* pWidgetAcc); CXFA_Node* GetRootSubform(); - CXFA_FFDoc* const m_pDoc; + CFX_UnownedPtr<CXFA_FFDoc> const m_pDoc; std::unique_ptr<CXFA_FFWidgetHandler> m_pWidgetHandler; CXFA_LayoutProcessor* m_pXFADocLayout; // Not owned. CFX_UnownedPtr<CXFA_WidgetAcc> m_pFocusAcc; |