Slightly condense CPDFSDK_FormFillEnvironment with GetJSPlatform()
Makes the code more readable, searchable, and condense.
Change-Id: I1b9f055e0fa3581216c3c1e60cdbb01813cf0d9e
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/69490
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Daniel Hosseinian <dhoss@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.cpp b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
index 5748dcd..0591408 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.cpp
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
@@ -170,16 +170,14 @@
const WideString& Title,
int Type,
int Icon) {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->app_alert) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->app_alert)
return -1;
- }
ByteString bsMsg = Msg.ToUTF16LE();
ByteString bsTitle = Title.ToUTF16LE();
- return m_pInfo->m_pJsPlatform->app_alert(
- m_pInfo->m_pJsPlatform, AsFPDFWideString(&bsMsg),
- AsFPDFWideString(&bsTitle), Type, Icon);
+ return js_platform->app_alert(js_platform, AsFPDFWideString(&bsMsg),
+ AsFPDFWideString(&bsTitle), Type, Icon);
}
int CPDFSDK_FormFillEnvironment::JS_appResponse(const WideString& Question,
@@ -189,41 +187,40 @@
FPDF_BOOL bPassword,
void* response,
int length) {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->app_response) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->app_response)
return -1;
- }
+
ByteString bsQuestion = Question.ToUTF16LE();
ByteString bsTitle = Title.ToUTF16LE();
ByteString bsDefault = Default.ToUTF16LE();
ByteString bsLabel = Label.ToUTF16LE();
- return m_pInfo->m_pJsPlatform->app_response(
- m_pInfo->m_pJsPlatform, AsFPDFWideString(&bsQuestion),
- AsFPDFWideString(&bsTitle), AsFPDFWideString(&bsDefault),
- AsFPDFWideString(&bsLabel), bPassword, response, length);
+ return js_platform->app_response(
+ js_platform, AsFPDFWideString(&bsQuestion), AsFPDFWideString(&bsTitle),
+ AsFPDFWideString(&bsDefault), AsFPDFWideString(&bsLabel), bPassword,
+ response, length);
}
void CPDFSDK_FormFillEnvironment::JS_appBeep(int nType) {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->app_beep) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->app_beep)
return;
- }
- m_pInfo->m_pJsPlatform->app_beep(m_pInfo->m_pJsPlatform, nType);
+
+ js_platform->app_beep(js_platform, nType);
}
WideString CPDFSDK_FormFillEnvironment::JS_fieldBrowse() {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->Field_browse) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->Field_browse)
return WideString();
- }
- const int nRequiredLen =
- m_pInfo->m_pJsPlatform->Field_browse(m_pInfo->m_pJsPlatform, nullptr, 0);
+
+ const int nRequiredLen = js_platform->Field_browse(js_platform, nullptr, 0);
if (nRequiredLen <= 0)
return WideString();
std::vector<uint8_t, FxAllocAllocator<uint8_t>> pBuff(nRequiredLen);
- const int nActualLen = m_pInfo->m_pJsPlatform->Field_browse(
- m_pInfo->m_pJsPlatform, pBuff.data(), nRequiredLen);
+ const int nActualLen =
+ js_platform->Field_browse(js_platform, pBuff.data(), nRequiredLen);
if (nActualLen <= 0 || nActualLen > nRequiredLen)
return WideString();
@@ -240,19 +237,19 @@
const WideString& CC,
const WideString& BCC,
const WideString& Msg) {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->Doc_mail) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->Doc_mail)
return;
- }
+
ByteString bsTo = To.ToUTF16LE();
ByteString bsSubject = Subject.ToUTF16LE();
ByteString bsCC = CC.ToUTF16LE();
ByteString bsBcc = BCC.ToUTF16LE();
ByteString bsMsg = Msg.ToUTF16LE();
- m_pInfo->m_pJsPlatform->Doc_mail(
- m_pInfo->m_pJsPlatform, mailData, length, bUI, AsFPDFWideString(&bsTo),
- AsFPDFWideString(&bsSubject), AsFPDFWideString(&bsCC),
- AsFPDFWideString(&bsBcc), AsFPDFWideString(&bsMsg));
+ js_platform->Doc_mail(js_platform, mailData, length, bUI,
+ AsFPDFWideString(&bsTo), AsFPDFWideString(&bsSubject),
+ AsFPDFWideString(&bsCC), AsFPDFWideString(&bsBcc),
+ AsFPDFWideString(&bsMsg));
}
void CPDFSDK_FormFillEnvironment::JS_docprint(FPDF_BOOL bUI,
@@ -263,21 +260,20 @@
FPDF_BOOL bPrintAsImage,
FPDF_BOOL bReverse,
FPDF_BOOL bAnnotations) {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->Doc_print) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->Doc_print)
return;
- }
- m_pInfo->m_pJsPlatform->Doc_print(m_pInfo->m_pJsPlatform, bUI, nStart, nEnd,
- bSilent, bShrinkToFit, bPrintAsImage,
- bReverse, bAnnotations);
+
+ js_platform->Doc_print(js_platform, bUI, nStart, nEnd, bSilent, bShrinkToFit,
+ bPrintAsImage, bReverse, bAnnotations);
}
void CPDFSDK_FormFillEnvironment::JS_docgotoPage(int nPageNum) {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->Doc_gotoPage) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->Doc_gotoPage)
return;
- }
- m_pInfo->m_pJsPlatform->Doc_gotoPage(m_pInfo->m_pJsPlatform, nPageNum);
+
+ js_platform->Doc_gotoPage(js_platform, nPageNum);
}
WideString CPDFSDK_FormFillEnvironment::JS_docGetFilePath() {
@@ -286,18 +282,18 @@
#endif // PDF_ENABLE_V8
WideString CPDFSDK_FormFillEnvironment::GetFilePath() const {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->Doc_getFilePath) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->Doc_getFilePath)
return WideString();
- }
- const int nRequiredLen = m_pInfo->m_pJsPlatform->Doc_getFilePath(
- m_pInfo->m_pJsPlatform, nullptr, 0);
+
+ const int nRequiredLen =
+ js_platform->Doc_getFilePath(js_platform, nullptr, 0);
if (nRequiredLen <= 0)
return WideString();
std::vector<uint8_t, FxAllocAllocator<uint8_t>> pBuff(nRequiredLen);
- const int nActualLen = m_pInfo->m_pJsPlatform->Doc_getFilePath(
- m_pInfo->m_pJsPlatform, pBuff.data(), nRequiredLen);
+ const int nActualLen =
+ js_platform->Doc_getFilePath(js_platform, pBuff.data(), nRequiredLen);
if (nActualLen <= 0 || nActualLen > nRequiredLen)
return WideString();
@@ -308,14 +304,13 @@
void CPDFSDK_FormFillEnvironment::SubmitForm(pdfium::span<uint8_t> form_data,
const WideString& URL) {
- if (!m_pInfo || !m_pInfo->m_pJsPlatform ||
- !m_pInfo->m_pJsPlatform->Doc_submitForm) {
+ IPDF_JSPLATFORM* js_platform = GetJSPlatform();
+ if (!js_platform || !js_platform->Doc_submitForm)
return;
- }
+
ByteString bsUrl = URL.ToUTF16LE();
- m_pInfo->m_pJsPlatform->Doc_submitForm(m_pInfo->m_pJsPlatform,
- form_data.data(), form_data.size(),
- AsFPDFWideString(&bsUrl));
+ js_platform->Doc_submitForm(js_platform, form_data.data(), form_data.size(),
+ AsFPDFWideString(&bsUrl));
}
IJS_Runtime* CPDFSDK_FormFillEnvironment::GetIJSRuntime() {
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.h b/fpdfsdk/cpdfsdk_formfillenvironment.h
index 96e0405..3841d55 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.h
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.h
@@ -107,6 +107,9 @@
}
bool IsJSPlatformPresent() const { return m_pInfo && m_pInfo->m_pJsPlatform; }
+ IPDF_JSPLATFORM* GetJSPlatform() const {
+ return m_pInfo ? m_pInfo->m_pJsPlatform : nullptr;
+ }
#ifdef PDF_ENABLE_V8
CPDFSDK_PageView* GetCurrentView();