Remove always-true parameters from UpdateFormField()
Then remove some branching that is always taken.
Change-Id: If25e66aaed7a931fd7653fc647f9c379f6307863
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/92192
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fxjs/cjs_field.cpp b/fxjs/cjs_field.cpp
index a515ccf..f8bf0e5 100644
--- a/fxjs/cjs_field.cpp
+++ b/fxjs/cjs_field.cpp
@@ -58,11 +58,8 @@
void UpdateFormField(CPDFSDK_FormFillEnvironment* pFormFillEnv,
CPDF_FormField* pFormField,
- bool bChangeMark,
- bool bResetAP,
- bool bRefresh) {
+ bool bResetAP) {
CPDFSDK_InteractiveForm* pForm = pFormFillEnv->GetInteractiveForm();
-
if (bResetAP) {
std::vector<ObservedPtr<CPDFSDK_Annot>> widgets;
pForm->GetWidgets(pFormField, &widgets);
@@ -89,27 +86,23 @@
}
}
- if (bRefresh) {
- // Refresh the widget list. The calls in |bResetAP| may have caused widgets
- // to be removed from the list. We need to call |GetWidgets| again to be
- // sure none of the widgets have been deleted.
- std::vector<ObservedPtr<CPDFSDK_Annot>> widgets;
- pForm->GetWidgets(pFormField, &widgets);
+ // Refresh the widget list. The calls in |bResetAP| may have caused widgets
+ // to be removed from the list. We need to call |GetWidgets| again to be
+ // sure none of the widgets have been deleted.
+ std::vector<ObservedPtr<CPDFSDK_Annot>> widgets;
+ pForm->GetWidgets(pFormField, &widgets);
- // TODO(dsinclair): Determine if all widgets share the same
- // CPDFSDK_InteractiveForm. If that's the case, we can move the code to
- // |GetFormFillEnv| out of the loop.
- for (auto& pObserved : widgets) {
- if (pObserved) {
- CPDFSDK_Widget* pWidget = ToCPDFSDKWidget(pObserved.Get());
- pWidget->GetInteractiveForm()->GetFormFillEnv()->UpdateAllViews(
- pWidget);
- }
+ // TODO(dsinclair): Determine if all widgets share the same
+ // CPDFSDK_InteractiveForm. If that's the case, we can move the code to
+ // |GetFormFillEnv| out of the loop.
+ for (auto& pObserved : widgets) {
+ if (pObserved) {
+ CPDFSDK_Widget* pWidget = ToCPDFSDKWidget(pObserved.Get());
+ pWidget->GetInteractiveForm()->GetFormFillEnv()->UpdateAllViews(pWidget);
}
}
- if (bChangeMark)
- pFormFillEnv->SetChangeMark();
+ pFormFillEnv->SetChangeMark();
}
void UpdateFormControl(CPDFSDK_FormFillEnvironment* pFormFillEnv,
@@ -294,7 +287,7 @@
}
}
if (bSet)
- UpdateFormField(pFormFillEnv, pFormField, true, true, true);
+ UpdateFormField(pFormFillEnv, pFormField, true);
} else {
if (nControlIndex >= pFormField->CountControls())
return;
@@ -335,7 +328,7 @@
NotificationOption::kDoNotNotify);
}
}
- UpdateFormField(pFormFillEnv, pFormField, true, true, true);
+ UpdateFormField(pFormFillEnv, pFormField, true);
}
}
@@ -359,7 +352,7 @@
}
if (bAnySet)
- UpdateFormField(pFormFillEnv, pFormField, true, false, true);
+ UpdateFormField(pFormFillEnv, pFormField, false);
} else {
if (nControlIndex >= pFormField->CountControls())
return;
@@ -405,7 +398,7 @@
}
}
if (bSet)
- UpdateFormField(pFormFillEnv, pFormField, true, true, true);
+ UpdateFormField(pFormFillEnv, pFormField, true);
} else {
if (nControlIndex >= pFormField->CountControls())
return;
@@ -454,7 +447,7 @@
}
if (bSet)
- UpdateFormField(pFormFillEnv, pFormField, true, true, true);
+ UpdateFormField(pFormFillEnv, pFormField, true);
continue;
}
@@ -500,14 +493,14 @@
case FormFieldType::kComboBox:
if (pFormField->GetValue() != strArray[0]) {
pFormField->SetValue(strArray[0], NotificationOption::kNotify);
- UpdateFormField(pFormFillEnv, pFormField, true, false, true);
+ UpdateFormField(pFormFillEnv, pFormField, false);
}
break;
case FormFieldType::kCheckBox:
case FormFieldType::kRadioButton:
if (pFormField->GetValue() != strArray[0]) {
pFormField->SetValue(strArray[0], NotificationOption::kNotify);
- UpdateFormField(pFormFillEnv, pFormField, true, false, true);
+ UpdateFormField(pFormFillEnv, pFormField, false);
}
break;
case FormFieldType::kListBox: {
@@ -525,7 +518,7 @@
if (!pFormField->IsItemSelected(index))
pFormField->SetItemSelection(index, NotificationOption::kNotify);
}
- UpdateFormField(pFormFillEnv, pFormField, true, false, true);
+ UpdateFormField(pFormFillEnv, pFormField, false);
}
break;
}
@@ -1628,7 +1621,7 @@
}
if (bSet)
- UpdateFormField(m_pFormFillEnv.Get(), pFormField, true, false, true);
+ UpdateFormField(m_pFormFillEnv.Get(), pFormField, false);
continue;
}
@@ -2221,7 +2214,7 @@
WideString wsFileName = m_pFormFillEnv->JS_fieldBrowse();
if (!wsFileName.IsEmpty()) {
pFormField->SetValue(wsFileName, NotificationOption::kDoNotNotify);
- UpdateFormField(m_pFormFillEnv.Get(), pFormField, true, true, true);
+ UpdateFormField(m_pFormFillEnv.Get(), pFormField, true);
}
return CJS_Result::Success();
}
@@ -2338,7 +2331,7 @@
// TODO(weili): Check whether anything special needed for radio button.
// (When pFormField->GetFieldType() == FormFieldType::kRadioButton.)
pFormField->CheckControl(nWidget, bCheckit, NotificationOption::kNotify);
- UpdateFormField(m_pFormFillEnv.Get(), pFormField, true, true, true);
+ UpdateFormField(m_pFormFillEnv.Get(), pFormField, true);
return CJS_Result::Success();
}