summaryrefslogtreecommitdiff
path: root/core/fpdfdoc/cpdf_formcontrol.cpp
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-10-15 18:51:11 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-10-15 18:51:11 +0000
commite4f2f4a3f4fd3e9f372912f4151d7c7843f9556f (patch)
treed88a221b657d7e09bd0fd7460644fd5c048515fb /core/fpdfdoc/cpdf_formcontrol.cpp
parent98ac76ec09ce72526134ad75f1921a1691804dd1 (diff)
downloadpdfium-e4f2f4a3f4fd3e9f372912f4151d7c7843f9556f.tar.xz
Use more UnownedPtr in CPDF_FormControl.
To make this work, remove an UnownedPtr vector in CPDF_FormField and make CPDF_InteractiveForm manage it instead. Also simplify some code within CPDF_FormControl and CPDF_InteractiveForm. Change-Id: Ifc3a979dcdb992376a48db7a40840d2e76078500 Reviewed-on: https://pdfium-review.googlesource.com/c/43938 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fpdfdoc/cpdf_formcontrol.cpp')
-rw-r--r--core/fpdfdoc/cpdf_formcontrol.cpp22
1 files changed, 9 insertions, 13 deletions
diff --git a/core/fpdfdoc/cpdf_formcontrol.cpp b/core/fpdfdoc/cpdf_formcontrol.cpp
index a1f1f8f26e..edd5fe566c 100644
--- a/core/fpdfdoc/cpdf_formcontrol.cpp
+++ b/core/fpdfdoc/cpdf_formcontrol.cpp
@@ -71,10 +71,8 @@ WideString CPDF_FormControl::GetExportValue() const {
GetType() == CPDF_FormField::kRadioButton);
ByteString csOn = GetOnStateName();
CPDF_Array* pArray = ToArray(FPDF_GetFieldAttr(m_pField->GetDict(), "Opt"));
- if (pArray) {
- int iIndex = m_pField->GetControlIndex(this);
- csOn = pArray->GetStringAt(iIndex);
- }
+ if (pArray)
+ csOn = pArray->GetStringAt(m_pField->GetControlIndex(this));
if (csOn.IsEmpty())
csOn = "Yes";
return PDF_DecodeText(csOn);
@@ -196,9 +194,9 @@ CPDF_DefaultAppearance CPDF_FormControl::GetDefaultAppearance() const {
return CPDF_DefaultAppearance(m_pWidgetDict->GetStringFor("DA"));
CPDF_Object* pObj = FPDF_GetFieldAttr(m_pField->GetDict(), "DA");
- if (pObj)
- return CPDF_DefaultAppearance(pObj->GetString());
- return m_pField->GetForm()->GetDefaultAppearance();
+ if (!pObj)
+ return m_pForm->GetDefaultAppearance();
+ return CPDF_DefaultAppearance(pObj->GetString());
}
CPDF_Font* CPDF_FormControl::GetDefaultControlFont() {
@@ -214,14 +212,13 @@ CPDF_Font* CPDF_FormControl::GetDefaultControlFont() {
if (pFonts) {
CPDF_Dictionary* pElement = pFonts->GetDictFor(*csFontNameTag);
if (pElement) {
- CPDF_Font* pFont =
- m_pField->GetForm()->GetDocument()->LoadFont(pElement);
+ CPDF_Font* pFont = m_pForm->GetDocument()->LoadFont(pElement);
if (pFont)
return pFont;
}
}
}
- if (CPDF_Font* pFormFont = m_pField->GetForm()->GetFormFont(*csFontNameTag))
+ if (CPDF_Font* pFormFont = m_pForm->GetFormFont(*csFontNameTag))
return pFormFont;
CPDF_Dictionary* pPageDict = m_pWidgetDict->GetDictFor("P");
@@ -231,8 +228,7 @@ CPDF_Font* CPDF_FormControl::GetDefaultControlFont() {
if (pFonts) {
CPDF_Dictionary* pElement = pFonts->GetDictFor(*csFontNameTag);
if (pElement) {
- CPDF_Font* pFont =
- m_pField->GetForm()->GetDocument()->LoadFont(pElement);
+ CPDF_Font* pFont = m_pForm->GetDocument()->LoadFont(pElement);
if (pFont)
return pFont;
}
@@ -250,5 +246,5 @@ int CPDF_FormControl::GetControlAlignment() const {
CPDF_Object* pObj = FPDF_GetFieldAttr(m_pField->GetDict(), "Q");
if (pObj)
return pObj->GetInteger();
- return m_pField->GetForm()->GetFormAlignment();
+ return m_pForm->GetFormAlignment();
}