Reduce the number of calls to HasPermissions().
Call CPDFSDK_FormFillEnvironment::HasPermissions(flag1 | flag2) instead
of HasPermissions(flag1) || HasPermissions(flag2).
Change-Id: I6649e794c887cda71ba05f0bb1c2e070c50345a8
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/65840
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp b/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
index 1e9b562..b9e90a2 100644
--- a/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
+++ b/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
@@ -473,12 +473,10 @@
if (pWidget->GetFieldType() == FormFieldType::kPushButton)
return false;
- using pdfium::access_permissions::kFillForm;
- using pdfium::access_permissions::kModifyAnnotation;
- using pdfium::access_permissions::kModifyContent;
- return m_pFormFillEnv->HasPermissions(kFillForm) ||
- m_pFormFillEnv->HasPermissions(kModifyAnnotation) ||
- m_pFormFillEnv->HasPermissions(kModifyContent);
+ return m_pFormFillEnv->HasPermissions(
+ pdfium::access_permissions::kFillForm |
+ pdfium::access_permissions::kModifyAnnotation |
+ pdfium::access_permissions::kModifyContent);
}
CFFL_FormFiller* CFFL_InteractiveFormFiller::GetFormFiller(
diff --git a/fxjs/cjs_document.cpp b/fxjs/cjs_document.cpp
index b32406c..c432fe6 100644
--- a/fxjs/cjs_document.cpp
+++ b/fxjs/cjs_document.cpp
@@ -463,10 +463,9 @@
if (!m_pFormFillEnv)
return CJS_Result::Failure(JSMessage::kBadObjectError);
- using pdfium::access_permissions::kModifyAnnotation;
- using pdfium::access_permissions::kModifyContent;
- if (!(m_pFormFillEnv->HasPermissions(kModifyContent) ||
- m_pFormFillEnv->HasPermissions(kModifyAnnotation))) {
+ if (!m_pFormFillEnv->HasPermissions(
+ pdfium::access_permissions::kModifyContent |
+ pdfium::access_permissions::kModifyAnnotation)) {
return CJS_Result::Failure(JSMessage::kPermissionError);
}
@@ -512,12 +511,10 @@
if (!m_pFormFillEnv)
return CJS_Result::Failure(JSMessage::kBadObjectError);
- using pdfium::access_permissions::kFillForm;
- using pdfium::access_permissions::kModifyAnnotation;
- using pdfium::access_permissions::kModifyContent;
- if (!(m_pFormFillEnv->HasPermissions(kModifyContent) ||
- m_pFormFillEnv->HasPermissions(kModifyAnnotation) ||
- m_pFormFillEnv->HasPermissions(kFillForm))) {
+ if (!m_pFormFillEnv->HasPermissions(
+ pdfium::access_permissions::kModifyContent |
+ pdfium::access_permissions::kModifyAnnotation |
+ pdfium::access_permissions::kFillForm)) {
return CJS_Result::Failure(JSMessage::kPermissionError);
}
@@ -1210,12 +1207,10 @@
if (!m_pFormFillEnv)
return CJS_Result::Failure(JSMessage::kBadObjectError);
- using pdfium::access_permissions::kFillForm;
- using pdfium::access_permissions::kModifyAnnotation;
- using pdfium::access_permissions::kModifyContent;
- if (!(m_pFormFillEnv->HasPermissions(kModifyContent) ||
- m_pFormFillEnv->HasPermissions(kModifyAnnotation) ||
- m_pFormFillEnv->HasPermissions(kFillForm))) {
+ if (!m_pFormFillEnv->HasPermissions(
+ pdfium::access_permissions::kModifyContent |
+ pdfium::access_permissions::kModifyAnnotation |
+ pdfium::access_permissions::kFillForm)) {
return CJS_Result::Failure(JSMessage::kPermissionError);
}
diff --git a/fxjs/cjs_field.cpp b/fxjs/cjs_field.cpp
index 538e9aa..3e07a3a 100644
--- a/fxjs/cjs_field.cpp
+++ b/fxjs/cjs_field.cpp
@@ -609,15 +609,12 @@
bool CJS_Field::AttachField(CJS_Document* pDocument,
const WideString& csFieldName) {
- using pdfium::access_permissions::kFillForm;
- using pdfium::access_permissions::kModifyAnnotation;
- using pdfium::access_permissions::kModifyContent;
-
m_pJSDoc.Reset(pDocument);
m_pFormFillEnv.Reset(pDocument->GetFormFillEnv());
- m_bCanSet = m_pFormFillEnv->HasPermissions(kFillForm) ||
- m_pFormFillEnv->HasPermissions(kModifyAnnotation) ||
- m_pFormFillEnv->HasPermissions(kModifyContent);
+ m_bCanSet = m_pFormFillEnv->HasPermissions(
+ pdfium::access_permissions::kFillForm |
+ pdfium::access_permissions::kModifyAnnotation |
+ pdfium::access_permissions::kModifyContent);
CPDFSDK_InteractiveForm* pRDForm = m_pFormFillEnv->GetInteractiveForm();
CPDF_InteractiveForm* pForm = pRDForm->GetInteractiveForm();