Observe CXFA_FFWidgets in CPDFSDK_XFAWidget. CXFA_FFWidgets, which bridge the layout tree and the parser tree, are ephemeral, and go out of existence under certain events. - Tidy member name. Bug: chromium:982828 Change-Id: Iccc9b6f75dcd6a8fd2af98d40b0f1c13ffa51816 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/57572 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_xfawidget.cpp b/fpdfsdk/cpdfsdk_xfawidget.cpp index a424d26..f529a72 100644 --- a/fpdfsdk/cpdfsdk_xfawidget.cpp +++ b/fpdfsdk/cpdfsdk_xfawidget.cpp
@@ -14,7 +14,7 @@ CPDFSDK_InteractiveForm* pInteractiveForm) : CPDFSDK_Annot(pPageView), m_pInteractiveForm(pInteractiveForm), - m_hXFAWidget(pAnnot) {} + m_pXFAWidget(pAnnot) {} CPDFSDK_XFAWidget::~CPDFSDK_XFAWidget() = default; @@ -23,7 +23,7 @@ } CXFA_FFWidget* CPDFSDK_XFAWidget::GetXFAWidget() const { - return m_hXFAWidget.Get(); + return m_pXFAWidget.Get(); } CPDF_Annot::Subtype CPDFSDK_XFAWidget::GetAnnotSubtype() const {
diff --git a/fpdfsdk/cpdfsdk_xfawidget.h b/fpdfsdk/cpdfsdk_xfawidget.h index 078f011..3ee5cde 100644 --- a/fpdfsdk/cpdfsdk_xfawidget.h +++ b/fpdfsdk/cpdfsdk_xfawidget.h
@@ -9,6 +9,7 @@ #include "core/fxcrt/fx_coordinates.h" #include "core/fxcrt/fx_string.h" +#include "core/fxcrt/observed_ptr.h" #include "core/fxcrt/unowned_ptr.h" #include "fpdfsdk/cpdfsdk_annot.h" @@ -35,7 +36,7 @@ private: UnownedPtr<CPDFSDK_InteractiveForm> const m_pInteractiveForm; - UnownedPtr<CXFA_FFWidget> const m_hXFAWidget; + ObservedPtr<CXFA_FFWidget> const m_pXFAWidget; }; inline CPDFSDK_XFAWidget* ToXFAWidget(CPDFSDK_Annot* pAnnot) {