Remove CPDF_FormField::GetForm()
No need to get a CPDF_InteractiveForm when it is only needed in a
constructor called by CPDF_InteractiveForm itself, so just pass it
directly.
Change-Id: Ic26c3b8f7e96ee3cb3d92c310fbe5fca527d2d14
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/100091
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
Auto-Submit: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfdoc/cpdf_formcontrol.cpp b/core/fpdfdoc/cpdf_formcontrol.cpp
index 560d0b5..f725ec2 100644
--- a/core/fpdfdoc/cpdf_formcontrol.cpp
+++ b/core/fpdfdoc/cpdf_formcontrol.cpp
@@ -40,10 +40,9 @@
} // namespace
CPDF_FormControl::CPDF_FormControl(CPDF_FormField* pField,
- RetainPtr<CPDF_Dictionary> pWidgetDict)
- : m_pField(pField),
- m_pWidgetDict(std::move(pWidgetDict)),
- m_pForm(m_pField->GetForm()) {
+ RetainPtr<CPDF_Dictionary> pWidgetDict,
+ CPDF_InteractiveForm* pForm)
+ : m_pField(pField), m_pWidgetDict(std::move(pWidgetDict)), m_pForm(pForm) {
DCHECK(m_pWidgetDict);
}
diff --git a/core/fpdfdoc/cpdf_formcontrol.h b/core/fpdfdoc/cpdf_formcontrol.h
index 6f276a0..daa5b53 100644
--- a/core/fpdfdoc/cpdf_formcontrol.h
+++ b/core/fpdfdoc/cpdf_formcontrol.h
@@ -36,7 +36,8 @@
enum HighlightingMode { kNone = 0, kInvert, kOutline, kPush, kToggle };
CPDF_FormControl(CPDF_FormField* pField,
- RetainPtr<CPDF_Dictionary> pWidgetDict);
+ RetainPtr<CPDF_Dictionary> pWidgetDict,
+ CPDF_InteractiveForm* pForm);
~CPDF_FormControl();
CPDF_FormField::Type GetType() const { return m_pField->GetType(); }
diff --git a/core/fpdfdoc/cpdf_formfield.h b/core/fpdfdoc/cpdf_formfield.h
index a899776..b7e19af 100644
--- a/core/fpdfdoc/cpdf_formfield.h
+++ b/core/fpdfdoc/cpdf_formfield.h
@@ -139,8 +139,6 @@
// entries are consistent with the value (/V) object.
bool UseSelectedIndicesObject() const;
- CPDF_InteractiveForm* GetForm() const { return m_pForm.Get(); }
-
WideString GetCheckValue(bool bDefault) const;
private:
diff --git a/core/fpdfdoc/cpdf_interactiveform.cpp b/core/fpdfdoc/cpdf_interactiveform.cpp
index 5531367..b2bfe40 100644
--- a/core/fpdfdoc/cpdf_interactiveform.cpp
+++ b/core/fpdfdoc/cpdf_interactiveform.cpp
@@ -879,7 +879,7 @@
if (it != m_ControlMap.end())
return it->second.get();
- auto pNew = std::make_unique<CPDF_FormControl>(pField, pWidgetDict);
+ auto pNew = std::make_unique<CPDF_FormControl>(pField, pWidgetDict, this);
CPDF_FormControl* pControl = pNew.get();
m_ControlMap[pWidgetDict] = std::move(pNew);
m_ControlLists[pdfium::WrapUnowned(pField)].emplace_back(pControl);