Replace bools with enum ValueChanged in CPDFSDK_Widget.
Make it clearer what some bool parameters mean. Also use pdfium::nullopt
in place of {} in a couple spots.
Change-Id: I7bc40ad3f08bc0ccf4dd72891b508e251c13e16f
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/81530
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_interactiveform.cpp b/fpdfsdk/cpdfsdk_interactiveform.cpp
index 68ec424..2eeab6c 100644
--- a/fpdfsdk/cpdfsdk_interactiveform.cpp
+++ b/fpdfsdk/cpdfsdk_interactiveform.cpp
@@ -323,7 +323,7 @@
CPDF_FormControl* pFormCtrl = pFormField->GetControl(i);
DCHECK(pFormCtrl);
if (CPDFSDK_Widget* pWidget = GetWidget(pFormCtrl))
- pWidget->ResetAppearance(sValue, true);
+ pWidget->ResetAppearance(sValue, CPDFSDK_Widget::kValueChanged);
}
}
diff --git a/fpdfsdk/cpdfsdk_widget.cpp b/fpdfsdk/cpdfsdk_widget.cpp
index 9b890de..be05111 100644
--- a/fpdfsdk/cpdfsdk_widget.cpp
+++ b/fpdfsdk/cpdfsdk_widget.cpp
@@ -558,7 +558,7 @@
NotificationOption::kDoNotNotify);
#ifdef PDF_ENABLE_XFA
if (!IsWidgetAppearanceValid(CPDF_Annot::Normal))
- ResetXFAAppearance(true);
+ ResetXFAAppearance(CPDFSDK_Widget::kValueChanged);
Synchronize(true);
#endif // PDF_ENABLE_XFA
}
@@ -602,26 +602,26 @@
}
#ifdef PDF_ENABLE_XFA
-void CPDFSDK_Widget::ResetXFAAppearance(bool bValueChanged) {
+void CPDFSDK_Widget::ResetXFAAppearance(ValueChanged bValueChanged) {
switch (GetFieldType()) {
case FormFieldType::kTextField:
case FormFieldType::kComboBox: {
- ResetAppearance(OnFormat(), true);
+ ResetAppearance(OnFormat(), kValueChanged);
break;
}
default:
- ResetAppearance(pdfium::nullopt, false);
+ ResetAppearance(pdfium::nullopt, kValueUnchanged);
break;
}
}
#endif // PDF_ENABLE_XFA
void CPDFSDK_Widget::ResetAppearance(Optional<WideString> sValue,
- bool bValueChanged) {
+ ValueChanged bValueChanged) {
SetAppModified();
m_nAppearanceAge++;
- if (bValueChanged)
+ if (bValueChanged == kValueChanged)
m_nValueAge++;
CPDFSDK_AppStream appStream(this, GetAPDict());
diff --git a/fpdfsdk/cpdfsdk_widget.h b/fpdfsdk/cpdfsdk_widget.h
index 947004c..467b2b4 100644
--- a/fpdfsdk/cpdfsdk_widget.h
+++ b/fpdfsdk/cpdfsdk_widget.h
@@ -42,6 +42,8 @@
class CPDFSDK_Widget final : public CPDFSDK_BAAnnot {
public:
+ enum ValueChanged : bool { kValueUnchanged = false, kValueChanged = true };
+
CPDFSDK_Widget(CPDF_Annot* pAnnot,
CPDFSDK_PageView* pPageView,
CPDFSDK_InteractiveForm* pInteractiveForm);
@@ -89,10 +91,10 @@
CPDFSDK_PageView* pPageView);
void Synchronize(bool bSynchronizeElse);
// TODO(thestig): Figure out if the parameter should be used or removed.
- void ResetXFAAppearance(bool bValueChanged);
+ void ResetXFAAppearance(ValueChanged bValueChanged);
#endif // PDF_ENABLE_XFA
- void ResetAppearance(Optional<WideString> sValue, bool bValueChanged);
+ void ResetAppearance(Optional<WideString> sValue, ValueChanged bValueChanged);
void ResetFieldAppearance();
void UpdateField();
Optional<WideString> OnFormat();
diff --git a/fpdfsdk/cpdfsdk_widgethandler.cpp b/fpdfsdk/cpdfsdk_widgethandler.cpp
index ef922c1..90b6cef 100644
--- a/fpdfsdk/cpdfsdk_widgethandler.cpp
+++ b/fpdfsdk/cpdfsdk_widgethandler.cpp
@@ -66,7 +66,7 @@
auto pWidget = std::make_unique<CPDFSDK_Widget>(pAnnot, pPageView, pForm);
pForm->AddMap(pCtrl, pWidget.get());
if (pPDFForm->NeedConstructAP())
- pWidget->ResetAppearance(pdfium::nullopt, false);
+ pWidget->ResetAppearance(pdfium::nullopt, CPDFSDK_Widget::kValueUnchanged);
return pWidget;
}
@@ -205,7 +205,7 @@
CPDFSDK_Widget* pWidget = ToCPDFSDKWidget(pAnnot);
if (!pWidget->IsAppearanceValid())
- pWidget->ResetAppearance(pdfium::nullopt, false);
+ pWidget->ResetAppearance(pdfium::nullopt, CPDFSDK_Widget::kValueUnchanged);
FormFieldType fieldType = pWidget->GetFieldType();
if (fieldType == FormFieldType::kTextField ||
@@ -216,7 +216,7 @@
return;
if (sValue.has_value() && fieldType == FormFieldType::kComboBox)
- pWidget->ResetAppearance(sValue, false);
+ pWidget->ResetAppearance(sValue, CPDFSDK_Widget::kValueUnchanged);
}
#ifdef PDF_ENABLE_XFA
@@ -224,7 +224,7 @@
auto* pContext = pPageView->GetFormFillEnv()->GetDocExtension();
if (pContext && pContext->ContainsExtensionForegroundForm()) {
if (!pWidget->IsAppearanceValid() && !pWidget->GetValue().IsEmpty())
- pWidget->ResetXFAAppearance(false);
+ pWidget->ResetXFAAppearance(CPDFSDK_Widget::kValueUnchanged);
}
#endif // PDF_ENABLE_XFA
}
diff --git a/fxjs/cjs_field.cpp b/fxjs/cjs_field.cpp
index 5b5d525..aea1dd8 100644
--- a/fxjs/cjs_field.cpp
+++ b/fxjs/cjs_field.cpp
@@ -63,14 +63,18 @@
Optional<WideString> sValue =
ToCPDFSDKWidget(pObserved.Get())->OnFormat();
if (pObserved) { // Not redundant, may be clobbered by OnFormat.
- ToCPDFSDKWidget(pObserved.Get())->ResetAppearance(sValue, false);
+ auto* pWidget = ToCPDFSDKWidget(pObserved.Get());
+ pWidget->ResetAppearance(sValue, CPDFSDK_Widget::kValueUnchanged);
}
}
}
} else {
for (auto& pObserved : widgets) {
- if (pObserved)
- ToCPDFSDKWidget(pObserved.Get())->ResetAppearance({}, false);
+ if (pObserved) {
+ auto* pWidget = ToCPDFSDKWidget(pObserved.Get());
+ pWidget->ResetAppearance(pdfium::nullopt,
+ CPDFSDK_Widget::kValueUnchanged);
+ }
}
}
}
@@ -117,9 +121,10 @@
Optional<WideString> sValue = pWidget->OnFormat();
if (!observed_widget)
return;
- pWidget->ResetAppearance(sValue, false);
+ pWidget->ResetAppearance(sValue, CPDFSDK_Widget::kValueUnchanged);
} else {
- pWidget->ResetAppearance({}, false);
+ pWidget->ResetAppearance(pdfium::nullopt,
+ CPDFSDK_Widget::kValueUnchanged);
}
if (!observed_widget)
return;