summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordan sinclair <dsinclair@chromium.org>2018-03-08 15:14:09 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-03-08 15:14:09 +0000
commit507fb4ed09d5fbc92fafdfe405d79d44d11a4664 (patch)
tree136d003fdefa3ad7fd707af180c161713108ffd2
parentf19255a1deec5f3ce804b08901abf7746e609bfe (diff)
downloadpdfium-507fb4ed09d5fbc92fafdfe405d79d44d11a4664.tar.xz
Convert Before{Selection|Value}Change to return a boolchromium/3366
Both of these IPDF_FormNotify methods return {-1, 0, 1} but all callsites only care about < 0 and >= 0. Convert to return a bool that treats the 0 and 1 case as the same. This also makse sense in terms of the API because false means validation failure. The case where 0 was used was a place holder for we didn't try for this field type, which also implicitly means validation passed. Change-Id: I0950c678191b83caffd755d4a87b2f0efee71c89 Reviewed-on: https://pdfium-review.googlesource.com/28192 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
-rw-r--r--core/fpdfdoc/cpdf_formfield.cpp4
-rw-r--r--core/fpdfdoc/cpdf_interform.cpp4
-rw-r--r--core/fpdfdoc/ipdf_formnotify.h8
-rw-r--r--fpdfsdk/cpdfsdk_interform.cpp24
-rw-r--r--fpdfsdk/cpdfsdk_interform.h8
5 files changed, 22 insertions, 26 deletions
diff --git a/core/fpdfdoc/cpdf_formfield.cpp b/core/fpdfdoc/cpdf_formfield.cpp
index 686054f9f1..679acd1dc8 100644
--- a/core/fpdfdoc/cpdf_formfield.cpp
+++ b/core/fpdfdoc/cpdf_formfield.cpp
@@ -928,7 +928,7 @@ void CPDF_FormField::LoadDA() {
bool CPDF_FormField::NotifyBeforeSelectionChange(const WideString& value) {
if (!m_pForm->GetFormNotify())
return true;
- return m_pForm->GetFormNotify()->BeforeSelectionChange(this, value) >= 0;
+ return m_pForm->GetFormNotify()->BeforeSelectionChange(this, value);
}
void CPDF_FormField::NotifyAfterSelectionChange() {
@@ -940,7 +940,7 @@ void CPDF_FormField::NotifyAfterSelectionChange() {
bool CPDF_FormField::NotifyBeforeValueChange(const WideString& value) {
if (!m_pForm->GetFormNotify())
return true;
- return m_pForm->GetFormNotify()->BeforeValueChange(this, value) >= 0;
+ return m_pForm->GetFormNotify()->BeforeValueChange(this, value);
}
void CPDF_FormField::NotifyAfterValueChange() {
diff --git a/core/fpdfdoc/cpdf_interform.cpp b/core/fpdfdoc/cpdf_interform.cpp
index c8440eac00..2fbc3aa32a 100644
--- a/core/fpdfdoc/cpdf_interform.cpp
+++ b/core/fpdfdoc/cpdf_interform.cpp
@@ -1203,11 +1203,11 @@ void CPDF_InterForm::FDF_ImportField(CPDF_Dictionary* pFieldDict,
FormFieldType fieldType = pField->GetFieldType();
if (bNotify && m_pFormNotify) {
if (fieldType == FormFieldType::kListBox) {
- if (m_pFormNotify->BeforeSelectionChange(pField, csWValue) < 0)
+ if (!m_pFormNotify->BeforeSelectionChange(pField, csWValue))
return;
} else if (fieldType == FormFieldType::kComboBox ||
fieldType == FormFieldType::kTextField) {
- if (m_pFormNotify->BeforeValueChange(pField, csWValue) < 0)
+ if (!m_pFormNotify->BeforeValueChange(pField, csWValue))
return;
}
}
diff --git a/core/fpdfdoc/ipdf_formnotify.h b/core/fpdfdoc/ipdf_formnotify.h
index 10a97a0d88..053ca12a41 100644
--- a/core/fpdfdoc/ipdf_formnotify.h
+++ b/core/fpdfdoc/ipdf_formnotify.h
@@ -16,12 +16,12 @@ class IPDF_FormNotify {
public:
virtual ~IPDF_FormNotify() {}
- virtual int BeforeValueChange(CPDF_FormField* pField,
- const WideString& csValue) = 0;
+ virtual bool BeforeValueChange(CPDF_FormField* pField,
+ const WideString& csValue) = 0;
virtual void AfterValueChange(CPDF_FormField* pField) = 0;
- virtual int BeforeSelectionChange(CPDF_FormField* pField,
- const WideString& csValue) = 0;
+ virtual bool BeforeSelectionChange(CPDF_FormField* pField,
+ const WideString& csValue) = 0;
virtual void AfterSelectionChange(CPDF_FormField* pField) = 0;
virtual void AfterCheckedStatusChange(CPDF_FormField* pField) = 0;
diff --git a/fpdfsdk/cpdfsdk_interform.cpp b/fpdfsdk/cpdfsdk_interform.cpp
index 94c9b23473..57f3a6e90e 100644
--- a/fpdfsdk/cpdfsdk_interform.cpp
+++ b/fpdfsdk/cpdfsdk_interform.cpp
@@ -622,16 +622,14 @@ std::vector<CPDF_FormField*> CPDFSDK_InterForm::GetFieldFromObjects(
return fields;
}
-int CPDFSDK_InterForm::BeforeValueChange(CPDF_FormField* pField,
- const WideString& csValue) {
+bool CPDFSDK_InterForm::BeforeValueChange(CPDF_FormField* pField,
+ const WideString& csValue) {
FormFieldType fieldType = pField->GetFieldType();
if (!IsFormFieldTypeComboOrText(fieldType))
- return 0;
+ return true;
if (!OnKeyStrokeCommit(pField, csValue))
- return -1;
- if (!OnValidate(pField, csValue))
- return -1;
- return 1;
+ return false;
+ return OnValidate(pField, csValue);
}
void CPDFSDK_InterForm::AfterValueChange(CPDF_FormField* pField) {
@@ -650,15 +648,13 @@ void CPDFSDK_InterForm::AfterValueChange(CPDF_FormField* pField) {
UpdateField(pField);
}
-int CPDFSDK_InterForm::BeforeSelectionChange(CPDF_FormField* pField,
- const WideString& csValue) {
+bool CPDFSDK_InterForm::BeforeSelectionChange(CPDF_FormField* pField,
+ const WideString& csValue) {
if (pField->GetFieldType() != FormFieldType::kListBox)
- return 0;
+ return true;
if (!OnKeyStrokeCommit(pField, csValue))
- return -1;
- if (!OnValidate(pField, csValue))
- return -1;
- return 1;
+ return false;
+ return OnValidate(pField, csValue);
}
void CPDFSDK_InterForm::AfterSelectionChange(CPDF_FormField* pField) {
diff --git a/fpdfsdk/cpdfsdk_interform.h b/fpdfsdk/cpdfsdk_interform.h
index 893b60168b..58dc2d0993 100644
--- a/fpdfsdk/cpdfsdk_interform.h
+++ b/fpdfsdk/cpdfsdk_interform.h
@@ -102,11 +102,11 @@ class CPDFSDK_InterForm : public IPDF_FormNotify {
private:
// IPDF_FormNotify:
- int BeforeValueChange(CPDF_FormField* pField,
- const WideString& csValue) override;
+ bool BeforeValueChange(CPDF_FormField* pField,
+ const WideString& csValue) override;
void AfterValueChange(CPDF_FormField* pField) override;
- int BeforeSelectionChange(CPDF_FormField* pField,
- const WideString& csValue) override;
+ bool BeforeSelectionChange(CPDF_FormField* pField,
+ const WideString& csValue) override;
void AfterSelectionChange(CPDF_FormField* pField) override;
void AfterCheckedStatusChange(CPDF_FormField* pField) override;
void AfterFormReset(CPDF_InterForm* pForm) override;