Tidy CPDF_FormControl.
- Rename |g_sHighlightingMode| to |kHighlightModes|.
- Make |kHighlightModes| an array of chars.
- Use static_assert() to make sure |kHighlightModes| is as expected.
- Fix a nit in GetOnStateName().
Change-Id: Ib71283844bdbc794e0312b6d4d43d17e0b9b6f53
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/66393
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfdoc/cpdf_formcontrol.cpp b/core/fpdfdoc/cpdf_formcontrol.cpp
index b98afba..09675da 100644
--- a/core/fpdfdoc/cpdf_formcontrol.cpp
+++ b/core/fpdfdoc/cpdf_formcontrol.cpp
@@ -21,9 +21,19 @@
namespace {
-const char* const g_sHighlightingMode[] = {
- // Must match order of HighlightingMode enum.
- "N", "I", "O", "P", "T"};
+constexpr char kHighlightModes[] = {'N', 'I', 'O', 'P', 'T'};
+
+// Order of |kHighlightModes| must match order of HighlightingMode enum.
+static_assert(kHighlightModes[CPDF_FormControl::None] == 'N',
+ "HighlightingMode mismatch");
+static_assert(kHighlightModes[CPDF_FormControl::Invert] == 'I',
+ "HighlightingMode mismatch");
+static_assert(kHighlightModes[CPDF_FormControl::Outline] == 'O',
+ "HighlightingMode mismatch");
+static_assert(kHighlightModes[CPDF_FormControl::Push] == 'P',
+ "HighlightingMode mismatch");
+static_assert(kHighlightModes[CPDF_FormControl::Toggle] == 'T',
+ "HighlightingMode mismatch");
} // namespace
@@ -42,14 +52,13 @@
ByteString CPDF_FormControl::GetOnStateName() const {
ASSERT(GetType() == CPDF_FormField::kCheckBox ||
GetType() == CPDF_FormField::kRadioButton);
- ByteString csOn;
CPDF_Dictionary* pAP = m_pWidgetDict->GetDictFor("AP");
if (!pAP)
- return csOn;
+ return ByteString();
CPDF_Dictionary* pN = pAP->GetDictFor("N");
if (!pN)
- return csOn;
+ return ByteString();
CPDF_DictionaryLocker locker(pN);
for (const auto& it : locker) {
@@ -121,8 +130,8 @@
return Invert;
ByteString csH = m_pWidgetDict->GetStringFor("H", "I");
- for (size_t i = 0; i < FX_ArraySize(g_sHighlightingMode); ++i) {
- if (csH == g_sHighlightingMode[i])
+ for (size_t i = 0; i < FX_ArraySize(kHighlightModes); ++i) {
+ if (csH == kHighlightModes[i])
return static_cast<HighlightingMode>(i);
}
return Invert;