Remove class CPDF_DocJSActions.
It's just a nametree, and used only in one place, so put small
amout of code inline where it is used. Avoid re-creation
of the nametree on each iteration in the process.
-- rename one method.
Change-Id: Id2266af431df6d9aadc76cdc791f4368552a25a3
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/65730
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.cpp b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
index 5f3b7e1..021ec60 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.cpp
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.cpp
@@ -12,7 +12,7 @@
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
-#include "core/fpdfdoc/cpdf_docjsactions.h"
+#include "core/fpdfdoc/cpdf_nametree.h"
#include "core/fxcrt/fx_memory_wrappers.h"
#include "fpdfsdk/cpdfsdk_actionhandler.h"
#include "fpdfsdk/cpdfsdk_annothandlermgr.h"
@@ -591,13 +591,13 @@
return it != m_PageMap.end() ? it->second.get() : nullptr;
}
-void CPDFSDK_FormFillEnvironment::ProcJavascriptFun() {
- CPDF_DocJSActions docJS(m_pCPDFDoc.Get());
- int iCount = docJS.CountJSActions();
+void CPDFSDK_FormFillEnvironment::ProcJavascriptAction() {
+ CPDF_NameTree docJS(m_pCPDFDoc.Get(), "JavaScript");
+ int iCount = docJS.GetCount();
for (int i = 0; i < iCount; i++) {
- WideString csJSName;
- CPDF_Action jsAction = docJS.GetJSActionAndName(i, &csJSName);
- GetActionHandler()->DoAction_JavaScript(jsAction, csJSName, this);
+ WideString name;
+ CPDF_Action action(ToDictionary(docJS.LookupValueAndName(i, &name)));
+ GetActionHandler()->DoAction_JavaScript(action, name, this);
}
}
diff --git a/fpdfsdk/cpdfsdk_formfillenvironment.h b/fpdfsdk/cpdfsdk_formfillenvironment.h
index 99f98e7..ea67394 100644
--- a/fpdfsdk/cpdfsdk_formfillenvironment.h
+++ b/fpdfsdk/cpdfsdk_formfillenvironment.h
@@ -82,7 +82,7 @@
void SetChangeMark() { m_bChangeMask = true; }
void ClearChangeMark() { m_bChangeMask = false; }
- void ProcJavascriptFun();
+ void ProcJavascriptAction();
bool ProcOpenAction();
void Invalidate(IPDF_Page* page, const FX_RECT& rect);
diff --git a/fpdfsdk/fpdf_formfill.cpp b/fpdfsdk/fpdf_formfill.cpp
index 5f64337..a3f3022 100644
--- a/fpdfsdk/fpdf_formfill.cpp
+++ b/fpdfsdk/fpdf_formfill.cpp
@@ -651,7 +651,7 @@
CPDFSDK_FormFillEnvironment* pFormFillEnv =
CPDFSDKFormFillEnvironmentFromFPDFFormHandle(hHandle);
if (pFormFillEnv && pFormFillEnv->IsJSPlatformPresent())
- pFormFillEnv->ProcJavascriptFun();
+ pFormFillEnv->ProcJavascriptAction();
}
FPDF_EXPORT void FPDF_CALLCONV