summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2017-02-16 11:49:55 -0800
committerChromium commit bot <commit-bot@chromium.org>2017-02-16 20:23:48 +0000
commitd6ae2afa821c87e84790d5c04bbc172a7b12f08f (patch)
tree10beb72deaffca61ccc54a3fb49ea0d9636579bb
parent49f7deb494064351c72ef4d31577e04f634e63f3 (diff)
downloadpdfium-d6ae2afa821c87e84790d5c04bbc172a7b12f08f.tar.xz
Rename IJS_Context to IJS_EventContext.
Prevents confusion with v8::Context, which is wrapped by a different IJS_ class. Change-Id: Iff75809e65015c0f810294de1f0d8ecf963150a3 Reviewed-on: https://pdfium-review.googlesource.com/2751 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
-rw-r--r--BUILD.gn6
-rw-r--r--fpdfsdk/cpdfsdk_interform.cpp14
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_context.h2
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp12
-rw-r--r--fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h6
-rw-r--r--fpdfsdk/fsdk_actionhandler.cpp32
-rw-r--r--fpdfsdk/javascript/Annot.cpp14
-rw-r--r--fpdfsdk/javascript/Annot.h6
-rw-r--r--fpdfsdk/javascript/Document.cpp297
-rw-r--r--fpdfsdk/javascript/Document.h170
-rw-r--r--fpdfsdk/javascript/Field.cpp1134
-rw-r--r--fpdfsdk/javascript/Field.h212
-rw-r--r--fpdfsdk/javascript/Icon.cpp4
-rw-r--r--fpdfsdk/javascript/Icon.h2
-rw-r--r--fpdfsdk/javascript/JS_Define.h26
-rw-r--r--fpdfsdk/javascript/JS_EventHandler.cpp14
-rw-r--r--fpdfsdk/javascript/JS_EventHandler.h6
-rw-r--r--fpdfsdk/javascript/JS_Object.cpp2
-rw-r--r--fpdfsdk/javascript/JS_Object.h2
-rw-r--r--fpdfsdk/javascript/JS_Runtime_Stub.cpp24
-rw-r--r--fpdfsdk/javascript/PublicMethods.cpp121
-rw-r--r--fpdfsdk/javascript/PublicMethods.h44
-rw-r--r--fpdfsdk/javascript/app.cpp108
-rw-r--r--fpdfsdk/javascript/app.h80
-rw-r--r--fpdfsdk/javascript/cjs_context.cpp272
-rw-r--r--fpdfsdk/javascript/cjs_event_context.cpp280
-rw-r--r--fpdfsdk/javascript/cjs_event_context.h (renamed from fpdfsdk/javascript/cjs_context.h)18
-rw-r--r--fpdfsdk/javascript/cjs_runtime.cpp37
-rw-r--r--fpdfsdk/javascript/cjs_runtime.h14
-rw-r--r--fpdfsdk/javascript/color.cpp38
-rw-r--r--fpdfsdk/javascript/color.h30
-rw-r--r--fpdfsdk/javascript/console.cpp10
-rw-r--r--fpdfsdk/javascript/console.h8
-rw-r--r--fpdfsdk/javascript/event.cpp164
-rw-r--r--fpdfsdk/javascript/event.h60
-rw-r--r--fpdfsdk/javascript/global.cpp18
-rw-r--r--fpdfsdk/javascript/global.h10
-rw-r--r--fpdfsdk/javascript/ijs_event_context.h (renamed from fpdfsdk/javascript/ijs_context.h)14
-rw-r--r--fpdfsdk/javascript/ijs_runtime.h10
-rw-r--r--fpdfsdk/javascript/report.cpp4
-rw-r--r--fpdfsdk/javascript/report.h4
-rw-r--r--fpdfsdk/javascript/resource.h2
-rw-r--r--fpdfsdk/javascript/util.cpp22
-rw-r--r--fpdfsdk/javascript/util.h10
-rw-r--r--fxjs/fxjs_v8.h2
45 files changed, 1720 insertions, 1645 deletions
diff --git a/BUILD.gn b/BUILD.gn
index 58f41ca465..291d945093 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -978,7 +978,7 @@ static_library("pdfwindow") {
static_library("javascript") {
sources = [
- "fpdfsdk/javascript/ijs_context.h",
+ "fpdfsdk/javascript/ijs_event_context.h",
"fpdfsdk/javascript/ijs_runtime.h",
]
configs += [ ":pdfium_core_config" ]
@@ -1013,8 +1013,8 @@ static_library("javascript") {
"fpdfsdk/javascript/PublicMethods.h",
"fpdfsdk/javascript/app.cpp",
"fpdfsdk/javascript/app.h",
- "fpdfsdk/javascript/cjs_context.cpp",
- "fpdfsdk/javascript/cjs_context.h",
+ "fpdfsdk/javascript/cjs_event_context.cpp",
+ "fpdfsdk/javascript/cjs_event_context.h",
"fpdfsdk/javascript/cjs_runtime.cpp",
"fpdfsdk/javascript/cjs_runtime.h",
"fpdfsdk/javascript/color.cpp",
diff --git a/fpdfsdk/cpdfsdk_interform.cpp b/fpdfsdk/cpdfsdk_interform.cpp
index b22ccb1684..4229fcdac5 100644
--- a/fpdfsdk/cpdfsdk_interform.cpp
+++ b/fpdfsdk/cpdfsdk_interform.cpp
@@ -30,7 +30,7 @@
#include "fpdfsdk/fsdk_define.h"
#include "fpdfsdk/fxedit/fxet_edit.h"
#include "fpdfsdk/ipdfsdk_annothandler.h"
-#include "fpdfsdk/javascript/ijs_context.h"
+#include "fpdfsdk/javascript/ijs_event_context.h"
#include "fpdfsdk/javascript/ijs_runtime.h"
#include "fpdfsdk/pdfwindow/PWL_Utils.h"
#include "third_party/base/stl_util.h"
@@ -253,7 +253,7 @@ void CPDFSDK_InterForm::OnCalculate(CPDF_FormField* pFormField) {
if (csJS.IsEmpty())
continue;
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
CFX_WideString sOldValue = pField->GetValue();
CFX_WideString sValue = sOldValue;
bool bRC = true;
@@ -261,12 +261,10 @@ void CPDFSDK_InterForm::OnCalculate(CPDF_FormField* pFormField) {
CFX_WideString sInfo;
bool bRet = pContext->RunScript(csJS, &sInfo);
- pRuntime->ReleaseContext(pContext);
-
+ pRuntime->ReleaseEventContext(pContext);
if (bRet && bRC && sValue.Compare(sOldValue) != 0)
pField->SetValue(sValue, true);
}
-
m_bBusy = false;
}
@@ -296,12 +294,11 @@ CFX_WideString CPDFSDK_InterForm::OnFormat(CPDF_FormField* pFormField,
if (!script.IsEmpty()) {
CFX_WideString Value = sValue;
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
pContext->OnField_Format(pFormField, Value, true);
CFX_WideString sInfo;
bool bRet = pContext->RunScript(script, &sInfo);
- pRuntime->ReleaseContext(pContext);
-
+ pRuntime->ReleaseEventContext(pContext);
if (bRet) {
sValue = Value;
bFormatted = true;
@@ -309,7 +306,6 @@ CFX_WideString CPDFSDK_InterForm::OnFormat(CPDF_FormField* pFormField,
}
}
}
-
return sValue;
}
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_context.h b/fpdfsdk/fpdfxfa/cpdfxfa_context.h
index e1c357fde9..9a2a517fb5 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_context.h
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_context.h
@@ -17,8 +17,8 @@ class CJS_Runtime;
class CPDFSDK_FormFillEnvironment;
class CPDFXFA_Page;
class CXFA_FFDocHandler;
+class IJS_EventContext;
class IJS_Runtime;
-class IJS_Context;
enum LoadStatus {
FXFA_LOADSTATUS_PRELOAD = 0,
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
index ec62927324..962dbbae09 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
@@ -38,13 +38,15 @@
#define FXFA_XFA_ALL 0x01111111
CPDFXFA_DocEnvironment::CPDFXFA_DocEnvironment(CPDFXFA_Context* pContext)
- : m_pContext(pContext), m_pJSContext(nullptr) {
+ : m_pContext(pContext), m_pJSEventContext(nullptr) {
ASSERT(m_pContext);
}
CPDFXFA_DocEnvironment::~CPDFXFA_DocEnvironment() {
- if (m_pJSContext && m_pContext->GetFormFillEnv())
- m_pContext->GetFormFillEnv()->GetJSRuntime()->ReleaseContext(m_pJSContext);
+ if (m_pJSEventContext && m_pContext->GetFormFillEnv()) {
+ m_pContext->GetFormFillEnv()->GetJSRuntime()->ReleaseEventContext(
+ m_pJSEventContext);
+ }
}
void CPDFXFA_DocEnvironment::SetChangeMark(CXFA_FFDoc* hDoc) {
@@ -1023,8 +1025,8 @@ bool CPDFXFA_DocEnvironment::GetGlobalProperty(
}
CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pContext->GetFormFillEnv();
- if (!m_pJSContext)
- m_pJSContext = pFormFillEnv->GetJSRuntime()->NewContext();
+ if (!m_pJSEventContext)
+ m_pJSEventContext = pFormFillEnv->GetJSRuntime()->NewEventContext();
return pFormFillEnv->GetJSRuntime()->GetValueByName(szPropName, pValue);
}
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h
index d7cb169616..dc18d9a0c6 100644
--- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h
+++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h
@@ -12,7 +12,7 @@
#include "xfa/fxfa/fxfa.h"
class CPDFXFA_Context;
-class IJS_Context;
+class IJS_EventContext;
class CPDFXFA_DocEnvironment : public IXFA_DocEnvironment {
public:
@@ -107,8 +107,8 @@ class CPDFXFA_DocEnvironment : public IXFA_DocEnvironment {
FPDF_DWORD flag);
void ToXFAContentFlags(CFX_WideString csSrcContent, FPDF_DWORD& flag);
- CPDFXFA_Context* const m_pContext; // Not owned;
- IJS_Context* m_pJSContext;
+ CPDFXFA_Context* const m_pContext; // Not owned.
+ IJS_EventContext* m_pJSEventContext; // Not owned.
};
#endif // FPDFSDK_FPDFXFA_CPDFXFA_DOCENVIRONMENT_H_
diff --git a/fpdfsdk/fsdk_actionhandler.cpp b/fpdfsdk/fsdk_actionhandler.cpp
index 61d2a52853..dc99f32f34 100644
--- a/fpdfsdk/fsdk_actionhandler.cpp
+++ b/fpdfsdk/fsdk_actionhandler.cpp
@@ -14,7 +14,7 @@
#include "fpdfsdk/cpdfsdk_formfillenvironment.h"
#include "fpdfsdk/cpdfsdk_interform.h"
#include "fpdfsdk/fsdk_define.h"
-#include "fpdfsdk/javascript/ijs_context.h"
+#include "fpdfsdk/javascript/ijs_event_context.h"
#include "fpdfsdk/javascript/ijs_runtime.h"
#include "third_party/base/stl_util.h"
@@ -157,16 +157,15 @@ bool CPDFSDK_ActionHandler::ExecuteLinkAction(
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
IJS_Runtime* pRuntime = pFormFillEnv->GetJSRuntime();
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
pContext->OnLink_MouseUp(pFormFillEnv);
CFX_WideString csInfo;
bool bRet = pContext->RunScript(swJS, &csInfo);
+ pRuntime->ReleaseEventContext(pContext);
if (!bRet) {
// FIXME: return error.
}
-
- pRuntime->ReleaseContext(pContext);
}
}
} else {
@@ -282,14 +281,13 @@ bool CPDFSDK_ActionHandler::ExecuteScreenAction(
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
IJS_Runtime* pRuntime = pFormFillEnv->GetJSRuntime();
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
CFX_WideString csInfo;
bool bRet = pContext->RunScript(swJS, &csInfo);
+ pRuntime->ReleaseEventContext(pContext);
if (!bRet) {
// FIXME: return error.
}
-
- pRuntime->ReleaseContext(pContext);
}
}
} else {
@@ -322,16 +320,15 @@ bool CPDFSDK_ActionHandler::ExecuteBookMark(
CFX_WideString swJS = action.GetJavaScript();
if (!swJS.IsEmpty()) {
IJS_Runtime* pRuntime = pFormFillEnv->GetJSRuntime();
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
pContext->OnBookmark_MouseUp(pBookmark);
CFX_WideString csInfo;
bool bRet = pContext->RunScript(swJS, &csInfo);
+ pRuntime->ReleaseEventContext(pContext);
if (!bRet) {
// FIXME: return error.
}
-
- pRuntime->ReleaseContext(pContext);
}
}
} else {
@@ -478,7 +475,7 @@ void CPDFSDK_ActionHandler::RunFieldJavaScript(
ASSERT(type != CPDF_AAction::Format);
IJS_Runtime* pRuntime = pFormFillEnv->GetJSRuntime();
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
switch (type) {
case CPDF_AAction::CursorEnter:
pContext->OnField_MouseEnter(data.bModifier, data.bShift, pFormField);
@@ -518,11 +515,10 @@ void CPDFSDK_ActionHandler::RunFieldJavaScript(
CFX_WideString csInfo;
bool bRet = pContext->RunScript(script, &csInfo);
+ pRuntime->ReleaseEventContext(pContext);
if (!bRet) {
// FIXME: return error.
}
-
- pRuntime->ReleaseContext(pContext);
}
void CPDFSDK_ActionHandler::RunDocumentOpenJavaScript(
@@ -530,16 +526,15 @@ void CPDFSDK_ActionHandler::RunDocumentOpenJavaScript(
const CFX_WideString& sScriptName,
const CFX_WideString& script) {
IJS_Runtime* pRuntime = pFormFillEnv->GetJSRuntime();
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
pContext->OnDoc_Open(pFormFillEnv, sScriptName);
CFX_WideString csInfo;
bool bRet = pContext->RunScript(script, &csInfo);
+ pRuntime->ReleaseEventContext(pContext);
if (!bRet) {
// FIXME: return error.
}
-
- pRuntime->ReleaseContext(pContext);
}
void CPDFSDK_ActionHandler::RunDocumentPageJavaScript(
@@ -547,7 +542,7 @@ void CPDFSDK_ActionHandler::RunDocumentPageJavaScript(
CPDF_AAction::AActionType type,
const CFX_WideString& script) {
IJS_Runtime* pRuntime = pFormFillEnv->GetJSRuntime();
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
switch (type) {
case CPDF_AAction::OpenPage:
pContext->OnPage_Open(pFormFillEnv);
@@ -583,11 +578,10 @@ void CPDFSDK_ActionHandler::RunDocumentPageJavaScript(
CFX_WideString csInfo;
bool bRet = pContext->RunScript(script, &csInfo);
+ pRuntime->ReleaseEventContext(pContext);
if (!bRet) {
// FIXME: return error.
}
-
- pRuntime->ReleaseContext(pContext);
}
bool CPDFSDK_ActionHandler::DoAction_Hide(
diff --git a/fpdfsdk/javascript/Annot.cpp b/fpdfsdk/javascript/Annot.cpp
index 1aef4634f2..1a496ec16c 100644
--- a/fpdfsdk/javascript/Annot.cpp
+++ b/fpdfsdk/javascript/Annot.cpp
@@ -9,7 +9,7 @@
#include "fpdfsdk/javascript/JS_Define.h"
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
namespace {
@@ -37,7 +37,9 @@ Annot::Annot(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject) {}
Annot::~Annot() {}
-bool Annot::hidden(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Annot::hidden(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (vp.IsGetting()) {
if (!m_pAnnot) {
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
@@ -71,7 +73,9 @@ bool Annot::hidden(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return true;
}
-bool Annot::name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Annot::name(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (vp.IsGetting()) {
if (!m_pAnnot) {
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
@@ -92,7 +96,9 @@ bool Annot::name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return true;
}
-bool Annot::type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Annot::type(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (vp.IsSetting()) {
sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
return false;
diff --git a/fpdfsdk/javascript/Annot.h b/fpdfsdk/javascript/Annot.h
index 39073e6719..dffa713c4d 100644
--- a/fpdfsdk/javascript/Annot.h
+++ b/fpdfsdk/javascript/Annot.h
@@ -17,9 +17,9 @@ class Annot : public CJS_EmbedObj {
explicit Annot(CJS_Object* pJSObject);
~Annot() override;
- bool hidden(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool hidden(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool name(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool type(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
void SetSDKAnnot(CPDFSDK_BAAnnot* annot);
diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
index 1a0a53cce2..38600ed766 100644
--- a/fpdfsdk/javascript/Document.cpp
+++ b/fpdfsdk/javascript/Document.cpp
@@ -30,7 +30,7 @@
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
#include "fpdfsdk/javascript/app.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/cjs_runtime.h"
#include "fpdfsdk/javascript/resource.h"
#include "third_party/base/numerics/safe_math.h"
@@ -163,7 +163,7 @@ Document::~Document() {
}
// the total number of fileds in document.
-bool Document::numFields(IJS_Context* cc,
+bool Document::numFields(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -180,7 +180,7 @@ bool Document::numFields(IJS_Context* cc,
return true;
}
-bool Document::dirty(IJS_Context* cc,
+bool Document::dirty(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!m_pFormFillEnv) {
@@ -189,28 +189,28 @@ bool Document::dirty(IJS_Context* cc,
}
if (vp.IsGetting()) {
vp << !!m_pFormFillEnv->GetChangeMark();
- } else {
- bool bChanged = false;
- vp >> bChanged;
-
- if (bChanged)
- m_pFormFillEnv->SetChangeMark();
- else
- m_pFormFillEnv->ClearChangeMark();
+ return true;
}
+ bool bChanged = false;
+ vp >> bChanged;
+ if (bChanged)
+ m_pFormFillEnv->SetChangeMark();
+ else
+ m_pFormFillEnv->ClearChangeMark();
+
return true;
}
-bool Document::ADBE(IJS_Context* cc,
+bool Document::ADBE(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsGetting())
- vp.GetJSValue()->SetNull(CJS_Runtime::FromContext(cc));
+ vp.GetJSValue()->SetNull(CJS_Runtime::FromEventContext(cc));
return true;
}
-bool Document::pageNum(IJS_Context* cc,
+bool Document::pageNum(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!m_pFormFillEnv) {
@@ -218,27 +218,24 @@ bool Document::pageNum(IJS_Context* cc,
return false;
}
if (vp.IsGetting()) {
- if (CPDFSDK_PageView* pPageView = m_pFormFillEnv->GetCurrentView()) {
+ if (CPDFSDK_PageView* pPageView = m_pFormFillEnv->GetCurrentView())
vp << pPageView->GetPageIndex();
- }
- } else {
- int iPageCount = m_pFormFillEnv->GetPageCount();
- int iPageNum = 0;
- vp >> iPageNum;
-
- if (iPageNum >= 0 && iPageNum < iPageCount) {
- m_pFormFillEnv->JS_docgotoPage(iPageNum);
- } else if (iPageNum >= iPageCount) {
- m_pFormFillEnv->JS_docgotoPage(iPageCount - 1);
- } else if (iPageNum < 0) {
- m_pFormFillEnv->JS_docgotoPage(0);
- }
+ return true;
}
+ int iPageCount = m_pFormFillEnv->GetPageCount();
+ int iPageNum = 0;
+ vp >> iPageNum;
+ if (iPageNum >= 0 && iPageNum < iPageCount)
+ m_pFormFillEnv->JS_docgotoPage(iPageNum);
+ else if (iPageNum >= iPageCount)
+ m_pFormFillEnv->JS_docgotoPage(iPageCount - 1);
+ else if (iPageNum < 0)
+ m_pFormFillEnv->JS_docgotoPage(0);
return true;
}
-bool Document::addAnnot(IJS_Context* cc,
+bool Document::addAnnot(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -246,7 +243,7 @@ bool Document::addAnnot(IJS_Context* cc,
return true;
}
-bool Document::addField(IJS_Context* cc,
+bool Document::addField(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -254,7 +251,7 @@ bool Document::addField(IJS_Context* cc,
return true;
}
-bool Document::exportAsText(IJS_Context* cc,
+bool Document::exportAsText(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -262,7 +259,7 @@ bool Document::exportAsText(IJS_Context* cc,
return true;
}
-bool Document::exportAsFDF(IJS_Context* cc,
+bool Document::exportAsFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -270,7 +267,7 @@ bool Document::exportAsFDF(IJS_Context* cc,
return true;
}
-bool Document::exportAsXFDF(IJS_Context* cc,
+bool Document::exportAsXFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -283,7 +280,7 @@ bool Document::exportAsXFDF(IJS_Context* cc,
// note: the paremter cName, this is clue how to treat if the cName is not a
// valiable filed name in this document
-bool Document::getField(IJS_Context* cc,
+bool Document::getField(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -295,8 +292,7 @@ bool Document::getField(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString wideName = params[0].ToCFXWideString(pRuntime);
CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
@@ -317,7 +313,7 @@ bool Document::getField(IJS_Context* cc,
}
// Gets the name of the nth field in the document
-bool Document::getNthFieldName(IJS_Context* cc,
+bool Document::getNthFieldName(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -329,8 +325,7 @@ bool Document::getNthFieldName(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int nIndex = params[0].ToInt(pRuntime);
if (nIndex < 0) {
sError = JSGetStringFromID(IDS_STRING_JSVALUEERROR);
@@ -346,7 +341,7 @@ bool Document::getNthFieldName(IJS_Context* cc,
return true;
}
-bool Document::importAnFDF(IJS_Context* cc,
+bool Document::importAnFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -354,7 +349,7 @@ bool Document::importAnFDF(IJS_Context* cc,
return true;
}
-bool Document::importAnXFDF(IJS_Context* cc,
+bool Document::importAnXFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -362,7 +357,7 @@ bool Document::importAnXFDF(IJS_Context* cc,
return true;
}
-bool Document::importTextData(IJS_Context* cc,
+bool Document::importTextData(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -373,7 +368,7 @@ bool Document::importTextData(IJS_Context* cc,
// exports the form data and mails the resulting fdf file as an attachment to
// all recipients.
// comment: need reader supports
-bool Document::mailForm(IJS_Context* cc,
+bool Document::mailForm(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -385,10 +380,7 @@ bool Document::mailForm(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return false;
}
-
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
-
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iLength = params.size();
bool bUI = iLength > 0 ? params[0].ToBool(pRuntime) : true;
CFX_WideString cTo = iLength > 1 ? params[1].ToCFXWideString(pRuntime) : L"";
@@ -397,14 +389,13 @@ bool Document::mailForm(IJS_Context* cc,
CFX_WideString cSubject =
iLength > 4 ? params[4].ToCFXWideString(pRuntime) : L"";
CFX_WideString cMsg = iLength > 5 ? params[5].ToCFXWideString(pRuntime) : L"";
-
CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
CFX_ByteTextBuf textBuf;
if (!pInterForm->ExportFormToFDFTextBuf(textBuf))
return false;
pRuntime->BeginBlock();
- CPDFSDK_FormFillEnvironment* pFormFillEnv = pContext->GetFormFillEnv();
+ CPDFSDK_FormFillEnvironment* pFormFillEnv = pRuntime->GetFormFillEnv();
pFormFillEnv->JS_docmailForm(textBuf.GetBuffer(), textBuf.GetLength(), bUI,
cTo.c_str(), cSubject.c_str(), cCc.c_str(),
cBcc.c_str(), cMsg.c_str());
@@ -412,7 +403,7 @@ bool Document::mailForm(IJS_Context* cc,
return true;
}
-bool Document::print(IJS_Context* cc,
+bool Document::print(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -420,10 +411,7 @@ bool Document::print(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return false;
}
-
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
-
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
bool bUI = true;
int nStart = 0;
int nEnd = 0;
@@ -432,7 +420,6 @@ bool Document::print(IJS_Context* cc,
bool bPrintAsImage = false;
bool bReverse = false;
bool bAnnotations = false;
-
int nlength = params.size();
if (nlength == 9) {
if (params[8].GetType() == CJS_Value::VT_object) {
@@ -485,7 +472,7 @@ bool Document::print(IJS_Context* cc,
// comment:
// note: if the filed name is not rational, adobe is dumb for it.
-bool Document::removeField(IJS_Context* cc,
+bool Document::removeField(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -502,8 +489,7 @@ bool Document::removeField(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString sFieldName = params[0].ToCFXWideString(pRuntime);
CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
std::vector<CPDFSDK_Annot::ObservedPtr> widgets;
@@ -546,7 +532,7 @@ bool Document::removeField(IJS_Context* cc,
// comment:
// note: if the fields names r not rational, aodbe is dumb for it.
-bool Document::resetForm(IJS_Context* cc,
+bool Document::resetForm(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -571,7 +557,7 @@ bool Document::resetForm(IJS_Context* cc,
return true;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
switch (params[0].GetType()) {
@@ -600,7 +586,7 @@ bool Document::resetForm(IJS_Context* cc,
return true;
}
-bool Document::saveAs(IJS_Context* cc,
+bool Document::saveAs(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -608,14 +594,14 @@ bool Document::saveAs(IJS_Context* cc,
return true;
}
-bool Document::syncAnnotScan(IJS_Context* cc,
+bool Document::syncAnnotScan(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Document::submitForm(IJS_Context* cc,
+bool Document::submitForm(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -628,8 +614,7 @@ bool Document::submitForm(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Array aFields;
CFX_WideString strURL;
bool bFDF = true;
@@ -698,20 +683,19 @@ void Document::SetFormFillEnv(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
m_pFormFillEnv.Reset(pFormFillEnv);
}
-bool Document::bookmarkRoot(IJS_Context* cc,
+bool Document::bookmarkRoot(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Document::mailDoc(IJS_Context* cc,
+bool Document::mailDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
// TODO(tsepez): Check maximum number of allowed params.
-
bool bUI = true;
CFX_WideString cTo = L"";
CFX_WideString cCc = L"";
@@ -719,8 +703,6 @@ bool Document::mailDoc(IJS_Context* cc,
CFX_WideString cSubject = L"";
CFX_WideString cMsg = L"";
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
-
if (params.size() >= 1)
bUI = params[0].ToBool(pRuntime);
if (params.size() >= 2)
@@ -761,17 +743,16 @@ bool Document::mailDoc(IJS_Context* cc,
pFormFillEnv->JS_docmailForm(nullptr, 0, bUI, cTo.c_str(), cSubject.c_str(),
cCc.c_str(), cBcc.c_str(), cMsg.c_str());
pRuntime->EndBlock();
-
return true;
}
-bool Document::author(IJS_Context* cc,
+bool Document::author(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return getPropertyInternal(cc, vp, "Author", sError);
}
-bool Document::info(IJS_Context* cc,
+bool Document::info(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -797,9 +778,7 @@ bool Document::info(IJS_Context* cc,
CFX_WideString cwModDate = pDictionary->GetUnicodeTextFor("ModDate");
CFX_WideString cwTrapped = pDictionary->GetUnicodeTextFor("Trapped");
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
-
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
v8::Local<v8::Object> pObj = pRuntime->NewFxDynamicObj(-1);
pRuntime->PutObjectProperty(pObj, L"Author", pRuntime->NewString(cwAuthor));
pRuntime->PutObjectProperty(pObj, L"Title", pRuntime->NewString(cwTitle));
@@ -834,7 +813,7 @@ bool Document::info(IJS_Context* cc,
return true;
}
-bool Document::getPropertyInternal(IJS_Context* cc,
+bool Document::getPropertyInternal(IJS_EventContext* cc,
CJS_PropValue& vp,
const CFX_ByteString& propName,
CFX_WideString& sError) {
@@ -862,19 +841,19 @@ bool Document::getPropertyInternal(IJS_Context* cc,
return true;
}
-bool Document::creationDate(IJS_Context* cc,
+bool Document::creationDate(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return getPropertyInternal(cc, vp, "CreationDate", sError);
}
-bool Document::creator(IJS_Context* cc,
+bool Document::creator(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return getPropertyInternal(cc, vp, "Creator", sError);
}
-bool Document::delay(IJS_Context* cc,
+bool Document::delay(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!m_pFormFillEnv) {
@@ -883,49 +862,50 @@ bool Document::delay(IJS_Context* cc,
}
if (vp.IsGetting()) {
vp << m_bDelay;
- } else {
- if (!m_pFormFillEnv->GetPermissions(FPDFPERM_MODIFY)) {
- sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
- return false;
- }
- vp >> m_bDelay;
- if (m_bDelay) {
- m_DelayData.clear();
- } else {
- std::list<std::unique_ptr<CJS_DelayData>> DelayDataToProcess;
- DelayDataToProcess.swap(m_DelayData);
- for (const auto& pData : DelayDataToProcess)
- Field::DoDelay(m_pFormFillEnv.Get(), pData.get());
- }
+ return true;
}
+ if (!m_pFormFillEnv->GetPermissions(FPDFPERM_MODIFY)) {
+ sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
+ return false;
+ }
+ vp >> m_bDelay;
+ if (m_bDelay) {
+ m_DelayData.clear();
+ return true;
+ }
+ std::list<std::unique_ptr<CJS_DelayData>> DelayDataToProcess;
+ DelayDataToProcess.swap(m_DelayData);
+ for (const auto& pData : DelayDataToProcess)
+ Field::DoDelay(m_pFormFillEnv.Get(), pData.get());
+
return true;
}
-bool Document::keywords(IJS_Context* cc,
+bool Document::keywords(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return getPropertyInternal(cc, vp, "Keywords", sError);
}
-bool Document::modDate(IJS_Context* cc,
+bool Document::modDate(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return getPropertyInternal(cc, vp, "ModDate", sError);
}
-bool Document::producer(IJS_Context* cc,
+bool Document::producer(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return getPropertyInternal(cc, vp, "Producer", sError);
}
-bool Document::subject(IJS_Context* cc,
+bool Document::subject(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return getPropertyInternal(cc, vp, "Subject", sError);
}
-bool Document::title(IJS_Context* cc,
+bool Document::title(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!m_pFormFillEnv || !m_pFormFillEnv->GetUnderlyingDocument()) {
@@ -935,7 +915,7 @@ bool Document::title(IJS_Context* cc,
return getPropertyInternal(cc, vp, "Title", sError);
}
-bool Document::numPages(IJS_Context* cc,
+bool Document::numPages(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -950,7 +930,7 @@ bool Document::numPages(IJS_Context* cc,
return true;
}
-bool Document::external(IJS_Context* cc,
+bool Document::external(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
// In Chrome case, should always return true.
@@ -960,7 +940,7 @@ bool Document::external(IJS_Context* cc,
return true;
}
-bool Document::filesize(IJS_Context* cc,
+bool Document::filesize(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -971,19 +951,21 @@ bool Document::filesize(IJS_Context* cc,
return true;
}
-bool Document::mouseX(IJS_Context* cc,
+bool Document::mouseX(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Document::mouseY(IJS_Context* cc,
+bool Document::mouseY(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Document::URL(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Document::URL(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (vp.IsSetting()) {
sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
return false;
@@ -996,7 +978,7 @@ bool Document::URL(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return true;
}
-bool Document::baseURL(IJS_Context* cc,
+bool Document::baseURL(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsGetting()) {
@@ -1007,7 +989,7 @@ bool Document::baseURL(IJS_Context* cc,
return true;
}
-bool Document::calculate(IJS_Context* cc,
+bool Document::calculate(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!m_pFormFillEnv) {
@@ -1017,15 +999,15 @@ bool Document::calculate(IJS_Context* cc,
CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
if (vp.IsGetting()) {
vp << !!pInterForm->IsCalculateEnabled();
- } else {
- bool bCalculate;
- vp >> bCalculate;
- pInterForm->EnableCalculate(bCalculate);
+ return true;
}
+ bool bCalculate;
+ vp >> bCalculate;
+ pInterForm->EnableCalculate(bCalculate);
return true;
}
-bool Document::documentFileName(IJS_Context* cc,
+bool Document::documentFileName(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -1050,7 +1032,7 @@ bool Document::documentFileName(IJS_Context* cc,
return true;
}
-bool Document::path(IJS_Context* cc,
+bool Document::path(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -1065,40 +1047,40 @@ bool Document::path(IJS_Context* cc,
return true;
}
-bool Document::pageWindowRect(IJS_Context* cc,
+bool Document::pageWindowRect(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Document::layout(IJS_Context* cc,
+bool Document::layout(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Document::addLink(IJS_Context* cc,
+bool Document::addLink(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Document::closeDoc(IJS_Context* cc,
+bool Document::closeDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Document::getPageBox(IJS_Context* cc,
+bool Document::getPageBox(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Document::getAnnot(IJS_Context* cc,
+bool Document::getAnnot(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1110,8 +1092,7 @@ bool Document::getAnnot(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int nPageNo = params[0].ToInt(pRuntime);
CFX_WideString swAnnotName = params[1].ToCFXWideString(pRuntime);
CPDFSDK_PageView* pPageView = m_pFormFillEnv->GetPageView(nPageNo);
@@ -1150,7 +1131,7 @@ bool Document::getAnnot(IJS_Context* cc,
return true;
}
-bool Document::getAnnots(IJS_Context* cc,
+bool Document::getAnnots(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1158,8 +1139,7 @@ bool Document::getAnnots(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
// TODO(tonikitoo): Add support supported parameters as per
// the PDF spec.
@@ -1200,29 +1180,29 @@ bool Document::getAnnots(IJS_Context* cc,
return true;
}
-bool Document::getAnnot3D(IJS_Context* cc,
+bool Document::getAnnot3D(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- vRet.SetNull(CJS_Runtime::FromContext(cc));
+ vRet.SetNull(CJS_Runtime::FromEventContext(cc));
return true;
}
-bool Document::getAnnots3D(IJS_Context* cc,
+bool Document::getAnnots3D(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Document::getOCGs(IJS_Context* cc,
+bool Document::getOCGs(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Document::getLinks(IJS_Context* cc,
+bool Document::getLinks(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1234,7 +1214,7 @@ bool Document::IsEnclosedInRect(CFX_FloatRect rect, CFX_FloatRect LinkRect) {
rect.right >= LinkRect.right && rect.bottom >= LinkRect.bottom);
}
-bool Document::addIcon(IJS_Context* cc,
+bool Document::addIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1243,10 +1223,8 @@ bool Document::addIcon(IJS_Context* cc,
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString swIconName = params[0].ToCFXWideString(pRuntime);
-
if (params[1].GetType() != CJS_Value::VT_object) {
sError = JSGetStringFromID(IDS_STRING_JSTYPEERROR);
return false;
@@ -1269,7 +1247,7 @@ bool Document::addIcon(IJS_Context* cc,
return true;
}
-bool Document::icons(IJS_Context* cc,
+bool Document::icons(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -1277,7 +1255,7 @@ bool Document::icons(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
if (m_Icons.empty()) {
vp.GetJSValue()->SetNull(pRuntime);
return true;
@@ -1310,7 +1288,7 @@ bool Document::icons(IJS_Context* cc,
return true;
}
-bool Document::getIcon(IJS_Context* cc,
+bool Document::getIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1322,7 +1300,7 @@ bool Document::getIcon(IJS_Context* cc,
if (m_Icons.empty())
return false;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString swIconName = params[0].ToCFXWideString(pRuntime);
for (const auto& pIconElement : m_Icons) {
@@ -1353,7 +1331,7 @@ bool Document::getIcon(IJS_Context* cc,
return false;
}
-bool Document::removeIcon(IJS_Context* cc,
+bool Document::removeIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1361,7 +1339,7 @@ bool Document::removeIcon(IJS_Context* cc,
return true;
}
-bool Document::createDataObject(IJS_Context* cc,
+bool Document::createDataObject(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1369,13 +1347,13 @@ bool Document::createDataObject(IJS_Context* cc,
return true;
}
-bool Document::media(IJS_Context* cc,
+bool Document::media(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Document::calculateNow(IJS_Context* cc,
+bool Document::calculateNow(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1393,13 +1371,13 @@ bool Document::calculateNow(IJS_Context* cc,
return true;
}
-bool Document::Collab(IJS_Context* cc,
+bool Document::Collab(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Document::getPageNthWord(IJS_Context* cc,
+bool Document::getPageNthWord(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1411,7 +1389,7 @@ bool Document::getPageNthWord(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
// TODO(tsepez): check maximum allowable params.
@@ -1458,7 +1436,7 @@ bool Document::getPageNthWord(IJS_Context* cc,
return true;
}
-bool Document::getPageNthWordQuads(IJS_Context* cc,
+bool Document::getPageNthWordQuads(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1473,7 +1451,7 @@ bool Document::getPageNthWordQuads(IJS_Context* cc,
return false;
}
-bool Document::getPageNumWords(IJS_Context* cc,
+bool Document::getPageNumWords(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1485,7 +1463,7 @@ bool Document::getPageNumWords(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int nPageNo = params.size() > 0 ? params[0].ToInt(pRuntime) : 0;
CPDF_Document* pDocument = m_pFormFillEnv->GetPDFDocument();
if (nPageNo < 0 || nPageNo >= pDocument->GetPageCount()) {
@@ -1510,12 +1488,11 @@ bool Document::getPageNumWords(IJS_Context* cc,
return true;
}
-bool Document::getPrintParams(IJS_Context* cc,
+bool Document::getPrintParams(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
v8::Local<v8::Object> pRetObj =
pRuntime->NewFxDynamicObj(CJS_PrintParamsObj::g_nObjDefnID);
@@ -1597,7 +1574,7 @@ CFX_WideString Document::GetObjWordStr(CPDF_TextObject* pTextObj,
return swRet;
}
-bool Document::zoom(IJS_Context* cc,
+bool Document::zoom(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
@@ -1613,13 +1590,13 @@ bool Document::zoom(IJS_Context* cc,
(refW, ReflowWidth)
*/
-bool Document::zoomType(IJS_Context* cc,
+bool Document::zoomType(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Document::deletePages(IJS_Context* cc,
+bool Document::deletePages(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1627,7 +1604,7 @@ bool Document::deletePages(IJS_Context* cc,
return true;
}
-bool Document::extractPages(IJS_Context* cc,
+bool Document::extractPages(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1635,7 +1612,7 @@ bool Document::extractPages(IJS_Context* cc,
return true;
}
-bool Document::insertPages(IJS_Context* cc,
+bool Document::insertPages(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1643,7 +1620,7 @@ bool Document::insertPages(IJS_Context* cc,
return true;
}
-bool Document::replacePages(IJS_Context* cc,
+bool Document::replacePages(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1651,7 +1628,7 @@ bool Document::replacePages(IJS_Context* cc,
return true;
}
-bool Document::getURL(IJS_Context* cc,
+bool Document::getURL(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1659,7 +1636,7 @@ bool Document::getURL(IJS_Context* cc,
return true;
}
-bool Document::gotoNamedDest(IJS_Context* cc,
+bool Document::gotoNamedDest(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1671,7 +1648,7 @@ bool Document::gotoNamedDest(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString wideName = params[0].ToCFXWideString(pRuntime);
CFX_ByteString utf8Name = wideName.UTF8Encode();
CPDF_Document* pDocument = m_pFormFillEnv->GetPDFDocument();
diff --git a/fpdfsdk/javascript/Document.h b/fpdfsdk/javascript/Document.h
index 7786c77881..97a93c528e 100644
--- a/fpdfsdk/javascript/Document.h
+++ b/fpdfsdk/javascript/Document.h
@@ -61,211 +61,231 @@ class Document : public CJS_EmbedObj {
explicit Document(CJS_Object* pJSObject);
~Document() override;
- bool ADBE(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool author(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool baseURL(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool bookmarkRoot(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool calculate(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool Collab(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool creationDate(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool creator(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool delay(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool dirty(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool documentFileName(IJS_Context* cc,
+ bool ADBE(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool author(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool baseURL(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool bookmarkRoot(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool calculate(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool Collab(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool creationDate(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool creator(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool delay(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool dirty(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool documentFileName(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool external(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool filesize(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool icons(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool info(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool keywords(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool layout(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool modDate(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool mouseX(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool mouseY(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool numFields(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool numPages(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool pageNum(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool pageWindowRect(IJS_Context* cc,
+ bool external(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool filesize(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool icons(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool info(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool keywords(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool layout(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool media(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool modDate(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool mouseX(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool mouseY(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool numFields(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool numPages(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool pageNum(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool pageWindowRect(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool path(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool producer(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool subject(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool title(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool zoom(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool zoomType(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool path(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool producer(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool subject(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool title(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool zoom(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool zoomType(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
- bool addAnnot(IJS_Context* cc,
+ bool addAnnot(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool addField(IJS_Context* cc,
+ bool addField(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool addLink(IJS_Context* cc,
+ bool addLink(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool addIcon(IJS_Context* cc,
+ bool addIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool calculateNow(IJS_Context* cc,
+ bool calculateNow(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool closeDoc(IJS_Context* cc,
+ bool closeDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool createDataObject(IJS_Context* cc,
+ bool createDataObject(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool deletePages(IJS_Context* cc,
+ bool deletePages(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool exportAsText(IJS_Context* cc,
+ bool exportAsText(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool exportAsFDF(IJS_Context* cc,
+ bool exportAsFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool exportAsXFDF(IJS_Context* cc,
+ bool exportAsXFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool extractPages(IJS_Context* cc,
+ bool extractPages(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getAnnot(IJS_Context* cc,
+ bool getAnnot(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getAnnots(IJS_Context* cc,
+ bool getAnnots(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getAnnot3D(IJS_Context* cc,
+ bool getAnnot3D(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getAnnots3D(IJS_Context* cc,
+ bool getAnnots3D(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getField(IJS_Context* cc,
+ bool getField(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getIcon(IJS_Context* cc,
+ bool getIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getLinks(IJS_Context* cc,
+ bool getLinks(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getNthFieldName(IJS_Context* cc,
+ bool getNthFieldName(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getOCGs(IJS_Context* cc,
+ bool getOCGs(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getPageBox(IJS_Context* cc,
+ bool getPageBox(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getPageNthWord(IJS_Context* cc,
+ bool getPageNthWord(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getPageNthWordQuads(IJS_Context* cc,
+ bool getPageNthWordQuads(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getPageNumWords(IJS_Context* cc,
+ bool getPageNumWords(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getPrintParams(IJS_Context* cc,
+ bool getPrintParams(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getURL(IJS_Context* cc,
+ bool getURL(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool gotoNamedDest(IJS_Context* cc,
+ bool gotoNamedDest(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool importAnFDF(IJS_Context* cc,
+ bool importAnFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool importAnXFDF(IJS_Context* cc,
+ bool importAnXFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool importTextData(IJS_Context* cc,
+ bool importTextData(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool insertPages(IJS_Context* cc,
+ bool insertPages(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool mailForm(IJS_Context* cc,
+ bool mailForm(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool print(IJS_Context* cc,
+ bool print(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool removeField(IJS_Context* cc,
+ bool removeField(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool replacePages(IJS_Context* cc,
+ bool replacePages(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool resetForm(IJS_Context* cc,
+ bool resetForm(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool saveAs(IJS_Context* cc,
+ bool saveAs(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool submitForm(IJS_Context* cc,
+ bool submitForm(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool syncAnnotScan(IJS_Context* cc,
+ bool syncAnnotScan(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool mailDoc(IJS_Context* cc,
+ bool mailDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool removeIcon(IJS_Context* cc,
+ bool removeIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool URL(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool URL(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
void SetFormFillEnv(CPDFSDK_FormFillEnvironment* pFormFillEnv);
CPDFSDK_FormFillEnvironment* GetFormFillEnv() const {
@@ -280,7 +300,7 @@ class Document : public CJS_EmbedObj {
int CountWords(CPDF_TextObject* pTextObj);
CFX_WideString GetObjWordStr(CPDF_TextObject* pTextObj, int nWordIndex);
- bool getPropertyInternal(IJS_Context* cc,
+ bool getPropertyInternal(IJS_EventContext* cc,
CJS_PropValue& vp,
const CFX_ByteString& propName,
CFX_WideString& sError);
diff --git a/fpdfsdk/javascript/Field.cpp b/fpdfsdk/javascript/Field.cpp
index e04cbd696f..3eb3f8e35b 100644
--- a/fpdfsdk/javascript/Field.cpp
+++ b/fpdfsdk/javascript/Field.cpp
@@ -26,7 +26,7 @@
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
#include "fpdfsdk/javascript/PublicMethods.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/cjs_runtime.h"
#include "fpdfsdk/javascript/color.h"
@@ -375,7 +375,7 @@ CPDF_FormControl* Field::GetSmartFieldControl(CPDF_FormField* pFormField) {
return pFormField->GetControl(m_nFormControlIndex);
}
-bool Field::alignment(IJS_Context* cc,
+bool Field::alignment(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -431,7 +431,7 @@ void Field::SetAlignment(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::borderStyle(IJS_Context* cc,
+bool Field::borderStyle(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -540,7 +540,7 @@ void Field::SetBorderStyle(CPDFSDK_FormFillEnvironment* pFormFillEnv,
}
}
-bool Field::buttonAlignX(IJS_Context* cc,
+bool Field::buttonAlignX(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -589,7 +589,7 @@ void Field::SetButtonAlignX(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::buttonAlignY(IJS_Context* cc,
+bool Field::buttonAlignY(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -638,7 +638,7 @@ void Field::SetButtonAlignY(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::buttonFitBounds(IJS_Context* cc,
+bool Field::buttonFitBounds(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -682,7 +682,7 @@ void Field::SetButtonFitBounds(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::buttonPosition(IJS_Context* cc,
+bool Field::buttonPosition(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -725,7 +725,7 @@ void Field::SetButtonPosition(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::buttonScaleHow(IJS_Context* cc,
+bool Field::buttonScaleHow(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -773,7 +773,7 @@ void Field::SetButtonScaleHow(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::buttonScaleWhen(IJS_Context* cc,
+bool Field::buttonScaleWhen(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -832,7 +832,7 @@ void Field::SetButtonScaleWhen(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::calcOrderIndex(IJS_Context* cc,
+bool Field::calcOrderIndex(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -876,7 +876,7 @@ void Field::SetCalcOrderIndex(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::charLimit(IJS_Context* cc,
+bool Field::charLimit(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -915,7 +915,9 @@ void Field::SetCharLimit(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::comb(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Field::comb(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
if (vp.IsSetting()) {
@@ -956,7 +958,7 @@ void Field::SetComb(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::commitOnSelChange(IJS_Context* cc,
+bool Field::commitOnSelChange(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -1001,10 +1003,10 @@ void Field::SetCommitOnSelChange(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::currentValueIndices(IJS_Context* cc,
+bool Field::currentValueIndices(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
if (vp.IsSetting()) {
if (!m_bCanSet)
@@ -1087,7 +1089,7 @@ void Field::SetCurrentValueIndices(CPDFSDK_FormFillEnvironment* pFormFillEnv,
}
}
-bool Field::defaultStyle(IJS_Context* cc,
+bool Field::defaultStyle(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return false;
@@ -1099,7 +1101,7 @@ void Field::SetDefaultStyle(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::defaultValue(IJS_Context* cc,
+bool Field::defaultValue(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -1140,7 +1142,7 @@ void Field::SetDefaultValue(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::doNotScroll(IJS_Context* cc,
+bool Field::doNotScroll(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -1183,7 +1185,7 @@ void Field::SetDoNotScroll(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::doNotSpellCheck(IJS_Context* cc,
+bool Field::doNotSpellCheck(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -1223,22 +1225,23 @@ void Field::SetDelay(bool bDelay) {
}
}
-bool Field::delay(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
- if (vp.IsSetting()) {
- if (!m_bCanSet)
- return false;
-
- bool bVP;
- vp >> bVP;
-
- SetDelay(bVP);
- } else {
+bool Field::delay(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ if (!vp.IsSetting()) {
vp << m_bDelay;
+ return true;
}
+ if (!m_bCanSet)
+ return false;
+
+ bool bVP;
+ vp >> bVP;
+ SetDelay(bVP);
return true;
}
-bool Field::display(IJS_Context* cc,
+bool Field::display(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -1247,43 +1250,40 @@ bool Field::display(IJS_Context* cc,
int nVP;
vp >> nVP;
-
if (m_bDelay) {
AddDelay_Int(FP_DISPLAY, nVP);
} else {
Field::SetDisplay(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
nVP);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- ASSERT(pFormField);
- CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
- CPDFSDK_Widget* pWidget =
- pInterForm->GetWidget(GetSmartFieldControl(pFormField));
- if (!pWidget)
- return false;
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- uint32_t dwFlag = pWidget->GetFlags();
+ CPDF_FormField* pFormField = FieldArray[0];
+ ASSERT(pFormField);
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
+ CPDFSDK_Widget* pWidget =
+ pInterForm->GetWidget(GetSmartFieldControl(pFormField));
+ if (!pWidget)
+ return false;
- if (ANNOTFLAG_INVISIBLE & dwFlag || ANNOTFLAG_HIDDEN & dwFlag) {
- vp << (int32_t)1;
- } else {
- if (ANNOTFLAG_PRINT & dwFlag) {
- if (ANNOTFLAG_NOVIEW & dwFlag) {
- vp << (int32_t)3;
- } else {
- vp << (int32_t)0;
- }
+ uint32_t dwFlag = pWidget->GetFlags();
+ if (ANNOTFLAG_INVISIBLE & dwFlag || ANNOTFLAG_HIDDEN & dwFlag) {
+ vp << (int32_t)1;
+ } else {
+ if (ANNOTFLAG_PRINT & dwFlag) {
+ if (ANNOTFLAG_NOVIEW & dwFlag) {
+ vp << (int32_t)3;
} else {
- vp << (int32_t)2;
+ vp << (int32_t)0;
}
+ } else {
+ vp << (int32_t)2;
}
}
-
return true;
}
@@ -1323,15 +1323,17 @@ void Field::SetDisplay(CPDFSDK_FormFillEnvironment* pFormFillEnv,
}
}
-bool Field::doc(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
- if (!vp.IsGetting()) {
+bool Field::doc(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ if (!vp.IsGetting())
return false;
- }
+
vp << m_pJSDoc->GetCJSDoc();
return true;
}
-bool Field::editable(IJS_Context* cc,
+bool Field::editable(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -1340,25 +1342,21 @@ bool Field::editable(IJS_Context* cc,
bool bVP;
vp >> bVP;
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX)
- return false;
-
- if (pFormField->GetFieldFlags() & FIELDFLAG_EDIT)
- vp << true;
- else
- vp << false;
+ return true;
}
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
+
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() != FIELDTYPE_COMBOBOX)
+ return false;
+ vp << !!(pFormField->GetFieldFlags() & FIELDFLAG_EDIT);
return true;
}
-bool Field::exportValues(IJS_Context* cc,
+bool Field::exportValues(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
@@ -1370,42 +1368,36 @@ bool Field::exportValues(IJS_Context* cc,
pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON) {
return false;
}
+ if (vp.IsSetting())
+ return m_bCanSet && vp.GetJSValue()->IsArrayObject();
- if (vp.IsSetting()) {
- if (!m_bCanSet)
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
+ CJS_Array ExportValusArray;
+ if (m_nFormControlIndex < 0) {
+ for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) {
+ CPDF_FormControl* pFormControl = pFormField->GetControl(i);
+ ExportValusArray.SetElement(
+ pRuntime, i,
+ CJS_Value(pRuntime, pFormControl->GetExportValue().c_str()));
+ }
+ } else {
+ if (m_nFormControlIndex >= pFormField->CountControls())
return false;
- if (!vp.GetJSValue()->IsArrayObject())
+ CPDF_FormControl* pFormControl =
+ pFormField->GetControl(m_nFormControlIndex);
+ if (!pFormControl)
return false;
- } else {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
- CJS_Array ExportValusArray;
- if (m_nFormControlIndex < 0) {
- for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) {
- CPDF_FormControl* pFormControl = pFormField->GetControl(i);
- ExportValusArray.SetElement(
- pRuntime, i,
- CJS_Value(pRuntime, pFormControl->GetExportValue().c_str()));
- }
- } else {
- if (m_nFormControlIndex >= pFormField->CountControls())
- return false;
-
- CPDF_FormControl* pFormControl =
- pFormField->GetControl(m_nFormControlIndex);
- if (!pFormControl)
- return false;
- ExportValusArray.SetElement(
- pRuntime, 0,
- CJS_Value(pRuntime, pFormControl->GetExportValue().c_str()));
- }
- vp << ExportValusArray;
+ ExportValusArray.SetElement(
+ pRuntime, 0,
+ CJS_Value(pRuntime, pFormControl->GetExportValue().c_str()));
}
+ vp << ExportValusArray;
return true;
}
-bool Field::fileSelect(IJS_Context* cc,
+bool Field::fileSelect(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
@@ -1422,19 +1414,16 @@ bool Field::fileSelect(IJS_Context* cc,
bool bVP;
vp >> bVP;
- } else {
- if (pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT)
- vp << true;
- else
- vp << false;
+ return true;
}
+ vp << !!(pFormField->GetFieldFlags() & FIELDFLAG_FILESELECT);
return true;
}
-bool Field::fillColor(IJS_Context* cc,
+bool Field::fillColor(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Array crArray;
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
if (FieldArray.empty())
@@ -1457,41 +1446,39 @@ bool Field::fillColor(IJS_Context* cc,
Field::SetFillColor(m_pFormFillEnv.Get(), m_FieldName,
m_nFormControlIndex, color);
}
- } else {
- CPDF_FormField* pFormField = FieldArray[0];
- ASSERT(pFormField);
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
-
- int iColorType;
- pFormControl->GetBackgroundColor(iColorType);
-
- CPWL_Color color;
- if (iColorType == COLORTYPE_TRANSPARENT) {
- color = CPWL_Color(COLORTYPE_TRANSPARENT);
- } else if (iColorType == COLORTYPE_GRAY) {
- color = CPWL_Color(COLORTYPE_GRAY,
- pFormControl->GetOriginalBackgroundColor(0));
- } else if (iColorType == COLORTYPE_RGB) {
- color =
- CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBackgroundColor(0),
- pFormControl->GetOriginalBackgroundColor(1),
- pFormControl->GetOriginalBackgroundColor(2));
- } else if (iColorType == COLORTYPE_CMYK) {
- color = CPWL_Color(COLORTYPE_CMYK,
- pFormControl->GetOriginalBackgroundColor(0),
- pFormControl->GetOriginalBackgroundColor(1),
- pFormControl->GetOriginalBackgroundColor(2),
- pFormControl->GetOriginalBackgroundColor(3));
- } else {
- return false;
- }
-
- color::ConvertPWLColorToArray(pRuntime, color, &crArray);
- vp << crArray;
+ return true;
}
+ CPDF_FormField* pFormField = FieldArray[0];
+ ASSERT(pFormField);
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
+ int iColorType;
+ pFormControl->GetBackgroundColor(iColorType);
+
+ CPWL_Color color;
+ if (iColorType == COLORTYPE_TRANSPARENT) {
+ color = CPWL_Color(COLORTYPE_TRANSPARENT);
+ } else if (iColorType == COLORTYPE_GRAY) {
+ color =
+ CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBackgroundColor(0));
+ } else if (iColorType == COLORTYPE_RGB) {
+ color =
+ CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBackgroundColor(0),
+ pFormControl->GetOriginalBackgroundColor(1),
+ pFormControl->GetOriginalBackgroundColor(2));
+ } else if (iColorType == COLORTYPE_CMYK) {
+ color =
+ CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBackgroundColor(0),
+ pFormControl->GetOriginalBackgroundColor(1),
+ pFormControl->GetOriginalBackgroundColor(2),
+ pFormControl->GetOriginalBackgroundColor(3));
+ } else {
+ return false;
+ }
+ color::ConvertPWLColorToArray(pRuntime, color, &crArray);
+ vp << crArray;
return true;
}
@@ -1502,40 +1489,40 @@ void Field::SetFillColor(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::hidden(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Field::hidden(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (vp.IsSetting()) {
if (!m_bCanSet)
return false;
bool bVP;
vp >> bVP;
-
if (m_bDelay) {
AddDelay_Bool(FP_HIDDEN, bVP);
} else {
Field::SetHidden(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
bVP);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- ASSERT(pFormField);
- CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
- CPDFSDK_Widget* pWidget =
- pInterForm->GetWidget(GetSmartFieldControl(pFormField));
- if (!pWidget)
- return false;
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- uint32_t dwFlags = pWidget->GetFlags();
+ CPDF_FormField* pFormField = FieldArray[0];
+ ASSERT(pFormField);
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
+ CPDFSDK_Widget* pWidget =
+ pInterForm->GetWidget(GetSmartFieldControl(pFormField));
+ if (!pWidget)
+ return false;
- if (ANNOTFLAG_INVISIBLE & dwFlags || ANNOTFLAG_HIDDEN & dwFlags)
- vp << true;
- else
- vp << false;
- }
+ uint32_t dwFlags = pWidget->GetFlags();
+ if (ANNOTFLAG_INVISIBLE & dwFlags || ANNOTFLAG_HIDDEN & dwFlags)
+ vp << true;
+ else
+ vp << false;
return true;
}
@@ -1548,11 +1535,10 @@ void Field::SetHidden(CPDFSDK_FormFillEnvironment* pFormFillEnv,
SetDisplay(pFormFillEnv, swFieldName, nControlIndex, display);
}
-bool Field::highlight(IJS_Context* cc,
+bool Field::highlight(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
-
if (vp.IsSetting()) {
if (!m_bCanSet)
return false;
@@ -1566,39 +1552,38 @@ bool Field::highlight(IJS_Context* cc,
Field::SetHighlight(m_pFormFillEnv.Get(), m_FieldName,
m_nFormControlIndex, strMode);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON)
- return false;
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() != FIELDTYPE_PUSHBUTTON)
+ return false;
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
- int eHM = pFormControl->GetHighlightingMode();
- switch (eHM) {
- case CPDF_FormControl::None:
- vp << L"none";
- break;
- case CPDF_FormControl::Push:
- vp << L"push";
- break;
- case CPDF_FormControl::Invert:
- vp << L"invert";
- break;
- case CPDF_FormControl::Outline:
- vp << L"outline";
- break;
- case CPDF_FormControl::Toggle:
- vp << L"toggle";
- break;
- }
+ int eHM = pFormControl->GetHighlightingMode();
+ switch (eHM) {
+ case CPDF_FormControl::None:
+ vp << L"none";
+ break;
+ case CPDF_FormControl::Push:
+ vp << L"push";
+ break;
+ case CPDF_FormControl::Invert:
+ vp << L"invert";
+ break;
+ case CPDF_FormControl::Outline:
+ vp << L"outline";
+ break;
+ case CPDF_FormControl::Toggle:
+ vp << L"toggle";
+ break;
}
-
return true;
}
@@ -1609,7 +1594,7 @@ void Field::SetHighlight(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::lineWidth(IJS_Context* cc,
+bool Field::lineWidth(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -1625,28 +1610,27 @@ bool Field::lineWidth(IJS_Context* cc,
Field::SetLineWidth(m_pFormFillEnv.Get(), m_FieldName,
m_nFormControlIndex, iWidth);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- ASSERT(pFormField);
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
- if (!pFormField->CountControls())
- return false;
+ CPDF_FormField* pFormField = FieldArray[0];
+ ASSERT(pFormField);
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
- CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->GetControl(0));
- if (!pWidget)
- return false;
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
+ if (!pFormField->CountControls())
+ return false;
- vp << (int32_t)pWidget->GetBorderWidth();
- }
+ CPDFSDK_Widget* pWidget = pInterForm->GetWidget(pFormField->GetControl(0));
+ if (!pWidget)
+ return false;
+ vp << (int32_t)pWidget->GetBorderWidth();
return true;
}
@@ -1689,7 +1673,7 @@ void Field::SetLineWidth(CPDFSDK_FormFillEnvironment* pFormFillEnv,
}
}
-bool Field::multiline(IJS_Context* cc,
+bool Field::multiline(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -1707,20 +1691,20 @@ bool Field::multiline(IJS_Context* cc,
Field::SetMultiline(m_pFormFillEnv.Get(), m_FieldName,
m_nFormControlIndex, bVP);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD)
- return false;
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD)
+ return false;
- if (pFormField->GetFieldFlags() & FIELDFLAG_MULTILINE)
- vp << true;
- else
- vp << false;
- }
+ if (pFormField->GetFieldFlags() & FIELDFLAG_MULTILINE)
+ vp << true;
+ else
+ vp << false;
return true;
}
@@ -1732,39 +1716,33 @@ void Field::SetMultiline(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::multipleSelection(IJS_Context* cc,
+bool Field::multipleSelection(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
-
if (vp.IsSetting()) {
if (!m_bCanSet)
return false;
bool bVP;
vp >> bVP;
-
if (m_bDelay) {
AddDelay_Bool(FP_MULTIPLESELECTION, bVP);
} else {
Field::SetMultipleSelection(m_pFormFillEnv.Get(), m_FieldName,
m_nFormControlIndex, bVP);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() != FIELDTYPE_LISTBOX)
- return false;
-
- if (pFormField->GetFieldFlags() & FIELDFLAG_MULTISELECT)
- vp << true;
- else
- vp << false;
+ return true;
}
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
+
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() != FIELDTYPE_LISTBOX)
+ return false;
+ vp << !!(pFormField->GetFieldFlags() & FIELDFLAG_MULTISELECT);
return true;
}
@@ -1775,7 +1753,9 @@ void Field::SetMultipleSelection(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Field::name(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
@@ -1784,11 +1764,10 @@ bool Field::name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return false;
vp << m_FieldName;
-
return true;
}
-bool Field::numItems(IJS_Context* cc,
+bool Field::numItems(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
@@ -1808,7 +1787,9 @@ bool Field::numItems(IJS_Context* cc,
return true;
}
-bool Field::page(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Field::page(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting()) {
sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
return false;
@@ -1829,7 +1810,7 @@ bool Field::page(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return true;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Array PageArray;
int i = 0;
for (const auto& pObserved : widgets) {
@@ -1852,7 +1833,7 @@ bool Field::page(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return true;
}
-bool Field::password(IJS_Context* cc,
+bool Field::password(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -1863,28 +1844,24 @@ bool Field::password(IJS_Context* cc,
bool bVP;
vp >> bVP;
-
if (m_bDelay) {
AddDelay_Bool(FP_PASSWORD, bVP);
} else {
Field::SetPassword(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
bVP);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
+ return true;
+ }
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD)
- return false;
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- if (pFormField->GetFieldFlags() & FIELDFLAG_PASSWORD)
- vp << true;
- else
- vp << false;
- }
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD)
+ return false;
+ vp << !!(pFormField->GetFieldFlags() & FIELDFLAG_PASSWORD);
return true;
}
@@ -1895,7 +1872,9 @@ void Field::SetPassword(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::print(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Field::print(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
if (FieldArray.empty())
@@ -1951,23 +1930,20 @@ bool Field::print(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
}
}
}
- } else {
- CPDF_FormField* pFormField = FieldArray[0];
- CPDFSDK_Widget* pWidget =
- pInterForm->GetWidget(GetSmartFieldControl(pFormField));
- if (!pWidget)
- return false;
-
- if (pWidget->GetFlags() & ANNOTFLAG_PRINT)
- vp << true;
- else
- vp << false;
+ return true;
}
+ CPDF_FormField* pFormField = FieldArray[0];
+ CPDFSDK_Widget* pWidget =
+ pInterForm->GetWidget(GetSmartFieldControl(pFormField));
+ if (!pWidget)
+ return false;
+
+ vp << !!(pWidget->GetFlags() & ANNOTFLAG_PRINT);
return true;
}
-bool Field::radiosInUnison(IJS_Context* cc,
+bool Field::radiosInUnison(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
@@ -1980,22 +1956,17 @@ bool Field::radiosInUnison(IJS_Context* cc,
bool bVP;
vp >> bVP;
-
- } else {
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON)
- return false;
-
- if (pFormField->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON)
- vp << true;
- else
- vp << false;
+ return true;
}
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON)
+ return false;
+ vp << !!(pFormField->GetFieldFlags() & FIELDFLAG_RADIOSINUNISON);
return true;
}
-bool Field::readonly(IJS_Context* cc,
+bool Field::readonly(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
@@ -2008,20 +1979,16 @@ bool Field::readonly(IJS_Context* cc,
bool bVP;
vp >> bVP;
-
- } else {
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldFlags() & FIELDFLAG_READONLY)
- vp << true;
- else
- vp << false;
+ return true;
}
-
+ vp << !!(FieldArray[0]->GetFieldFlags() & FIELDFLAG_READONLY);
return true;
}
-bool Field::rect(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+bool Field::rect(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Value Upper_Leftx(pRuntime);
CJS_Value Upper_Lefty(pRuntime);
CJS_Value Lower_Rightx(pRuntime);
@@ -2053,31 +2020,31 @@ bool Field::rect(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
Field::SetRect(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
crRect);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- CPDF_FormField* pFormField = FieldArray[0];
- CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
- CPDFSDK_Widget* pWidget =
- pInterForm->GetWidget(GetSmartFieldControl(pFormField));
- if (!pWidget)
- return false;
+ CPDF_FormField* pFormField = FieldArray[0];
+ CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
+ CPDFSDK_Widget* pWidget =
+ pInterForm->GetWidget(GetSmartFieldControl(pFormField));
+ if (!pWidget)
+ return false;
- CFX_FloatRect crRect = pWidget->GetRect();
- Upper_Leftx = CJS_Value(pRuntime, static_cast<int32_t>(crRect.left));
- Upper_Lefty = CJS_Value(pRuntime, static_cast<int32_t>(crRect.top));
- Lower_Rightx = CJS_Value(pRuntime, static_cast<int32_t>(crRect.right));
- Lower_Righty = CJS_Value(pRuntime, static_cast<int32_t>(crRect.bottom));
+ CFX_FloatRect crRect = pWidget->GetRect();
+ Upper_Leftx = CJS_Value(pRuntime, static_cast<int32_t>(crRect.left));
+ Upper_Lefty = CJS_Value(pRuntime, static_cast<int32_t>(crRect.top));
+ Lower_Rightx = CJS_Value(pRuntime, static_cast<int32_t>(crRect.right));
+ Lower_Righty = CJS_Value(pRuntime, static_cast<int32_t>(crRect.bottom));
- CJS_Array rcArray;
- rcArray.SetElement(pRuntime, 0, Upper_Leftx);
- rcArray.SetElement(pRuntime, 1, Upper_Lefty);
- rcArray.SetElement(pRuntime, 2, Lower_Rightx);
- rcArray.SetElement(pRuntime, 3, Lower_Righty);
- vp << rcArray;
- }
+ CJS_Array rcArray;
+ rcArray.SetElement(pRuntime, 0, Upper_Leftx);
+ rcArray.SetElement(pRuntime, 1, Upper_Lefty);
+ rcArray.SetElement(pRuntime, 2, Lower_Rightx);
+ rcArray.SetElement(pRuntime, 3, Lower_Righty);
+ vp << rcArray;
return true;
}
@@ -2139,7 +2106,7 @@ void Field::SetRect(CPDFSDK_FormFillEnvironment* pFormFillEnv,
}
}
-bool Field::required(IJS_Context* cc,
+bool Field::required(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
@@ -2152,22 +2119,17 @@ bool Field::required(IJS_Context* cc,
bool bVP;
vp >> bVP;
-
- } else {
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON)
- return false;
-
- if (pFormField->GetFieldFlags() & FIELDFLAG_REQUIRED)
- vp << true;
- else
- vp << false;
+ return true;
}
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() == FIELDTYPE_PUSHBUTTON)
+ return false;
+ vp << !!(pFormField->GetFieldFlags() & FIELDFLAG_REQUIRED);
return true;
}
-bool Field::richText(IJS_Context* cc,
+bool Field::richText(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -2178,35 +2140,31 @@ bool Field::richText(IJS_Context* cc,
bool bVP;
vp >> bVP;
-
- if (m_bDelay) {
+ if (m_bDelay)
AddDelay_Bool(FP_RICHTEXT, bVP);
- }
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD)
- return false;
-
- if (pFormField->GetFieldFlags() & FIELDFLAG_RICHTEXT)
- vp << true;
- else
- vp << false;
+ return true;
}
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
+
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() != FIELDTYPE_TEXTFIELD)
+ return false;
+
+ vp << !!(pFormField->GetFieldFlags() & FIELDFLAG_RICHTEXT);
return true;
}
-bool Field::richValue(IJS_Context* cc,
+bool Field::richValue(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Field::rotation(IJS_Context* cc,
+bool Field::rotation(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -2217,26 +2175,24 @@ bool Field::rotation(IJS_Context* cc,
int nVP;
vp >> nVP;
-
if (m_bDelay) {
AddDelay_Int(FP_ROTATION, nVP);
} else {
Field::SetRotation(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
nVP);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
-
- vp << (int32_t)pFormControl->GetRotation();
+ return true;
}
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
+
+ CPDF_FormField* pFormField = FieldArray[0];
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
+ vp << (int32_t)pFormControl->GetRotation();
return true;
}
@@ -2247,10 +2203,10 @@ void Field::SetRotation(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::strokeColor(IJS_Context* cc,
+bool Field::strokeColor(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Array crArray;
if (vp.IsSetting()) {
@@ -2264,49 +2220,46 @@ bool Field::strokeColor(IJS_Context* cc,
CPWL_Color color;
color::ConvertArrayToPWLColor(pRuntime, crArray, &color);
-
if (m_bDelay) {
AddDelay_Color(FP_STROKECOLOR, color);
} else {
Field::SetStrokeColor(m_pFormFillEnv.Get(), m_FieldName,
m_nFormControlIndex, color);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
-
- int iColorType;
- pFormControl->GetBorderColor(iColorType);
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- CPWL_Color color;
- if (iColorType == COLORTYPE_TRANSPARENT) {
- color = CPWL_Color(COLORTYPE_TRANSPARENT);
- } else if (iColorType == COLORTYPE_GRAY) {
- color =
- CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBorderColor(0));
- } else if (iColorType == COLORTYPE_RGB) {
- color = CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBorderColor(0),
- pFormControl->GetOriginalBorderColor(1),
- pFormControl->GetOriginalBorderColor(2));
- } else if (iColorType == COLORTYPE_CMYK) {
- color =
- CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBorderColor(0),
- pFormControl->GetOriginalBorderColor(1),
- pFormControl->GetOriginalBorderColor(2),
- pFormControl->GetOriginalBorderColor(3));
- } else {
- return false;
- }
+ CPDF_FormField* pFormField = FieldArray[0];
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
- color::ConvertPWLColorToArray(pRuntime, color, &crArray);
- vp << crArray;
+ int iColorType;
+ pFormControl->GetBorderColor(iColorType);
+
+ CPWL_Color color;
+ if (iColorType == COLORTYPE_TRANSPARENT) {
+ color = CPWL_Color(COLORTYPE_TRANSPARENT);
+ } else if (iColorType == COLORTYPE_GRAY) {
+ color = CPWL_Color(COLORTYPE_GRAY, pFormControl->GetOriginalBorderColor(0));
+ } else if (iColorType == COLORTYPE_RGB) {
+ color = CPWL_Color(COLORTYPE_RGB, pFormControl->GetOriginalBorderColor(0),
+ pFormControl->GetOriginalBorderColor(1),
+ pFormControl->GetOriginalBorderColor(2));
+ } else if (iColorType == COLORTYPE_CMYK) {
+ color = CPWL_Color(COLORTYPE_CMYK, pFormControl->GetOriginalBorderColor(0),
+ pFormControl->GetOriginalBorderColor(1),
+ pFormControl->GetOriginalBorderColor(2),
+ pFormControl->GetOriginalBorderColor(3));
+ } else {
+ return false;
}
+
+ color::ConvertPWLColorToArray(pRuntime, color, &crArray);
+ vp << crArray;
return true;
}
@@ -2317,7 +2270,9 @@ void Field::SetStrokeColor(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::style(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Field::style(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
if (vp.IsSetting()) {
@@ -2333,47 +2288,46 @@ bool Field::style(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
Field::SetStyle(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
csBCaption);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- CPDF_FormField* pFormField = FieldArray[0];
- if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON &&
- pFormField->GetFieldType() != FIELDTYPE_CHECKBOX) {
- return false;
- }
+ CPDF_FormField* pFormField = FieldArray[0];
+ if (pFormField->GetFieldType() != FIELDTYPE_RADIOBUTTON &&
+ pFormField->GetFieldType() != FIELDTYPE_CHECKBOX) {
+ return false;
+ }
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
- CFX_WideString csWCaption = pFormControl->GetNormalCaption();
- CFX_ByteString csBCaption;
+ CFX_WideString csWCaption = pFormControl->GetNormalCaption();
+ CFX_ByteString csBCaption;
- switch (csWCaption[0]) {
- case L'l':
- csBCaption = "circle";
- break;
- case L'8':
- csBCaption = "cross";
- break;
- case L'u':
- csBCaption = "diamond";
- break;
- case L'n':
- csBCaption = "square";
- break;
- case L'H':
- csBCaption = "star";
- break;
- default: // L'4'
- csBCaption = "check";
- break;
- }
- vp << csBCaption;
+ switch (csWCaption[0]) {
+ case L'l':
+ csBCaption = "circle";
+ break;
+ case L'8':
+ csBCaption = "cross";
+ break;
+ case L'u':
+ csBCaption = "diamond";
+ break;
+ case L'n':
+ csBCaption = "square";
+ break;
+ case L'H':
+ csBCaption = "star";
+ break;
+ default: // L'4'
+ csBCaption = "check";
+ break;
}
-
+ vp << csBCaption;
return true;
}
@@ -2384,16 +2338,16 @@ void Field::SetStyle(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::submitName(IJS_Context* cc,
+bool Field::submitName(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool Field::textColor(IJS_Context* cc,
+bool Field::textColor(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Array crArray;
if (vp.IsSetting()) {
@@ -2407,40 +2361,42 @@ bool Field::textColor(IJS_Context* cc,
CPWL_Color color;
color::ConvertArrayToPWLColor(pRuntime, crArray, &color);
-
if (m_bDelay) {
AddDelay_Color(FP_TEXTCOLOR, color);
} else {
Field::SetTextColor(m_pFormFillEnv.Get(), m_FieldName,
m_nFormControlIndex, color);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- CPDF_FormField* pFormField = FieldArray[0];
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
+ CPDF_FormField* pFormField = FieldArray[0];
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
- int iColorType;
- FX_ARGB color;
- CPDF_DefaultAppearance FieldAppearance =
- pFormControl->GetDefaultAppearance();
- FieldAppearance.GetColor(color, iColorType);
- int32_t a, r, g, b;
- ArgbDecode(color, a, r, g, b);
+ int iColorType;
+ FX_ARGB color;
+ CPDF_DefaultAppearance FieldAppearance = pFormControl->GetDefaultAppearance();
+ FieldAppearance.GetColor(color, iColorType);
- CPWL_Color crRet =
- CPWL_Color(COLORTYPE_RGB, r / 255.0f, g / 255.0f, b / 255.0f);
+ int32_t a;
+ int32_t r;
+ int32_t g;
+ int32_t b;
+ ArgbDecode(color, a, r, g, b);
- if (iColorType == COLORTYPE_TRANSPARENT)
- crRet = CPWL_Color(COLORTYPE_TRANSPARENT);
+ CPWL_Color crRet =
+ CPWL_Color(COLORTYPE_RGB, r / 255.0f, g / 255.0f, b / 255.0f);
- color::ConvertPWLColorToArray(pRuntime, crRet, &crArray);
- vp << crArray;
- }
+ if (iColorType == COLORTYPE_TRANSPARENT)
+ crRet = CPWL_Color(COLORTYPE_TRANSPARENT);
+
+ color::ConvertPWLColorToArray(pRuntime, crRet, &crArray);
+ vp << crArray;
return true;
}
@@ -2451,7 +2407,7 @@ void Field::SetTextColor(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::textFont(IJS_Context* cc,
+bool Field::textFont(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -2471,32 +2427,28 @@ bool Field::textFont(IJS_Context* cc,
Field::SetTextFont(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
csFontName);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- ASSERT(pFormField);
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
-
- int nFieldType = pFormField->GetFieldType();
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- if (nFieldType == FIELDTYPE_PUSHBUTTON ||
- nFieldType == FIELDTYPE_COMBOBOX || nFieldType == FIELDTYPE_LISTBOX ||
- nFieldType == FIELDTYPE_TEXTFIELD) {
- CPDF_Font* pFont = pFormControl->GetDefaultControlFont();
- if (!pFont)
- return false;
+ CPDF_FormField* pFormField = FieldArray[0];
+ ASSERT(pFormField);
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
- vp << pFont->GetBaseFont();
- } else {
- return false;
- }
+ int nFieldType = pFormField->GetFieldType();
+ if (nFieldType != FIELDTYPE_PUSHBUTTON && nFieldType != FIELDTYPE_COMBOBOX &&
+ nFieldType != FIELDTYPE_LISTBOX && nFieldType != FIELDTYPE_TEXTFIELD) {
+ return false;
}
+ CPDF_Font* pFont = pFormControl->GetDefaultControlFont();
+ if (!pFont)
+ return false;
+ vp << pFont->GetBaseFont();
return true;
}
@@ -2507,7 +2459,7 @@ void Field::SetTextFont(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::textSize(IJS_Context* cc,
+bool Field::textSize(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -2518,34 +2470,30 @@ bool Field::textSize(IJS_Context* cc,
int nVP;
vp >> nVP;
-
if (m_bDelay) {
AddDelay_Int(FP_TEXTSIZE, nVP);
} else {
Field::SetTextSize(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
nVP);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- ASSERT(pFormField);
- CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
- if (!pFormControl)
- return false;
-
- CPDF_DefaultAppearance FieldAppearance =
- pFormControl->GetDefaultAppearance();
+ return true;
+ }
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
- CFX_ByteString csFontNameTag;
- FX_FLOAT fFontSize;
- FieldAppearance.GetFont(csFontNameTag, fFontSize);
+ CPDF_FormField* pFormField = FieldArray[0];
+ ASSERT(pFormField);
+ CPDF_FormControl* pFormControl = GetSmartFieldControl(pFormField);
+ if (!pFormControl)
+ return false;
- vp << (int)fFontSize;
- }
+ CPDF_DefaultAppearance FieldAppearance = pFormControl->GetDefaultAppearance();
+ CFX_ByteString csFontNameTag;
+ FX_FLOAT fFontSize;
+ FieldAppearance.GetFont(csFontNameTag, fFontSize);
+ vp << (int)fFontSize;
return true;
}
@@ -2556,7 +2504,9 @@ void Field::SetTextSize(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Field::type(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
@@ -2594,11 +2544,10 @@ bool Field::type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
vp << L"unknown";
break;
}
-
return true;
}
-bool Field::userName(IJS_Context* cc,
+bool Field::userName(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
ASSERT(m_pFormFillEnv);
@@ -2616,15 +2565,13 @@ bool Field::userName(IJS_Context* cc,
Field::SetUserName(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
swName);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
-
- CPDF_FormField* pFormField = FieldArray[0];
- vp << (CFX_WideString)pFormField->GetAlternateName();
+ return true;
}
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
+ vp << FieldArray[0]->GetAlternateName();
return true;
}
@@ -2635,8 +2582,10 @@ void Field::SetUserName(CPDFSDK_FormFillEnvironment* pFormFillEnv,
// Not supported.
}
-bool Field::value(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+bool Field::value(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
if (vp.IsSetting()) {
if (!m_bCanSet)
@@ -2663,57 +2612,58 @@ bool Field::value(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
Field::SetValue(m_pFormFillEnv.Get(), m_FieldName, m_nFormControlIndex,
strArray);
}
- } else {
- std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
- if (FieldArray.empty())
- return false;
+ return true;
+ }
- CPDF_FormField* pFormField = FieldArray[0];
- switch (pFormField->GetFieldType()) {
- case FIELDTYPE_PUSHBUTTON:
- return false;
- case FIELDTYPE_COMBOBOX:
- case FIELDTYPE_TEXTFIELD: {
- vp << pFormField->GetValue();
- } break;
- case FIELDTYPE_LISTBOX: {
- if (pFormField->CountSelectedItems() > 1) {
- CJS_Array ValueArray;
- CJS_Value ElementValue(pRuntime);
- int iIndex;
- for (int i = 0, sz = pFormField->CountSelectedItems(); i < sz; i++) {
- iIndex = pFormField->GetSelectedIndex(i);
+ std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
+ if (FieldArray.empty())
+ return false;
+
+ CPDF_FormField* pFormField = FieldArray[0];
+ switch (pFormField->GetFieldType()) {
+ case FIELDTYPE_PUSHBUTTON:
+ return false;
+ case FIELDTYPE_COMBOBOX:
+ case FIELDTYPE_TEXTFIELD: {
+ vp << pFormField->GetValue();
+ } break;
+ case FIELDTYPE_LISTBOX: {
+ if (pFormField->CountSelectedItems() > 1) {
+ CJS_Array ValueArray;
+ CJS_Value ElementValue(pRuntime);
+ int iIndex;
+ for (int i = 0, sz = pFormField->CountSelectedItems(); i < sz; i++) {
+ iIndex = pFormField->GetSelectedIndex(i);
+ ElementValue =
+ CJS_Value(pRuntime, pFormField->GetOptionValue(iIndex).c_str());
+ if (FXSYS_wcslen(ElementValue.ToCFXWideString(pRuntime).c_str()) ==
+ 0) {
ElementValue =
- CJS_Value(pRuntime, pFormField->GetOptionValue(iIndex).c_str());
- if (FXSYS_wcslen(ElementValue.ToCFXWideString(pRuntime).c_str()) ==
- 0) {
- ElementValue = CJS_Value(
- pRuntime, pFormField->GetOptionLabel(iIndex).c_str());
- }
- ValueArray.SetElement(pRuntime, i, ElementValue);
+ CJS_Value(pRuntime, pFormField->GetOptionLabel(iIndex).c_str());
}
- vp << ValueArray;
- } else {
- vp << pFormField->GetValue();
+ ValueArray.SetElement(pRuntime, i, ElementValue);
}
- } break;
- case FIELDTYPE_CHECKBOX:
- case FIELDTYPE_RADIOBUTTON: {
- bool bFind = false;
- for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) {
- if (pFormField->GetControl(i)->IsChecked()) {
- vp << pFormField->GetControl(i)->GetExportValue();
- bFind = true;
- break;
- }
- }
- if (!bFind)
- vp << L"Off";
- } break;
- default:
+ vp << ValueArray;
+ } else {
vp << pFormField->GetValue();
- break;
- }
+ }
+ } break;
+ case FIELDTYPE_CHECKBOX:
+ case FIELDTYPE_RADIOBUTTON: {
+ bool bFind = false;
+ for (int i = 0, sz = pFormField->CountControls(); i < sz; i++) {
+ if (pFormField->GetControl(i)->IsChecked()) {
+ vp << pFormField->GetControl(i)->GetExportValue();
+ bFind = true;
+ break;
+ }
+ }
+ if (!bFind)
+ vp << L"Off";
+ } break;
+ default:
+ vp << pFormField->GetValue();
+ break;
}
vp.GetJSValue()->MaybeCoerceToNumber(pRuntime);
return true;
@@ -2773,7 +2723,7 @@ void Field::SetValue(CPDFSDK_FormFillEnvironment* pFormFillEnv,
}
}
-bool Field::valueAsString(IJS_Context* cc,
+bool Field::valueAsString(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
@@ -2815,7 +2765,7 @@ bool Field::valueAsString(IJS_Context* cc,
return true;
}
-bool Field::browseForFileToSubmit(IJS_Context* cc,
+bool Field::browseForFileToSubmit(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -2836,11 +2786,11 @@ bool Field::browseForFileToSubmit(IJS_Context* cc,
return false;
}
-bool Field::buttonGetCaption(IJS_Context* cc,
+bool Field::buttonGetCaption(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int nface = 0;
int iSize = params.size();
@@ -2871,11 +2821,11 @@ bool Field::buttonGetCaption(IJS_Context* cc,
return true;
}
-bool Field::buttonGetIcon(IJS_Context* cc,
+bool Field::buttonGetIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
int nface = 0;
@@ -2917,28 +2867,28 @@ bool Field::buttonGetIcon(IJS_Context* cc,
return true;
}
-bool Field::buttonImportIcon(IJS_Context* cc,
+bool Field::buttonImportIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Field::buttonSetCaption(IJS_Context* cc,
+bool Field::buttonSetCaption(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::buttonSetIcon(IJS_Context* cc,
+bool Field::buttonSetIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::checkThisBox(IJS_Context* cc,
+bool Field::checkThisBox(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -2949,7 +2899,7 @@ bool Field::checkThisBox(IJS_Context* cc,
if (!m_bCanSet)
return false;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int nWidget = params[0].ToInt(pRuntime);
bool bCheckit = true;
@@ -2977,14 +2927,14 @@ bool Field::checkThisBox(IJS_Context* cc,
return true;
}
-bool Field::clearItems(IJS_Context* cc,
+bool Field::clearItems(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Field::defaultIsChecked(IJS_Context* cc,
+bool Field::defaultIsChecked(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -2995,7 +2945,7 @@ bool Field::defaultIsChecked(IJS_Context* cc,
if (iSize < 1)
return false;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int nWidget = params[0].ToInt(pRuntime);
std::vector<CPDF_FormField*> FieldArray = GetFormFields(m_FieldName);
@@ -3013,14 +2963,14 @@ bool Field::defaultIsChecked(IJS_Context* cc,
return true;
}
-bool Field::deleteItemAt(IJS_Context* cc,
+bool Field::deleteItemAt(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Field::getArray(IJS_Context* cc,
+bool Field::getArray(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -3039,7 +2989,7 @@ bool Field::getArray(IJS_Context* cc,
[](const std::unique_ptr<CFX_WideString>& p1,
const std::unique_ptr<CFX_WideString>& p2) { return *p1 < *p2; });
- CJS_Context* pContext = (CJS_Context*)cc;
+ CJS_EventContext* pContext = (CJS_EventContext*)cc;
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
CJS_Array FormFieldArray;
@@ -3060,11 +3010,11 @@ bool Field::getArray(IJS_Context* cc,
return true;
}
-bool Field::getItemAt(IJS_Context* cc,
+bool Field::getItemAt(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iSize = params.size();
int nIdx = -1;
@@ -3100,25 +3050,25 @@ bool Field::getItemAt(IJS_Context* cc,
return true;
}
-bool Field::getLock(IJS_Context* cc,
+bool Field::getLock(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::insertItemAt(IJS_Context* cc,
+bool Field::insertItemAt(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Field::isBoxChecked(IJS_Context* cc,
+bool Field::isBoxChecked(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int nIndex = -1;
if (params.size() >= 1)
@@ -3140,11 +3090,11 @@ bool Field::isBoxChecked(IJS_Context* cc,
return true;
}
-bool Field::isDefaultChecked(IJS_Context* cc,
+bool Field::isDefaultChecked(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int nIndex = -1;
if (params.size() >= 1)
@@ -3165,14 +3115,14 @@ bool Field::isDefaultChecked(IJS_Context* cc,
return true;
}
-bool Field::setAction(IJS_Context* cc,
+bool Field::setAction(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Field::setFocus(IJS_Context* cc,
+bool Field::setFocus(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -3217,63 +3167,65 @@ bool Field::setFocus(IJS_Context* cc,
return true;
}
-bool Field::setItems(IJS_Context* cc,
+bool Field::setItems(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool Field::setLock(IJS_Context* cc,
+bool Field::setLock(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::signatureGetModifications(IJS_Context* cc,
+bool Field::signatureGetModifications(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::signatureGetSeedValue(IJS_Context* cc,
+bool Field::signatureGetSeedValue(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::signatureInfo(IJS_Context* cc,
+bool Field::signatureInfo(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::signatureSetSeedValue(IJS_Context* cc,
+bool Field::signatureSetSeedValue(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::signatureSign(IJS_Context* cc,
+bool Field::signatureSign(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::signatureValidate(IJS_Context* cc,
+bool Field::signatureValidate(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool Field::source(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Field::source(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (vp.IsGetting()) {
vp << (CJS_Object*)nullptr;
}
diff --git a/fpdfsdk/javascript/Field.h b/fpdfsdk/javascript/Field.h
index f3948fff5b..9087f82703 100644
--- a/fpdfsdk/javascript/Field.h
+++ b/fpdfsdk/javascript/Field.h
@@ -77,182 +77,238 @@ class Field : public CJS_EmbedObj {
explicit Field(CJS_Object* pJSObject);
~Field() override;
- bool alignment(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool borderStyle(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool buttonAlignX(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool buttonAlignY(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool buttonFitBounds(IJS_Context* cc,
+ bool alignment(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool borderStyle(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool buttonAlignX(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool buttonAlignY(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool buttonFitBounds(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool buttonPosition(IJS_Context* cc,
+ bool buttonPosition(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool buttonScaleHow(IJS_Context* cc,
+ bool buttonScaleHow(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool buttonScaleWhen(IJS_Context* cc,
+ bool buttonScaleWhen(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool calcOrderIndex(IJS_Context* cc,
+ bool calcOrderIndex(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool charLimit(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool comb(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool commitOnSelChange(IJS_Context* cc,
+ bool charLimit(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool comb(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool commitOnSelChange(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool currentValueIndices(IJS_Context* cc,
+ bool currentValueIndices(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool defaultStyle(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool defaultValue(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool doNotScroll(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool doNotSpellCheck(IJS_Context* cc,
+ bool defaultStyle(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool defaultValue(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool doNotScroll(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool doNotSpellCheck(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool delay(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool display(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool doc(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool editable(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool exportValues(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool fileSelect(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool fillColor(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool hidden(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool highlight(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool lineWidth(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool multiline(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool multipleSelection(IJS_Context* cc,
+ bool delay(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool display(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool doc(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool editable(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool exportValues(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool fileSelect(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool fillColor(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool hidden(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool highlight(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool lineWidth(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool multiline(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool multipleSelection(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool numItems(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool page(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool password(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool print(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool radiosInUnison(IJS_Context* cc,
+ bool name(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool numItems(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool page(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool password(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool print(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool radiosInUnison(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool readonly(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool rect(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool required(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool richText(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool richValue(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool rotation(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool strokeColor(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool style(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool submitName(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool textColor(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool textFont(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool textSize(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool userName(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool value(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool valueAsString(IJS_Context* cc,
+ bool readonly(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool rect(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool required(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool richText(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool richValue(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool rotation(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool strokeColor(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool style(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool submitName(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool textColor(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool textFont(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool textSize(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool type(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool userName(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool value(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool valueAsString(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool source(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool source(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool browseForFileToSubmit(IJS_Context* cc,
+ bool browseForFileToSubmit(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool buttonGetCaption(IJS_Context* cc,
+ bool buttonGetCaption(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool buttonGetIcon(IJS_Context* cc,
+ bool buttonGetIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool buttonImportIcon(IJS_Context* cc,
+ bool buttonImportIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool buttonSetCaption(IJS_Context* cc,
+ bool buttonSetCaption(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool buttonSetIcon(IJS_Context* cc,
+ bool buttonSetIcon(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool checkThisBox(IJS_Context* cc,
+ bool checkThisBox(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool clearItems(IJS_Context* cc,
+ bool clearItems(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool defaultIsChecked(IJS_Context* cc,
+ bool defaultIsChecked(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool deleteItemAt(IJS_Context* cc,
+ bool deleteItemAt(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getArray(IJS_Context* cc,
+ bool getArray(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getItemAt(IJS_Context* cc,
+ bool getItemAt(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool getLock(IJS_Context* cc,
+ bool getLock(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool insertItemAt(IJS_Context* cc,
+ bool insertItemAt(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool isBoxChecked(IJS_Context* cc,
+ bool isBoxChecked(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool isDefaultChecked(IJS_Context* cc,
+ bool isDefaultChecked(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool setAction(IJS_Context* cc,
+ bool setAction(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool setFocus(IJS_Context* cc,
+ bool setFocus(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool setItems(IJS_Context* cc,
+ bool setItems(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool setLock(IJS_Context* cc,
+ bool setLock(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool signatureGetModifications(IJS_Context* cc,
+ bool signatureGetModifications(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool signatureGetSeedValue(IJS_Context* cc,
+ bool signatureGetSeedValue(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool signatureInfo(IJS_Context* cc,
+ bool signatureInfo(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool signatureSetSeedValue(IJS_Context* cc,
+ bool signatureSetSeedValue(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool signatureSign(IJS_Context* cc,
+ bool signatureSign(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool signatureValidate(IJS_Context* cc,
+ bool signatureValidate(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
diff --git a/fpdfsdk/javascript/Icon.cpp b/fpdfsdk/javascript/Icon.cpp
index 94841ef870..cfce52fd0e 100644
--- a/fpdfsdk/javascript/Icon.cpp
+++ b/fpdfsdk/javascript/Icon.cpp
@@ -44,7 +44,9 @@ CFX_WideString Icon::GetIconName() {
return m_swIconName;
}
-bool Icon::name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool Icon::name(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
diff --git a/fpdfsdk/javascript/Icon.h b/fpdfsdk/javascript/Icon.h
index 98a479c148..76bf8e4a18 100644
--- a/fpdfsdk/javascript/Icon.h
+++ b/fpdfsdk/javascript/Icon.h
@@ -16,7 +16,7 @@ class Icon : public CJS_EmbedObj {
explicit Icon(CJS_Object* pJSObject);
~Icon() override;
- bool name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool name(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
void SetStream(CPDF_Stream* pIconStream);
CPDF_Stream* GetStream();
void SetIconName(CFX_WideString name);
diff --git a/fpdfsdk/javascript/JS_Define.h b/fpdfsdk/javascript/JS_Define.h
index feab4d1996..957f6836fc 100644
--- a/fpdfsdk/javascript/JS_Define.h
+++ b/fpdfsdk/javascript/JS_Define.h
@@ -70,7 +70,8 @@ struct JSMethodSpec {
} \
; // NOLINT
-template <class C, bool (C::*M)(IJS_Context*, CJS_PropValue&, CFX_WideString&)>
+template <class C,
+ bool (C::*M)(IJS_EventContext*, CJS_PropValue&, CFX_WideString&)>
void JSPropGetter(const char* prop_name_string,
const char* class_name_string,
v8::Local<v8::String> property,
@@ -85,7 +86,7 @@ void JSPropGetter(const char* prop_name_string,
CFX_WideString sError;
CJS_PropValue value(pRuntime);
value.StartGetting();
- if (!(pObj->*M)(pRuntime->GetCurrentContext(), value, sError)) {
+ if (!(pObj->*M)(pRuntime->GetCurrentEventContext(), value, sError)) {
pRuntime->Error(
JSFormatErrorString(class_name_string, prop_name_string, sError));
return;
@@ -93,7 +94,8 @@ void JSPropGetter(const char* prop_name_string,
info.GetReturnValue().Set(value.GetJSValue()->ToV8Value(pRuntime));
}
-template <class C, bool (C::*M)(IJS_Context*, CJS_PropValue&, CFX_WideString&)>
+template <class C,
+ bool (C::*M)(IJS_EventContext*, CJS_PropValue&, CFX_WideString&)>
void JSPropSetter(const char* prop_name_string,
const char* class_name_string,
v8::Local<v8::String> property,
@@ -109,7 +111,7 @@ void JSPropSetter(const char* prop_name_string,
CFX_WideString sError;
CJS_PropValue propValue(pRuntime, CJS_Value(pRuntime, value));
propValue.StartSetting();
- if (!(pObj->*M)(pRuntime->GetCurrentContext(), propValue, sError)) {
+ if (!(pObj->*M)(pRuntime->GetCurrentEventContext(), propValue, sError)) {
pRuntime->Error(
JSFormatErrorString(class_name_string, prop_name_string, sError));
}
@@ -130,7 +132,7 @@ void JSPropSetter(const char* prop_name_string,
}
template <class C,
- bool (C::*M)(IJS_Context*,
+ bool (C::*M)(IJS_EventContext*,
const std::vector<CJS_Value>&,
CJS_Value&,
CFX_WideString&)>
@@ -150,7 +152,7 @@ void JSMethod(const char* method_name_string,
C* pObj = reinterpret_cast<C*>(pJSObj->GetEmbedObject());
CFX_WideString sError;
CJS_Value valueRes(pRuntime);
- if (!(pObj->*M)(pRuntime->GetCurrentContext(), parameters, valueRes,
+ if (!(pObj->*M)(pRuntime->GetCurrentEventContext(), parameters, valueRes,
sError)) {
pRuntime->Error(
JSFormatErrorString(class_name_string, method_name_string, sError));
@@ -375,8 +377,8 @@ void JSSpecialPropGet(const char* class_name,
CFX_WideString sError;
CJS_PropValue value(pRuntime);
value.StartGetting();
- if (!pObj->DoProperty(pRuntime->GetCurrentContext(), propname.c_str(), value,
- sError)) {
+ if (!pObj->DoProperty(pRuntime->GetCurrentEventContext(), propname.c_str(),
+ value, sError)) {
pRuntime->Error(JSFormatErrorString(class_name, "GetProperty", sError));
return;
}
@@ -401,7 +403,7 @@ void JSSpecialPropPut(const char* class_name,
CFX_WideString sError;
CJS_PropValue PropValue(pRuntime, CJS_Value(pRuntime, value));
PropValue.StartSetting();
- if (!pObj->DoProperty(pRuntime->GetCurrentContext(), propname.c_str(),
+ if (!pObj->DoProperty(pRuntime->GetCurrentEventContext(), propname.c_str(),
PropValue, sError)) {
pRuntime->Error(JSFormatErrorString(class_name, "PutProperty", sError));
}
@@ -422,7 +424,7 @@ void JSSpecialPropDel(const char* class_name,
CFX_WideString propname = CFX_WideString::FromUTF8(
CFX_ByteStringC(*utf8_value, utf8_value.length()));
CFX_WideString sError;
- if (!pObj->DelProperty(pRuntime->GetCurrentContext(), propname.c_str(),
+ if (!pObj->DelProperty(pRuntime->GetCurrentEventContext(), propname.c_str(),
sError)) {
CFX_ByteString cbName;
cbName.Format("%s.%s", class_name, "DelProperty");
@@ -430,7 +432,7 @@ void JSSpecialPropDel(const char* class_name,
}
}
-template <bool (*F)(IJS_Context*,
+template <bool (*F)(IJS_EventContext*,
const std::vector<CJS_Value>&,
CJS_Value&,
CFX_WideString&)>
@@ -446,7 +448,7 @@ void JSGlobalFunc(const char* func_name_string,
}
CJS_Value valueRes(pRuntime);
CFX_WideString sError;
- if (!(*F)(pRuntime->GetCurrentContext(), parameters, valueRes, sError)) {
+ if (!(*F)(pRuntime->GetCurrentEventContext(), parameters, valueRes, sError)) {
pRuntime->Error(JSFormatErrorString(func_name_string, nullptr, sError));
return;
}
diff --git a/fpdfsdk/javascript/JS_EventHandler.cpp b/fpdfsdk/javascript/JS_EventHandler.cpp
index 5715cb9217..bf4062301d 100644
--- a/fpdfsdk/javascript/JS_EventHandler.cpp
+++ b/fpdfsdk/javascript/JS_EventHandler.cpp
@@ -11,11 +11,11 @@
#include "fpdfsdk/javascript/JS_Define.h"
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/cjs_runtime.h"
-CJS_EventHandler::CJS_EventHandler(CJS_Context* pContext)
- : m_pJSContext(pContext),
+CJS_EventHandler::CJS_EventHandler(CJS_EventContext* pContext)
+ : m_pJSEventContext(pContext),
m_eEventType(JET_UNKNOWN),
m_bValid(false),
m_pWideStrChange(nullptr),
@@ -590,7 +590,7 @@ bool CJS_EventHandler::Shift() {
}
Field* CJS_EventHandler::Source() {
- CJS_Runtime* pRuntime = m_pJSContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = m_pJSEventContext->GetJSRuntime();
v8::Local<v8::Object> pDocObj =
pRuntime->NewFxDynamicObj(CJS_Document::g_nObjDefnID);
ASSERT(!pDocObj.IsEmpty());
@@ -604,7 +604,7 @@ Field* CJS_EventHandler::Source() {
Document* pDocument = (Document*)pJSDocument->GetEmbedObject();
pDocument->SetFormFillEnv(m_pTargetFormFillEnv
? m_pTargetFormFillEnv
- : m_pJSContext->GetFormFillEnv());
+ : m_pJSEventContext->GetFormFillEnv());
CJS_Field* pJSField =
static_cast<CJS_Field*>(pRuntime->GetObjectPrivate(pFieldObj));
@@ -614,7 +614,7 @@ Field* CJS_EventHandler::Source() {
}
Field* CJS_EventHandler::Target_Field() {
- CJS_Runtime* pRuntime = m_pJSContext->GetJSRuntime();
+ CJS_Runtime* pRuntime = m_pJSEventContext->GetJSRuntime();
v8::Local<v8::Object> pDocObj =
pRuntime->NewFxDynamicObj(CJS_Document::g_nObjDefnID);
ASSERT(!pDocObj.IsEmpty());
@@ -628,7 +628,7 @@ Field* CJS_EventHandler::Target_Field() {
Document* pDocument = (Document*)pJSDocument->GetEmbedObject();
pDocument->SetFormFillEnv(m_pTargetFormFillEnv
? m_pTargetFormFillEnv
- : m_pJSContext->GetFormFillEnv());
+ : m_pJSEventContext->GetFormFillEnv());
CJS_Field* pJSField =
static_cast<CJS_Field*>(pRuntime->GetObjectPrivate(pFieldObj));
diff --git a/fpdfsdk/javascript/JS_EventHandler.h b/fpdfsdk/javascript/JS_EventHandler.h
index 8cfcfa7eb7..ff8ff9e301 100644
--- a/fpdfsdk/javascript/JS_EventHandler.h
+++ b/fpdfsdk/javascript/JS_EventHandler.h
@@ -10,7 +10,7 @@
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
-class CJS_Context;
+class CJS_EventContext;
class CPDFSDK_Annot;
class CPDFSDK_FormFillEnvironment;
class CPDF_Bookmark;
@@ -60,7 +60,7 @@ enum JS_EVENT_T {
class CJS_EventHandler {
public:
- explicit CJS_EventHandler(CJS_Context* pContext);
+ explicit CJS_EventHandler(CJS_EventContext* pContext);
virtual ~CJS_EventHandler();
void OnApp_Init();
@@ -165,7 +165,7 @@ class CJS_EventHandler {
JS_EVENT_T EventType() { return m_eEventType; }
public:
- CJS_Context* m_pJSContext;
+ CJS_EventContext* const m_pJSEventContext; // Not Owned.
JS_EVENT_T m_eEventType;
bool m_bValid;
diff --git a/fpdfsdk/javascript/JS_Object.cpp b/fpdfsdk/javascript/JS_Object.cpp
index 9ef6cdd234..cd86889337 100644
--- a/fpdfsdk/javascript/JS_Object.cpp
+++ b/fpdfsdk/javascript/JS_Object.cpp
@@ -7,7 +7,7 @@
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Define.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
CJS_EmbedObj::CJS_EmbedObj(CJS_Object* pJSObject) : m_pJSObject(pJSObject) {}
diff --git a/fpdfsdk/javascript/JS_Object.h b/fpdfsdk/javascript/JS_Object.h
index 658a5e212f..2e5c75c948 100644
--- a/fpdfsdk/javascript/JS_Object.h
+++ b/fpdfsdk/javascript/JS_Object.h
@@ -14,7 +14,7 @@
#include "fpdfsdk/javascript/cjs_runtime.h"
#include "fxjs/fxjs_v8.h"
-class CJS_Context;
+class CJS_EventContext;
class CJS_Object;
class CPDFSDK_FormFillEnvironment;
diff --git a/fpdfsdk/javascript/JS_Runtime_Stub.cpp b/fpdfsdk/javascript/JS_Runtime_Stub.cpp
index 96148d83a0..12edc1be3f 100644
--- a/fpdfsdk/javascript/JS_Runtime_Stub.cpp
+++ b/fpdfsdk/javascript/JS_Runtime_Stub.cpp
@@ -6,16 +6,16 @@
#include <memory>
-#include "fpdfsdk/javascript/ijs_context.h"
+#include "fpdfsdk/javascript/ijs_event_context.h"
#include "fpdfsdk/javascript/ijs_runtime.h"
#include "third_party/base/ptr_util.h"
-class CJS_ContextStub final : public IJS_Context {
+class CJS_EventContextStub final : public IJS_EventContext {
public:
- CJS_ContextStub() {}
- ~CJS_ContextStub() override {}
+ CJS_EventContextStub() {}
+ ~CJS_EventContextStub() override {}
- // IJS_Context:
+ // IJS_EventContext:
bool RunScript(const CFX_WideString& script, CFX_WideString* info) override {
return false;
}
@@ -124,14 +124,16 @@ class CJS_RuntimeStub final : public IJS_Runtime {
: m_pFormFillEnv(pFormFillEnv) {}
~CJS_RuntimeStub() override {}
- IJS_Context* NewContext() override {
+ IJS_EventContext* NewEventContext() override {
if (!m_pContext)
- m_pContext = pdfium::MakeUnique<CJS_ContextStub>();
- return GetCurrentContext();
+ m_pContext = pdfium::MakeUnique<CJS_EventContextStub>();
+ return GetCurrentEventContext();
}
- IJS_Context* GetCurrentContext() override { return m_pContext.get(); }
- void ReleaseContext(IJS_Context* pContext) override {}
+ IJS_EventContext* GetCurrentEventContext() override {
+ return m_pContext.get();
+ }
+ void ReleaseEventContext(IJS_EventContext* pContext) override {}
CPDFSDK_FormFillEnvironment* GetFormFillEnv() const override {
return m_pFormFillEnv;
@@ -154,7 +156,7 @@ class CJS_RuntimeStub final : public IJS_Runtime {
protected:
CPDFSDK_FormFillEnvironment* m_pFormFillEnv;
- std::unique_ptr<CJS_ContextStub> m_pContext;
+ std::unique_ptr<CJS_EventContextStub> m_pContext;
};
// static
diff --git a/fpdfsdk/javascript/PublicMethods.cpp b/fpdfsdk/javascript/PublicMethods.cpp
index c0ea84c0ae..32484d4813 100644
--- a/fpdfsdk/javascript/PublicMethods.cpp
+++ b/fpdfsdk/javascript/PublicMethods.cpp
@@ -22,7 +22,7 @@
#include "fpdfsdk/javascript/JS_EventHandler.h"
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/cjs_runtime.h"
#include "fpdfsdk/javascript/color.h"
#include "fpdfsdk/javascript/resource.h"
@@ -82,7 +82,7 @@ CFX_WideString StrTrim(const CFX_WideString& pStr) {
return result;
}
-void AlertIfPossible(CJS_Context* pContext, const FX_WCHAR* swMsg) {
+void AlertIfPossible(CJS_EventContext* pContext, const FX_WCHAR* swMsg) {
CPDFSDK_FormFillEnvironment* pFormFillEnv = pContext->GetFormFillEnv();
if (pFormFillEnv)
pFormFillEnv->JS_appAlert(swMsg, nullptr, 0, 3);
@@ -750,7 +750,7 @@ CFX_WideString CJS_PublicMethods::MakeFormatDate(double dDate,
// function AFNumber_Format(nDec, sepStyle, negStyle, currStyle, strCurrency,
// bCurrencyPrepend)
-bool CJS_PublicMethods::AFNumber_Format(IJS_Context* cc,
+bool CJS_PublicMethods::AFNumber_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -760,7 +760,7 @@ bool CJS_PublicMethods::AFNumber_Format(IJS_Context* cc,
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (!pEvent->m_pValue)
@@ -898,11 +898,11 @@ bool CJS_PublicMethods::AFNumber_Format(IJS_Context* cc,
// function AFNumber_Keystroke(nDec, sepStyle, negStyle, currStyle, strCurrency,
// bCurrencyPrepend)
-bool CJS_PublicMethods::AFNumber_Keystroke(IJS_Context* cc,
+bool CJS_PublicMethods::AFNumber_Keystroke(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (params.size() < 2)
@@ -945,7 +945,7 @@ bool CJS_PublicMethods::AFNumber_Keystroke(IJS_Context* cc,
}
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iSepStyle = params[1].ToInt(pRuntime);
if (iSepStyle < 0 || iSepStyle > 3)
iSepStyle = 0;
@@ -999,13 +999,13 @@ bool CJS_PublicMethods::AFNumber_Keystroke(IJS_Context* cc,
}
// function AFPercent_Format(nDec, sepStyle)
-bool CJS_PublicMethods::AFPercent_Format(IJS_Context* cc,
+bool CJS_PublicMethods::AFPercent_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
#if _FX_OS_ != _FX_ANDROID_
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (params.size() != 2) {
@@ -1092,7 +1092,7 @@ bool CJS_PublicMethods::AFPercent_Format(IJS_Context* cc,
}
// AFPercent_Keystroke(nDec, sepStyle)
bool CJS_PublicMethods::AFPercent_Keystroke(
- IJS_Context* cc,
+ IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1100,12 +1100,12 @@ bool CJS_PublicMethods::AFPercent_Keystroke(
}
// function AFDate_FormatEx(cFormat)
-bool CJS_PublicMethods::AFDate_FormatEx(IJS_Context* cc,
+bool CJS_PublicMethods::AFDate_FormatEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (params.size() != 1) {
@@ -1200,12 +1200,12 @@ double CJS_PublicMethods::MakeInterDate(const CFX_WideString& strValue) {
}
// AFDate_KeystrokeEx(cFormat)
-bool CJS_PublicMethods::AFDate_KeystrokeEx(IJS_Context* cc,
+bool CJS_PublicMethods::AFDate_KeystrokeEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_EventContext* pContext = (CJS_EventContext*)cc;
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (params.size() != 1) {
@@ -1235,7 +1235,7 @@ bool CJS_PublicMethods::AFDate_KeystrokeEx(IJS_Context* cc,
return true;
}
-bool CJS_PublicMethods::AFDate_Format(IJS_Context* cc,
+bool CJS_PublicMethods::AFDate_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1244,7 +1244,7 @@ bool CJS_PublicMethods::AFDate_Format(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iIndex = params[0].ToInt(pRuntime);
const FX_WCHAR* cFormats[] = {L"m/d",
L"m/d/yy",
@@ -1266,12 +1266,12 @@ bool CJS_PublicMethods::AFDate_Format(IJS_Context* cc,
std::vector<CJS_Value> newParams;
newParams.push_back(
- CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex]));
+ CJS_Value(CJS_Runtime::FromEventContext(cc), cFormats[iIndex]));
return AFDate_FormatEx(cc, newParams, vRet, sError);
}
// AFDate_KeystrokeEx(cFormat)
-bool CJS_PublicMethods::AFDate_Keystroke(IJS_Context* cc,
+bool CJS_PublicMethods::AFDate_Keystroke(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1280,7 +1280,7 @@ bool CJS_PublicMethods::AFDate_Keystroke(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iIndex = params[0].ToInt(pRuntime);
const FX_WCHAR* cFormats[] = {L"m/d",
L"m/d/yy",
@@ -1302,12 +1302,12 @@ bool CJS_PublicMethods::AFDate_Keystroke(IJS_Context* cc,
std::vector<CJS_Value> newParams;
newParams.push_back(
- CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex]));
+ CJS_Value(CJS_Runtime::FromEventContext(cc), cFormats[iIndex]));
return AFDate_KeystrokeEx(cc, newParams, vRet, sError);
}
// function AFTime_Format(ptf)
-bool CJS_PublicMethods::AFTime_Format(IJS_Context* cc,
+bool CJS_PublicMethods::AFTime_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1316,7 +1316,7 @@ bool CJS_PublicMethods::AFTime_Format(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iIndex = params[0].ToInt(pRuntime);
const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss",
L"h:MM:ss tt"};
@@ -1326,11 +1326,11 @@ bool CJS_PublicMethods::AFTime_Format(IJS_Context* cc,
std::vector<CJS_Value> newParams;
newParams.push_back(
- CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex]));
+ CJS_Value(CJS_Runtime::FromEventContext(cc), cFormats[iIndex]));
return AFDate_FormatEx(cc, newParams, vRet, sError);
}
-bool CJS_PublicMethods::AFTime_Keystroke(IJS_Context* cc,
+bool CJS_PublicMethods::AFTime_Keystroke(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1339,7 +1339,7 @@ bool CJS_PublicMethods::AFTime_Keystroke(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iIndex = params[0].ToInt(pRuntime);
const FX_WCHAR* cFormats[] = {L"HH:MM", L"h:MM tt", L"HH:MM:ss",
L"h:MM:ss tt"};
@@ -1349,18 +1349,18 @@ bool CJS_PublicMethods::AFTime_Keystroke(IJS_Context* cc,
std::vector<CJS_Value> newParams;
newParams.push_back(
- CJS_Value(CJS_Runtime::FromContext(cc), cFormats[iIndex]));
+ CJS_Value(CJS_Runtime::FromEventContext(cc), cFormats[iIndex]));
return AFDate_KeystrokeEx(cc, newParams, vRet, sError);
}
-bool CJS_PublicMethods::AFTime_FormatEx(IJS_Context* cc,
+bool CJS_PublicMethods::AFTime_FormatEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return AFDate_FormatEx(cc, params, vRet, sError);
}
-bool CJS_PublicMethods::AFTime_KeystrokeEx(IJS_Context* cc,
+bool CJS_PublicMethods::AFTime_KeystrokeEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1368,7 +1368,7 @@ bool CJS_PublicMethods::AFTime_KeystrokeEx(IJS_Context* cc,
}
// function AFSpecial_Format(psf)
-bool CJS_PublicMethods::AFSpecial_Format(IJS_Context* cc,
+bool CJS_PublicMethods::AFSpecial_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1377,12 +1377,12 @@ bool CJS_PublicMethods::AFSpecial_Format(IJS_Context* cc,
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (!pEvent->m_pValue)
return false;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString wsSource = pEvent->Value();
CFX_WideString wsFormat;
switch (params[0].ToInt(pRuntime)) {
@@ -1409,12 +1409,12 @@ bool CJS_PublicMethods::AFSpecial_Format(IJS_Context* cc,
// function AFSpecial_KeystrokeEx(mask)
bool CJS_PublicMethods::AFSpecial_KeystrokeEx(
- IJS_Context* cc,
+ IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_EventContext* pContext = (CJS_EventContext*)cc;
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (params.size() < 1) {
@@ -1494,7 +1494,7 @@ bool CJS_PublicMethods::AFSpecial_KeystrokeEx(
// function AFSpecial_Keystroke(psf)
bool CJS_PublicMethods::AFSpecial_Keystroke(
- IJS_Context* cc,
+ IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1503,13 +1503,13 @@ bool CJS_PublicMethods::AFSpecial_Keystroke(
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (!pEvent->m_pValue)
return false;
const char* cFormat = "";
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
switch (params[0].ToInt(pRuntime)) {
case 0:
cFormat = "99999";
@@ -1529,11 +1529,11 @@ bool CJS_PublicMethods::AFSpecial_Keystroke(
}
std::vector<CJS_Value> params2;
- params2.push_back(CJS_Value(CJS_Runtime::FromContext(cc), cFormat));
+ params2.push_back(CJS_Value(CJS_Runtime::FromEventContext(cc), cFormat));
return AFSpecial_KeystrokeEx(cc, params2, vRet, sError);
}
-bool CJS_PublicMethods::AFMergeChange(IJS_Context* cc,
+bool CJS_PublicMethods::AFMergeChange(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1542,8 +1542,8 @@ bool CJS_PublicMethods::AFMergeChange(IJS_Context* cc,
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_EventHandler* pEventHandler = pContext->GetEventHandler();
CFX_WideString swValue;
@@ -1574,7 +1574,7 @@ bool CJS_PublicMethods::AFMergeChange(IJS_Context* cc,
return true;
}
-bool CJS_PublicMethods::AFParseDateEx(IJS_Context* cc,
+bool CJS_PublicMethods::AFParseDateEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1583,17 +1583,16 @@ bool CJS_PublicMethods::AFParseDateEx(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
+ CJS_Runtime* pRuntime = pContext->GetJSRuntime();
CFX_WideString sValue = params[0].ToCFXWideString(pRuntime);
CFX_WideString sFormat = params[1].ToCFXWideString(pRuntime);
-
double dDate = MakeRegularDate(sValue, sFormat, nullptr);
-
if (JS_PortIsNan(dDate)) {
CFX_WideString swMsg;
swMsg.Format(JSGetStringFromID(IDS_STRING_JSPARSEDATE).c_str(),
sFormat.c_str());
- AlertIfPossible((CJS_Context*)cc, swMsg.c_str());
+ AlertIfPossible(pContext, swMsg.c_str());
return false;
}
@@ -1601,7 +1600,7 @@ bool CJS_PublicMethods::AFParseDateEx(IJS_Context* cc,
return true;
}
-bool CJS_PublicMethods::AFSimple(IJS_Context* cc,
+bool CJS_PublicMethods::AFSimple(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1610,7 +1609,7 @@ bool CJS_PublicMethods::AFSimple(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
vRet = CJS_Value(pRuntime, static_cast<double>(AF_Simple(
params[0].ToCFXWideString(pRuntime).c_str(),
params[1].ToDouble(pRuntime),
@@ -1619,7 +1618,7 @@ bool CJS_PublicMethods::AFSimple(IJS_Context* cc,
return true;
}
-bool CJS_PublicMethods::AFMakeNumber(IJS_Context* cc,
+bool CJS_PublicMethods::AFMakeNumber(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1628,7 +1627,7 @@ bool CJS_PublicMethods::AFMakeNumber(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString ws = params[0].ToCFXWideString(pRuntime);
ws.Replace(L",", L".");
vRet = CJS_Value(pRuntime, ws.c_str());
@@ -1638,7 +1637,7 @@ bool CJS_PublicMethods::AFMakeNumber(IJS_Context* cc,
return true;
}
-bool CJS_PublicMethods::AFSimple_Calculate(IJS_Context* cc,
+bool CJS_PublicMethods::AFSimple_Calculate(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1653,8 +1652,8 @@ bool CJS_PublicMethods::AFSimple_Calculate(IJS_Context* cc,
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CPDFSDK_InterForm* pReaderInterForm =
pContext->GetFormFillEnv()->GetInterForm();
CPDF_InterForm* pInterForm = pReaderInterForm->GetInterForm();
@@ -1737,7 +1736,7 @@ bool CJS_PublicMethods::AFSimple_Calculate(IJS_Context* cc,
/* This function validates the current event to ensure that its value is
** within the specified range. */
-bool CJS_PublicMethods::AFRange_Validate(IJS_Context* cc,
+bool CJS_PublicMethods::AFRange_Validate(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1745,8 +1744,8 @@ bool CJS_PublicMethods::AFRange_Validate(IJS_Context* cc,
sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
return false;
}
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_EventHandler* pEvent = pContext->GetEventHandler();
if (!pEvent->m_pValue)
return false;
@@ -1784,7 +1783,7 @@ bool CJS_PublicMethods::AFRange_Validate(IJS_Context* cc,
return true;
}
-bool CJS_PublicMethods::AFExtractNums(IJS_Context* cc,
+bool CJS_PublicMethods::AFExtractNums(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -1793,7 +1792,7 @@ bool CJS_PublicMethods::AFExtractNums(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString str = params[0].ToCFXWideString(pRuntime);
CFX_WideString sPart;
CJS_Array nums;
diff --git a/fpdfsdk/javascript/PublicMethods.h b/fpdfsdk/javascript/PublicMethods.h
index 0820c40c3e..bb01ea33cb 100644
--- a/fpdfsdk/javascript/PublicMethods.h
+++ b/fpdfsdk/javascript/PublicMethods.h
@@ -18,91 +18,91 @@ class CJS_PublicMethods : public CJS_Object {
: CJS_Object(pObject) {}
~CJS_PublicMethods() override {}
- static bool AFNumber_Format(IJS_Context* cc,
+ static bool AFNumber_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFNumber_Keystroke(IJS_Context* cc,
+ static bool AFNumber_Keystroke(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFPercent_Format(IJS_Context* cc,
+ static bool AFPercent_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFPercent_Keystroke(IJS_Context* cc,
+ static bool AFPercent_Keystroke(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFDate_FormatEx(IJS_Context* cc,
+ static bool AFDate_FormatEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFDate_KeystrokeEx(IJS_Context* cc,
+ static bool AFDate_KeystrokeEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFDate_Format(IJS_Context* cc,
+ static bool AFDate_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFDate_Keystroke(IJS_Context* cc,
+ static bool AFDate_Keystroke(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFTime_FormatEx(IJS_Context* cc,
+ static bool AFTime_FormatEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError); //
- static bool AFTime_KeystrokeEx(IJS_Context* cc,
+ static bool AFTime_KeystrokeEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFTime_Format(IJS_Context* cc,
+ static bool AFTime_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFTime_Keystroke(IJS_Context* cc,
+ static bool AFTime_Keystroke(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFSpecial_Format(IJS_Context* cc,
+ static bool AFSpecial_Format(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFSpecial_Keystroke(IJS_Context* cc,
+ static bool AFSpecial_Keystroke(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFSpecial_KeystrokeEx(IJS_Context* cc,
+ static bool AFSpecial_KeystrokeEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError); //
- static bool AFSimple(IJS_Context* cc,
+ static bool AFSimple(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFMakeNumber(IJS_Context* cc,
+ static bool AFMakeNumber(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFSimple_Calculate(IJS_Context* cc,
+ static bool AFSimple_Calculate(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFRange_Validate(IJS_Context* cc,
+ static bool AFRange_Validate(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFMergeChange(IJS_Context* cc,
+ static bool AFMergeChange(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFParseDateEx(IJS_Context* cc,
+ static bool AFParseDateEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- static bool AFExtractNums(IJS_Context* cc,
+ static bool AFExtractNums(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
diff --git a/fpdfsdk/javascript/app.cpp b/fpdfsdk/javascript/app.cpp
index 6562d1b598..6de4d2025f 100644
--- a/fpdfsdk/javascript/app.cpp
+++ b/fpdfsdk/javascript/app.cpp
@@ -17,7 +17,7 @@
#include "fpdfsdk/javascript/JS_EventHandler.h"
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/cjs_runtime.h"
#include "fpdfsdk/javascript/resource.h"
#include "third_party/base/stl_util.h"
@@ -211,13 +211,13 @@ app::app(CJS_Object* pJSObject)
app::~app() {
}
-bool app::activeDocs(IJS_Context* cc,
+bool app::activeDocs(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
CJS_Document* pJSDocument = nullptr;
v8::Local<v8::Object> pObj = pRuntime->GetThisObj();
@@ -236,7 +236,7 @@ bool app::activeDocs(IJS_Context* cc,
return true;
}
-bool app::calculate(IJS_Context* cc,
+bool app::calculate(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -244,7 +244,7 @@ bool app::calculate(IJS_Context* cc,
vp >> bVP;
m_bCalculate = (bool)bVP;
- CJS_Context* pContext = (CJS_Context*)cc;
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
pContext->GetFormFillEnv()->GetInterForm()->EnableCalculate(
(bool)m_bCalculate);
} else {
@@ -253,7 +253,7 @@ bool app::calculate(IJS_Context* cc,
return true;
}
-bool app::formsVersion(IJS_Context* cc,
+bool app::formsVersion(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsGetting()) {
@@ -264,7 +264,7 @@ bool app::formsVersion(IJS_Context* cc,
return false;
}
-bool app::viewerType(IJS_Context* cc,
+bool app::viewerType(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsGetting()) {
@@ -275,7 +275,7 @@ bool app::viewerType(IJS_Context* cc,
return false;
}
-bool app::viewerVariation(IJS_Context* cc,
+bool app::viewerVariation(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsGetting()) {
@@ -286,13 +286,13 @@ bool app::viewerVariation(IJS_Context* cc,
return false;
}
-bool app::viewerVersion(IJS_Context* cc,
+bool app::viewerVersion(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
#ifdef PDF_ENABLE_XFA
- CJS_Context* pJSContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pJSContext = static_cast<CJS_EventContext*>(cc);
CPDFXFA_Context* pXFAContext = pJSContext->GetFormFillEnv()->GetXFAContext();
if (pXFAContext->GetDocType() == 1 || pXFAContext->GetDocType() == 2) {
vp << JS_NUM_VIEWERVERSION_XFA;
@@ -303,12 +303,14 @@ bool app::viewerVersion(IJS_Context* cc,
return true;
}
-bool app::platform(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool app::platform(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
#ifdef PDF_ENABLE_XFA
CPDFSDK_FormFillEnvironment* pFormFillEnv =
- static_cast<CJS_Context*>(cc)->GetJSRuntime()->GetFormFillEnv();
+ CJS_Runtime::FromEventContext(cc)->GetFormFillEnv();
if (!pFormFillEnv)
return false;
CFX_WideString platfrom = pFormFillEnv->GetPlatform();
@@ -321,12 +323,14 @@ bool app::platform(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return true;
}
-bool app::language(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool app::language(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
#ifdef PDF_ENABLE_XFA
CPDFSDK_FormFillEnvironment* pFormFillEnv =
- static_cast<CJS_Context*>(cc)->GetJSRuntime()->GetFormFillEnv();
+ CJS_Runtime::FromEventContext(cc)->GetFormFillEnv();
if (!pFormFillEnv)
return false;
CFX_WideString language = pFormFillEnv->GetLanguage();
@@ -343,7 +347,7 @@ bool app::language(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
// comment: need reader support
// note:
// CFDF_Document * CPDFSDK_FormFillEnvironment::NewFDF();
-bool app::newFDF(IJS_Context* cc,
+bool app::newFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -356,18 +360,18 @@ bool app::newFDF(IJS_Context* cc,
// CFDF_Document * CPDFSDK_FormFillEnvironment::OpenFDF(string strPath,bool
// bUserConv);
-bool app::openFDF(IJS_Context* cc,
+bool app::openFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool app::alert(IJS_Context* cc,
+bool app::alert(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
std::vector<CJS_Value> newParams = JS_ExpandKeywordParams(
pRuntime, params, 4, L"cMsg", L"nIcon", L"nType", L"cTitle");
@@ -425,12 +429,12 @@ bool app::alert(IJS_Context* cc,
return true;
}
-bool app::beep(IJS_Context* cc,
+bool app::beep(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
if (params.size() == 1) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
pRuntime->GetFormFillEnv()->JS_appBeep(params[0].ToInt(pRuntime));
return true;
}
@@ -439,25 +443,25 @@ bool app::beep(IJS_Context* cc,
return false;
}
-bool app::findComponent(IJS_Context* cc,
+bool app::findComponent(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool app::popUpMenuEx(IJS_Context* cc,
+bool app::popUpMenuEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool app::fs(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool app::fs(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return false;
}
-bool app::setInterval(IJS_Context* cc,
+bool app::setInterval(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -466,7 +470,7 @@ bool app::setInterval(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString script =
params.size() > 0 ? params[0].ToCFXWideString(pRuntime) : L"";
if (script.IsEmpty()) {
@@ -491,7 +495,7 @@ bool app::setInterval(IJS_Context* cc,
return true;
}
-bool app::setTimeOut(IJS_Context* cc,
+bool app::setTimeOut(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -500,7 +504,7 @@ bool app::setTimeOut(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CFX_WideString script = params[0].ToCFXWideString(pRuntime);
if (script.IsEmpty()) {
sError = JSGetStringFromID(IDS_STRING_JSAFNUMBER_KEYSTROKE);
@@ -526,7 +530,7 @@ bool app::setTimeOut(IJS_Context* cc,
return true;
}
-bool app::clearTimeOut(IJS_Context* cc,
+bool app::clearTimeOut(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -535,11 +539,11 @@ bool app::clearTimeOut(IJS_Context* cc,
return false;
}
- app::ClearTimerCommon(CJS_Runtime::FromContext(cc), params[0]);
+ app::ClearTimerCommon(CJS_Runtime::FromEventContext(cc), params[0]);
return true;
}
-bool app::clearInterval(IJS_Context* cc,
+bool app::clearInterval(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -548,7 +552,7 @@ bool app::clearInterval(IJS_Context* cc,
return false;
}
- app::ClearTimerCommon(CJS_Runtime::FromContext(cc), params[0]);
+ app::ClearTimerCommon(CJS_Runtime::FromEventContext(cc), params[0]);
return true;
}
@@ -571,7 +575,7 @@ void app::ClearTimerCommon(CJS_Runtime* pRuntime, const CJS_Value& param) {
GlobalTimer::Cancel(pTimerObj->GetTimerID());
}
-bool app::execMenuItem(IJS_Context* cc,
+bool app::execMenuItem(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -590,15 +594,15 @@ void app::CancelProc(GlobalTimer* pTimer) {
void app::RunJsScript(CJS_Runtime* pRuntime, const CFX_WideString& wsScript) {
if (!pRuntime->IsBlocking()) {
- IJS_Context* pContext = pRuntime->NewContext();
+ IJS_EventContext* pContext = pRuntime->NewEventContext();
pContext->OnExternal_Exec();
CFX_WideString wtInfo;
pContext->RunScript(wsScript, &wtInfo);
- pRuntime->ReleaseContext(pContext);
+ pRuntime->ReleaseEventContext(pContext);
}
}
-bool app::goBack(IJS_Context* cc,
+bool app::goBack(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -606,7 +610,7 @@ bool app::goBack(IJS_Context* cc,
return true;
}
-bool app::goForward(IJS_Context* cc,
+bool app::goForward(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -614,11 +618,11 @@ bool app::goForward(IJS_Context* cc,
return true;
}
-bool app::mailMsg(IJS_Context* cc,
+bool app::mailMsg(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
std::vector<CJS_Value> newParams =
JS_ExpandKeywordParams(pRuntime, params, 6, L"bUI", L"cTo", L"cCc",
L"cBcc", L"cSubject", L"cMsg");
@@ -657,7 +661,7 @@ bool app::mailMsg(IJS_Context* cc,
cMsg = newParams[5].ToCFXWideString(pRuntime);
pRuntime->BeginBlock();
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
pContext->GetFormFillEnv()->JS_docmailForm(nullptr, 0, bUI, cTo.c_str(),
cSubject.c_str(), cCc.c_str(),
cBcc.c_str(), cMsg.c_str());
@@ -665,7 +669,7 @@ bool app::mailMsg(IJS_Context* cc,
return true;
}
-bool app::launchURL(IJS_Context* cc,
+bool app::launchURL(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -673,7 +677,7 @@ bool app::launchURL(IJS_Context* cc,
return true;
}
-bool app::runtimeHighlight(IJS_Context* cc,
+bool app::runtimeHighlight(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (vp.IsSetting()) {
@@ -684,20 +688,20 @@ bool app::runtimeHighlight(IJS_Context* cc,
return true;
}
-bool app::fullscreen(IJS_Context* cc,
+bool app::fullscreen(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return false;
}
-bool app::popUpMenu(IJS_Context* cc,
+bool app::popUpMenu(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool app::browseForDoc(IJS_Context* cc,
+bool app::browseForDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -723,25 +727,25 @@ CFX_WideString app::SysPathToPDFPath(const CFX_WideString& sOldPath) {
return sRet;
}
-bool app::newDoc(IJS_Context* cc,
+bool app::newDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool app::openDoc(IJS_Context* cc,
+bool app::openDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return false;
}
-bool app::response(IJS_Context* cc,
+bool app::response(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
std::vector<CJS_Value> newParams =
JS_ExpandKeywordParams(pRuntime, params, 5, L"cQuestion", L"cTitle",
L"cDefault", L"bPassword", L"cLabel");
@@ -772,7 +776,7 @@ bool app::response(IJS_Context* cc,
std::unique_ptr<char[]> pBuff(new char[MAX_INPUT_BYTES + 2]);
memset(pBuff.get(), 0, MAX_INPUT_BYTES + 2);
- CJS_Context* pContext = static_cast<CJS_Context*>(cc);
+ CJS_EventContext* pContext = static_cast<CJS_EventContext*>(cc);
int nLengthBytes = pContext->GetFormFillEnv()->JS_appResponse(
swQuestion.c_str(), swTitle.c_str(), swDefault.c_str(), swLabel.c_str(),
bPassword, pBuff.get(), MAX_INPUT_BYTES);
@@ -790,11 +794,13 @@ bool app::response(IJS_Context* cc,
return true;
}
-bool app::media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool app::media(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
return false;
}
-bool app::execDialog(IJS_Context* cc,
+bool app::execDialog(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
diff --git a/fpdfsdk/javascript/app.h b/fpdfsdk/javascript/app.h
index e8c72417bb..6cd68d3813 100644
--- a/fpdfsdk/javascript/app.h
+++ b/fpdfsdk/javascript/app.h
@@ -41,106 +41,120 @@ class app : public CJS_EmbedObj {
explicit app(CJS_Object* pJSObject);
~app() override;
- bool activeDocs(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool calculate(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool formsVersion(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool fs(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool fullscreen(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool language(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool media(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool platform(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool runtimeHighlight(IJS_Context* cc,
+ bool activeDocs(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool calculate(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool formsVersion(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool fs(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool fullscreen(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool language(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool media(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool platform(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool runtimeHighlight(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool viewerType(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool viewerVariation(IJS_Context* cc,
+ bool viewerType(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool viewerVariation(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool viewerVersion(IJS_Context* cc,
+ bool viewerVersion(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool alert(IJS_Context* cc,
+ bool alert(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool beep(IJS_Context* cc,
+ bool beep(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool browseForDoc(IJS_Context* cc,
+ bool browseForDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool clearInterval(IJS_Context* cc,
+ bool clearInterval(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool clearTimeOut(IJS_Context* cc,
+ bool clearTimeOut(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool execDialog(IJS_Context* cc,
+ bool execDialog(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool execMenuItem(IJS_Context* cc,
+ bool execMenuItem(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool findComponent(IJS_Context* cc,
+ bool findComponent(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool goBack(IJS_Context* cc,
+ bool goBack(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool goForward(IJS_Context* cc,
+ bool goForward(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool launchURL(IJS_Context* cc,
+ bool launchURL(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool mailMsg(IJS_Context* cc,
+ bool mailMsg(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool newFDF(IJS_Context* cc,
+ bool newFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool newDoc(IJS_Context* cc,
+ bool newDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool openDoc(IJS_Context* cc,
+ bool openDoc(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool openFDF(IJS_Context* cc,
+ bool openFDF(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool popUpMenuEx(IJS_Context* cc,
+ bool popUpMenuEx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool popUpMenu(IJS_Context* cc,
+ bool popUpMenu(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool response(IJS_Context* cc,
+ bool response(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool setInterval(IJS_Context* cc,
+ bool setInterval(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool setTimeOut(IJS_Context* cc,
+ bool setTimeOut(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
diff --git a/fpdfsdk/javascript/cjs_context.cpp b/fpdfsdk/javascript/cjs_context.cpp
deleted file mode 100644
index e356bdd904..0000000000
--- a/fpdfsdk/javascript/cjs_context.cpp
+++ /dev/null
@@ -1,272 +0,0 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "fpdfsdk/javascript/cjs_context.h"
-
-#include "fpdfsdk/javascript/JS_EventHandler.h"
-#include "fpdfsdk/javascript/cjs_runtime.h"
-#include "fpdfsdk/javascript/resource.h"
-
-CJS_Context::CJS_Context(CJS_Runtime* pRuntime)
- : m_pRuntime(pRuntime),
- m_pEventHandler(new CJS_EventHandler(this)),
- m_bBusy(false) {}
-
-CJS_Context::~CJS_Context() {}
-
-CPDFSDK_FormFillEnvironment* CJS_Context::GetFormFillEnv() {
- return m_pRuntime->GetFormFillEnv();
-}
-
-bool CJS_Context::RunScript(const CFX_WideString& script,
- CFX_WideString* info) {
- v8::Isolate::Scope isolate_scope(m_pRuntime->GetIsolate());
- v8::HandleScope handle_scope(m_pRuntime->GetIsolate());
- v8::Local<v8::Context> context = m_pRuntime->NewLocalContext();
- v8::Context::Scope context_scope(context);
-
- if (m_bBusy) {
- *info = JSGetStringFromID(IDS_STRING_JSBUSY);
- return false;
- }
- m_bBusy = true;
-
- ASSERT(m_pEventHandler->IsValid());
- CJS_Runtime::FieldEvent event(m_pEventHandler->TargetName(),
- m_pEventHandler->EventType());
- if (!m_pRuntime->AddEventToSet(event)) {
- *info = JSGetStringFromID(IDS_STRING_JSEVENT);
- return false;
- }
-
- CFX_WideString sErrorMessage;
- int nRet = 0;
- if (script.GetLength() > 0) {
- nRet = m_pRuntime->ExecuteScript(script.c_str(), &sErrorMessage);
- }
-
- if (nRet < 0) {
- *info += sErrorMessage;
- } else {
- *info = JSGetStringFromID(IDS_STRING_RUN);
- }
-
- m_pRuntime->RemoveEventFromSet(event);
- m_pEventHandler->Destroy();
- m_bBusy = false;
-
- return nRet >= 0;
-}
-
-void CJS_Context::OnApp_Init() {
- m_pEventHandler->OnApp_Init();
-}
-
-void CJS_Context::OnDoc_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv,
- const CFX_WideString& strTargetName) {
- m_pEventHandler->OnDoc_Open(pFormFillEnv, strTargetName);
-}
-
-void CJS_Context::OnDoc_WillPrint(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnDoc_WillPrint(pFormFillEnv);
-}
-
-void CJS_Context::OnDoc_DidPrint(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnDoc_DidPrint(pFormFillEnv);
-}
-
-void CJS_Context::OnDoc_WillSave(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnDoc_WillSave(pFormFillEnv);
-}
-
-void CJS_Context::OnDoc_DidSave(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnDoc_DidSave(pFormFillEnv);
-}
-
-void CJS_Context::OnDoc_WillClose(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnDoc_WillClose(pFormFillEnv);
-}
-
-void CJS_Context::OnPage_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnPage_Open(pFormFillEnv);
-}
-
-void CJS_Context::OnPage_Close(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnPage_Close(pFormFillEnv);
-}
-
-void CJS_Context::OnPage_InView(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnPage_InView(pFormFillEnv);
-}
-
-void CJS_Context::OnPage_OutView(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnPage_OutView(pFormFillEnv);
-}
-
-void CJS_Context::OnField_MouseDown(bool bModifier,
- bool bShift,
- CPDF_FormField* pTarget) {
- m_pEventHandler->OnField_MouseDown(bModifier, bShift, pTarget);
-}
-
-void CJS_Context::OnField_MouseEnter(bool bModifier,
- bool bShift,
- CPDF_FormField* pTarget) {
- m_pEventHandler->OnField_MouseEnter(bModifier, bShift, pTarget);
-}
-
-void CJS_Context::OnField_MouseExit(bool bModifier,
- bool bShift,
- CPDF_FormField* pTarget) {
- m_pEventHandler->OnField_MouseExit(bModifier, bShift, pTarget);
-}
-
-void CJS_Context::OnField_MouseUp(bool bModifier,
- bool bShift,
- CPDF_FormField* pTarget) {
- m_pEventHandler->OnField_MouseUp(bModifier, bShift, pTarget);
-}
-
-void CJS_Context::OnField_Focus(bool bModifier,
- bool bShift,
- CPDF_FormField* pTarget,
- const CFX_WideString& Value) {
- m_pEventHandler->OnField_Focus(bModifier, bShift, pTarget, Value);
-}
-
-void CJS_Context::OnField_Blur(bool bModifier,
- bool bShift,
- CPDF_FormField* pTarget,
- const CFX_WideString& Value) {
- m_pEventHandler->OnField_Blur(bModifier, bShift, pTarget, Value);
-}
-
-void CJS_Context::OnField_Calculate(CPDF_FormField* pSource,
- CPDF_FormField* pTarget,
- CFX_WideString& Value,
- bool& bRc) {
- m_pEventHandler->OnField_Calculate(pSource, pTarget, Value, bRc);
-}
-
-void CJS_Context::OnField_Format(CPDF_FormField* pTarget,
- CFX_WideString& Value,
- bool bWillCommit) {
- m_pEventHandler->OnField_Format(pTarget, Value, bWillCommit);
-}
-
-void CJS_Context::OnField_Keystroke(CFX_WideString& strChange,
- const CFX_WideString& strChangeEx,
- bool bKeyDown,
- bool bModifier,
- int& nSelEnd,
- int& nSelStart,
- bool bShift,
- CPDF_FormField* pTarget,
- CFX_WideString& Value,
- bool bWillCommit,
- bool bFieldFull,
- bool& bRc) {
- m_pEventHandler->OnField_Keystroke(
- strChange, strChangeEx, bKeyDown, bModifier, nSelEnd, nSelStart, bShift,
- pTarget, Value, bWillCommit, bFieldFull, bRc);
-}
-
-void CJS_Context::OnField_Validate(CFX_WideString& strChange,
- const CFX_WideString& strChangeEx,
- bool bKeyDown,
- bool bModifier,
- bool bShift,
- CPDF_FormField* pTarget,
- CFX_WideString& Value,
- bool& bRc) {
- m_pEventHandler->OnField_Validate(strChange, strChangeEx, bKeyDown, bModifier,
- bShift, pTarget, Value, bRc);
-}
-
-void CJS_Context::OnScreen_Focus(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_Focus(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_Blur(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_Blur(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_Open(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_Open(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_Close(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_Close(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_MouseDown(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_MouseDown(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_MouseUp(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_MouseUp(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_MouseEnter(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_MouseEnter(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_MouseExit(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_MouseExit(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_InView(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_InView(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnScreen_OutView(bool bModifier,
- bool bShift,
- CPDFSDK_Annot* pScreen) {
- m_pEventHandler->OnScreen_OutView(bModifier, bShift, pScreen);
-}
-
-void CJS_Context::OnBookmark_MouseUp(CPDF_Bookmark* pBookMark) {
- m_pEventHandler->OnBookmark_MouseUp(pBookMark);
-}
-
-void CJS_Context::OnLink_MouseUp(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnLink_MouseUp(pFormFillEnv);
-}
-
-void CJS_Context::OnConsole_Exec() {
- m_pEventHandler->OnConsole_Exec();
-}
-
-void CJS_Context::OnExternal_Exec() {
- m_pEventHandler->OnExternal_Exec();
-}
-
-void CJS_Context::OnBatchExec(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
- m_pEventHandler->OnBatchExec(pFormFillEnv);
-}
-
-void CJS_Context::OnMenu_Exec(CPDFSDK_FormFillEnvironment* pFormFillEnv,
- const CFX_WideString& strTargetName) {
- m_pEventHandler->OnMenu_Exec(pFormFillEnv, strTargetName);
-}
diff --git a/fpdfsdk/javascript/cjs_event_context.cpp b/fpdfsdk/javascript/cjs_event_context.cpp
new file mode 100644
index 0000000000..abfb6da36f
--- /dev/null
+++ b/fpdfsdk/javascript/cjs_event_context.cpp
@@ -0,0 +1,280 @@
+// Copyright 2017 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#include "fpdfsdk/javascript/cjs_event_context.h"
+
+#include "fpdfsdk/javascript/JS_EventHandler.h"
+#include "fpdfsdk/javascript/cjs_runtime.h"
+#include "fpdfsdk/javascript/resource.h"
+
+CJS_EventContext::CJS_EventContext(CJS_Runtime* pRuntime)
+ : m_pRuntime(pRuntime),
+ m_pEventHandler(new CJS_EventHandler(this)),
+ m_bBusy(false) {
+ ASSERT(pRuntime);
+}
+
+CJS_EventContext::~CJS_EventContext() {}
+
+CPDFSDK_FormFillEnvironment* CJS_EventContext::GetFormFillEnv() {
+ return m_pRuntime->GetFormFillEnv();
+}
+
+bool CJS_EventContext::RunScript(const CFX_WideString& script,
+ CFX_WideString* info) {
+ v8::Isolate::Scope isolate_scope(m_pRuntime->GetIsolate());
+ v8::HandleScope handle_scope(m_pRuntime->GetIsolate());
+ v8::Local<v8::Context> context = m_pRuntime->NewLocalContext();
+ v8::Context::Scope context_scope(context);
+
+ if (m_bBusy) {
+ *info = JSGetStringFromID(IDS_STRING_JSBUSY);
+ return false;
+ }
+
+ CFX_AutoRestorer<bool> restorer(&m_bBusy);
+ m_bBusy = true;
+
+ ASSERT(m_pEventHandler->IsValid());
+ CJS_Runtime::FieldEvent event(m_pEventHandler->TargetName(),
+ m_pEventHandler->EventType());
+ if (!m_pRuntime->AddEventToSet(event)) {
+ *info = JSGetStringFromID(IDS_STRING_JSEVENT);
+ return false;
+ }
+
+ CFX_WideString sErrorMessage;
+ int nRet = 0;
+ if (script.GetLength() > 0)
+ nRet = m_pRuntime->ExecuteScript(script.c_str(), &sErrorMessage);
+
+ if (nRet < 0)
+ *info += sErrorMessage;
+ else
+ *info = JSGetStringFromID(IDS_STRING_RUN);
+
+ m_pRuntime->RemoveEventFromSet(event);
+ m_pEventHandler->Destroy();
+ return nRet >= 0;
+}
+
+void CJS_EventContext::OnApp_Init() {
+ m_pEventHandler->OnApp_Init();
+}
+
+void CJS_EventContext::OnDoc_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv,
+ const CFX_WideString& strTargetName) {
+ m_pEventHandler->OnDoc_Open(pFormFillEnv, strTargetName);
+}
+
+void CJS_EventContext::OnDoc_WillPrint(
+ CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnDoc_WillPrint(pFormFillEnv);
+}
+
+void CJS_EventContext::OnDoc_DidPrint(
+ CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnDoc_DidPrint(pFormFillEnv);
+}
+
+void CJS_EventContext::OnDoc_WillSave(
+ CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnDoc_WillSave(pFormFillEnv);
+}
+
+void CJS_EventContext::OnDoc_DidSave(
+ CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnDoc_DidSave(pFormFillEnv);
+}
+
+void CJS_EventContext::OnDoc_WillClose(
+ CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnDoc_WillClose(pFormFillEnv);
+}
+
+void CJS_EventContext::OnPage_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnPage_Open(pFormFillEnv);
+}
+
+void CJS_EventContext::OnPage_Close(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnPage_Close(pFormFillEnv);
+}
+
+void CJS_EventContext::OnPage_InView(
+ CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnPage_InView(pFormFillEnv);
+}
+
+void CJS_EventContext::OnPage_OutView(
+ CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnPage_OutView(pFormFillEnv);
+}
+
+void CJS_EventContext::OnField_MouseDown(bool bModifier,
+ bool bShift,
+ CPDF_FormField* pTarget) {
+ m_pEventHandler->OnField_MouseDown(bModifier, bShift, pTarget);
+}
+
+void CJS_EventContext::OnField_MouseEnter(bool bModifier,
+ bool bShift,
+ CPDF_FormField* pTarget) {
+ m_pEventHandler->OnField_MouseEnter(bModifier, bShift, pTarget);
+}
+
+void CJS_EventContext::OnField_MouseExit(bool bModifier,
+ bool bShift,
+ CPDF_FormField* pTarget) {
+ m_pEventHandler->OnField_MouseExit(bModifier, bShift, pTarget);
+}
+
+void CJS_EventContext::OnField_MouseUp(bool bModifier,
+ bool bShift,
+ CPDF_FormField* pTarget) {
+ m_pEventHandler->OnField_MouseUp(bModifier, bShift, pTarget);
+}
+
+void CJS_EventContext::OnField_Focus(bool bModifier,
+ bool bShift,
+ CPDF_FormField* pTarget,
+ const CFX_WideString& Value) {
+ m_pEventHandler->OnField_Focus(bModifier, bShift, pTarget, Value);
+}
+
+void CJS_EventContext::OnField_Blur(bool bModifier,
+ bool bShift,
+ CPDF_FormField* pTarget,
+ const CFX_WideString& Value) {
+ m_pEventHandler->OnField_Blur(bModifier, bShift, pTarget, Value);
+}
+
+void CJS_EventContext::OnField_Calculate(CPDF_FormField* pSource,
+ CPDF_FormField* pTarget,
+ CFX_WideString& Value,
+ bool& bRc) {
+ m_pEventHandler->OnField_Calculate(pSource, pTarget, Value, bRc);
+}
+
+void CJS_EventContext::OnField_Format(CPDF_FormField* pTarget,
+ CFX_WideString& Value,
+ bool bWillCommit) {
+ m_pEventHandler->OnField_Format(pTarget, Value, bWillCommit);
+}
+
+void CJS_EventContext::OnField_Keystroke(CFX_WideString& strChange,
+ const CFX_WideString& strChangeEx,
+ bool bKeyDown,
+ bool bModifier,
+ int& nSelEnd,
+ int& nSelStart,
+ bool bShift,
+ CPDF_FormField* pTarget,
+ CFX_WideString& Value,
+ bool bWillCommit,
+ bool bFieldFull,
+ bool& bRc) {
+ m_pEventHandler->OnField_Keystroke(
+ strChange, strChangeEx, bKeyDown, bModifier, nSelEnd, nSelStart, bShift,
+ pTarget, Value, bWillCommit, bFieldFull, bRc);
+}
+
+void CJS_EventContext::OnField_Validate(CFX_WideString& strChange,
+ const CFX_WideString& strChangeEx,
+ bool bKeyDown,
+ bool bModifier,
+ bool bShift,
+ CPDF_FormField* pTarget,
+ CFX_WideString& Value,
+ bool& bRc) {
+ m_pEventHandler->OnField_Validate(strChange, strChangeEx, bKeyDown, bModifier,
+ bShift, pTarget, Value, bRc);
+}
+
+void CJS_EventContext::OnScreen_Focus(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_Focus(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_Blur(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_Blur(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_Open(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_Open(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_Close(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_Close(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_MouseDown(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_MouseDown(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_MouseUp(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_MouseUp(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_MouseEnter(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_MouseEnter(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_MouseExit(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_MouseExit(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_InView(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_InView(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnScreen_OutView(bool bModifier,
+ bool bShift,
+ CPDFSDK_Annot* pScreen) {
+ m_pEventHandler->OnScreen_OutView(bModifier, bShift, pScreen);
+}
+
+void CJS_EventContext::OnBookmark_MouseUp(CPDF_Bookmark* pBookMark) {
+ m_pEventHandler->OnBookmark_MouseUp(pBookMark);
+}
+
+void CJS_EventContext::OnLink_MouseUp(
+ CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnLink_MouseUp(pFormFillEnv);
+}
+
+void CJS_EventContext::OnConsole_Exec() {
+ m_pEventHandler->OnConsole_Exec();
+}
+
+void CJS_EventContext::OnExternal_Exec() {
+ m_pEventHandler->OnExternal_Exec();
+}
+
+void CJS_EventContext::OnBatchExec(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
+ m_pEventHandler->OnBatchExec(pFormFillEnv);
+}
+
+void CJS_EventContext::OnMenu_Exec(CPDFSDK_FormFillEnvironment* pFormFillEnv,
+ const CFX_WideString& strTargetName) {
+ m_pEventHandler->OnMenu_Exec(pFormFillEnv, strTargetName);
+}
diff --git a/fpdfsdk/javascript/cjs_context.h b/fpdfsdk/javascript/cjs_event_context.h
index 95a63ada62..7bfe52816d 100644
--- a/fpdfsdk/javascript/cjs_context.h
+++ b/fpdfsdk/javascript/cjs_event_context.h
@@ -1,28 +1,28 @@
-// Copyright 2014 PDFium Authors. All rights reserved.
+// Copyright 2017 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef FPDFSDK_JAVASCRIPT_CJS_CONTEXT_H_
-#define FPDFSDK_JAVASCRIPT_CJS_CONTEXT_H_
+#ifndef FPDFSDK_JAVASCRIPT_CJS_EVENT_CONTEXT_H_
+#define FPDFSDK_JAVASCRIPT_CJS_EVENT_CONTEXT_H_
#include <memory>
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
-#include "fpdfsdk/javascript/ijs_context.h"
+#include "fpdfsdk/javascript/ijs_event_context.h"
class CJS_EventHandler;
class CJS_Runtime;
class CPDFSDK_FormFillEnvironment;
-class CJS_Context : public IJS_Context {
+class CJS_EventContext : public IJS_EventContext {
public:
- explicit CJS_Context(CJS_Runtime* pRuntime);
- ~CJS_Context() override;
+ explicit CJS_EventContext(CJS_Runtime* pRuntime);
+ ~CJS_EventContext() override;
- // IJS_Context
+ // IJS_EventContext
bool RunScript(const CFX_WideString& script, CFX_WideString* info) override;
void OnApp_Init() override;
void OnDoc_Open(CPDFSDK_FormFillEnvironment* pFormFillEnv,
@@ -132,4 +132,4 @@ class CJS_Context : public IJS_Context {
bool m_bBusy;
};
-#endif // FPDFSDK_JAVASCRIPT_CJS_CONTEXT_H_
+#endif // FPDFSDK_JAVASCRIPT_CJS_EVENT_CONTEXT_H_
diff --git a/fpdfsdk/javascript/cjs_runtime.cpp b/fpdfsdk/javascript/cjs_runtime.cpp
index f55a59cee6..bf50ca92c6 100644
--- a/fpdfsdk/javascript/cjs_runtime.cpp
+++ b/fpdfsdk/javascript/cjs_runtime.cpp
@@ -21,7 +21,7 @@
#include "fpdfsdk/javascript/JS_Value.h"
#include "fpdfsdk/javascript/PublicMethods.h"
#include "fpdfsdk/javascript/app.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/color.h"
#include "fpdfsdk/javascript/console.h"
#include "fpdfsdk/javascript/event.h"
@@ -51,9 +51,8 @@ IJS_Runtime* IJS_Runtime::Create(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
}
// static
-CJS_Runtime* CJS_Runtime::FromContext(const IJS_Context* cc) {
- const CJS_Context* pContext = static_cast<const CJS_Context*>(cc);
- return pContext->GetJSRuntime();
+CJS_Runtime* CJS_Runtime::FromEventContext(const IJS_EventContext* cc) {
+ return static_cast<const CJS_EventContext*>(cc)->GetJSRuntime();
}
// static
@@ -89,10 +88,9 @@ CJS_Runtime::CJS_Runtime(CPDFSDK_FormFillEnvironment* pFormFillEnv)
if (m_isolateManaged || FXJS_GlobalIsolateRefCount() == 0)
DefineJSObjects();
- CJS_Context* pContext = (CJS_Context*)NewContext();
+ IJS_EventContext* pContext = NewEventContext();
InitializeEngine();
- ReleaseContext(pContext);
-
+ ReleaseEventContext(pContext);
SetFormFillEnvToDocument();
}
@@ -153,22 +151,23 @@ void CJS_Runtime::DefineJSObjects() {
CJS_Annot::DefineJSObjects(this, FXJSOBJTYPE_DYNAMIC);
}
-IJS_Context* CJS_Runtime::NewContext() {
- m_ContextArray.push_back(std::unique_ptr<CJS_Context>(new CJS_Context(this)));
- return m_ContextArray.back().get();
+IJS_EventContext* CJS_Runtime::NewEventContext() {
+ m_EventContextArray.push_back(
+ std::unique_ptr<CJS_EventContext>(new CJS_EventContext(this)));
+ return m_EventContextArray.back().get();
}
-void CJS_Runtime::ReleaseContext(IJS_Context* pContext) {
- for (auto it = m_ContextArray.begin(); it != m_ContextArray.end(); ++it) {
- if (it->get() == static_cast<CJS_Context*>(pContext)) {
- m_ContextArray.erase(it);
- return;
- }
- }
+void CJS_Runtime::ReleaseEventContext(IJS_EventContext* pContext) {
+ auto it = std::find(m_EventContextArray.begin(), m_EventContextArray.end(),
+ pdfium::FakeUniquePtr<CJS_EventContext>(
+ static_cast<CJS_EventContext*>(pContext)));
+ if (it != m_EventContextArray.end())
+ m_EventContextArray.erase(it);
}
-IJS_Context* CJS_Runtime::GetCurrentContext() {
- return m_ContextArray.empty() ? nullptr : m_ContextArray.back().get();
+IJS_EventContext* CJS_Runtime::GetCurrentEventContext() {
+ return m_EventContextArray.empty() ? nullptr
+ : m_EventContextArray.back().get();
}
void CJS_Runtime::SetFormFillEnvToDocument() {
diff --git a/fpdfsdk/javascript/cjs_runtime.h b/fpdfsdk/javascript/cjs_runtime.h
index 66f08772e1..96b171b41e 100644
--- a/fpdfsdk/javascript/cjs_runtime.h
+++ b/fpdfsdk/javascript/cjs_runtime.h
@@ -19,7 +19,7 @@
#include "fpdfsdk/javascript/ijs_runtime.h"
#include "fxjs/fxjs_v8.h"
-class CJS_Context;
+class CJS_EventContext;
class CJS_Runtime : public IJS_Runtime,
public CFXJS_Engine,
@@ -27,19 +27,17 @@ class CJS_Runtime : public IJS_Runtime,
public:
using FieldEvent = std::pair<CFX_WideString, JS_EVENT_T>;
- static CJS_Runtime* FromContext(const IJS_Context* cc);
+ static CJS_Runtime* FromEventContext(const IJS_EventContext* cc);
static CJS_Runtime* CurrentRuntimeFromIsolate(v8::Isolate* pIsolate);
explicit CJS_Runtime(CPDFSDK_FormFillEnvironment* pFormFillEnv);
~CJS_Runtime() override;
// IJS_Runtime
- IJS_Context* NewContext() override;
- void ReleaseContext(IJS_Context* pContext) override;
- IJS_Context* GetCurrentContext() override;
-
+ IJS_EventContext* NewEventContext() override;
+ void ReleaseEventContext(IJS_EventContext* pContext) override;
+ IJS_EventContext* GetCurrentEventContext() override;
CPDFSDK_FormFillEnvironment* GetFormFillEnv() const override;
-
int ExecuteScript(const CFX_WideString& script,
CFX_WideString* info) override;
@@ -62,7 +60,7 @@ class CJS_Runtime : public IJS_Runtime,
void DefineJSObjects();
void SetFormFillEnvToDocument();
- std::vector<std::unique_ptr<CJS_Context>> m_ContextArray;
+ std::vector<std::unique_ptr<CJS_EventContext>> m_EventContextArray;
CPDFSDK_FormFillEnvironment* const m_pFormFillEnv;
bool m_bBlocking;
bool m_isolateManaged;
diff --git a/fpdfsdk/javascript/color.cpp b/fpdfsdk/javascript/color.cpp
index 882a9035e8..be26987ff7 100644
--- a/fpdfsdk/javascript/color.cpp
+++ b/fpdfsdk/javascript/color.cpp
@@ -12,7 +12,7 @@
#include "fpdfsdk/javascript/JS_EventHandler.h"
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/cjs_runtime.h"
BEGIN_JS_STATIC_CONST(CJS_Color)
@@ -133,20 +133,20 @@ void color::ConvertArrayToPWLColor(CJS_Runtime* pRuntime,
}
}
-#define JS_IMPLEMENT_COLORPROP(prop, var) \
- bool color::prop(IJS_Context* cc, CJS_PropValue& vp, \
- CFX_WideString& sError) { \
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); \
- CJS_Array array; \
- if (vp.IsGetting()) { \
- ConvertPWLColorToArray(pRuntime, var, &array); \
- vp << array; \
- } else { \
- if (!vp.GetJSValue()->ConvertToArray(pRuntime, array)) \
- return false; \
- ConvertArrayToPWLColor(pRuntime, array, &var); \
- } \
- return true; \
+#define JS_IMPLEMENT_COLORPROP(prop, var) \
+ bool color::prop(IJS_EventContext* cc, CJS_PropValue& vp, \
+ CFX_WideString& sError) { \
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc); \
+ CJS_Array array; \
+ if (vp.IsGetting()) { \
+ ConvertPWLColorToArray(pRuntime, var, &array); \
+ vp << array; \
+ } else { \
+ if (!vp.GetJSValue()->ConvertToArray(pRuntime, array)) \
+ return false; \
+ ConvertArrayToPWLColor(pRuntime, array, &var); \
+ } \
+ return true; \
}
JS_IMPLEMENT_COLORPROP(transparent, m_crTransparent)
@@ -162,7 +162,7 @@ JS_IMPLEMENT_COLORPROP(dkGray, m_crDKGray)
JS_IMPLEMENT_COLORPROP(gray, m_crGray)
JS_IMPLEMENT_COLORPROP(ltGray, m_crLTGray)
-bool color::convert(IJS_Context* cc,
+bool color::convert(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -170,7 +170,7 @@ bool color::convert(IJS_Context* cc,
if (iSize < 2)
return false;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Array aSource;
if (!params[0].ConvertToArray(pRuntime, aSource))
return false;
@@ -200,14 +200,14 @@ bool color::convert(IJS_Context* cc,
return true;
}
-bool color::equal(IJS_Context* cc,
+bool color::equal(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
if (params.size() < 2)
return false;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Array array1;
CJS_Array array2;
if (!params[0].ConvertToArray(pRuntime, array1))
diff --git a/fpdfsdk/javascript/color.h b/fpdfsdk/javascript/color.h
index 9ea4d63355..df53b4ab52 100644
--- a/fpdfsdk/javascript/color.h
+++ b/fpdfsdk/javascript/color.h
@@ -17,24 +17,26 @@ class color : public CJS_EmbedObj {
explicit color(CJS_Object* pJSObject);
~color() override;
- bool black(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool blue(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool cyan(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool dkGray(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool gray(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool green(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool ltGray(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool magenta(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool red(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool transparent(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool white(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool yellow(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool black(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool blue(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool cyan(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool dkGray(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool gray(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool green(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool ltGray(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool magenta(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool red(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool transparent(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool white(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool yellow(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool convert(IJS_Context* cc,
+ bool convert(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool equal(IJS_Context* cc,
+ bool equal(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
diff --git a/fpdfsdk/javascript/console.cpp b/fpdfsdk/javascript/console.cpp
index 0a8c1e05b0..538a4ef858 100644
--- a/fpdfsdk/javascript/console.cpp
+++ b/fpdfsdk/javascript/console.cpp
@@ -12,7 +12,7 @@
#include "fpdfsdk/javascript/JS_EventHandler.h"
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
BEGIN_JS_STATIC_CONST(CJS_Console)
END_JS_STATIC_CONST()
@@ -33,21 +33,21 @@ console::console(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject) {}
console::~console() {}
-bool console::clear(IJS_Context* cc,
+bool console::clear(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool console::hide(IJS_Context* cc,
+bool console::hide(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
return true;
}
-bool console::println(IJS_Context* cc,
+bool console::println(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -57,7 +57,7 @@ bool console::println(IJS_Context* cc,
return true;
}
-bool console::show(IJS_Context* cc,
+bool console::show(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
diff --git a/fpdfsdk/javascript/console.h b/fpdfsdk/javascript/console.h
index 069a81d029..1b6e9dd362 100644
--- a/fpdfsdk/javascript/console.h
+++ b/fpdfsdk/javascript/console.h
@@ -17,19 +17,19 @@ class console : public CJS_EmbedObj {
~console() override;
public:
- bool clear(IJS_Context* cc,
+ bool clear(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool hide(IJS_Context* cc,
+ bool hide(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool println(IJS_Context* cc,
+ bool println(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool show(IJS_Context* cc,
+ bool show(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
diff --git a/fpdfsdk/javascript/event.cpp b/fpdfsdk/javascript/event.cpp
index b4fb951772..48f3ce8a9c 100644
--- a/fpdfsdk/javascript/event.cpp
+++ b/fpdfsdk/javascript/event.cpp
@@ -11,7 +11,7 @@
#include "fpdfsdk/javascript/JS_EventHandler.h"
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
BEGIN_JS_STATIC_CONST(CJS_Event)
END_JS_STATIC_CONST()
@@ -48,50 +48,52 @@ event::event(CJS_Object* pJsObject) : CJS_EmbedObj(pJsObject) {}
event::~event() {}
-bool event::change(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+bool event::change(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
CFX_WideString& wChange = pEvent->Change();
if (vp.IsSetting()) {
if (vp.GetJSValue()->GetType() == CJS_Value::VT_string)
vp >> wChange;
- } else {
- vp << wChange;
+ return true;
}
+ vp << wChange;
return true;
}
-bool event::changeEx(IJS_Context* cc,
+bool event::changeEx(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
vp << pEvent->ChangeEx();
return true;
}
-bool event::commitKey(IJS_Context* cc,
+bool event::commitKey(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
vp << pEvent->CommitKey();
return true;
}
-bool event::fieldFull(IJS_Context* cc,
+bool event::fieldFull(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
if (!vp.IsGetting() &&
wcscmp((const wchar_t*)pEvent->Name(), L"Keystroke") != 0)
@@ -104,14 +106,14 @@ bool event::fieldFull(IJS_Context* cc,
return true;
}
-bool event::keyDown(IJS_Context* cc,
+bool event::keyDown(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
if (pEvent->KeyDown())
vp << true;
@@ -120,14 +122,14 @@ bool event::keyDown(IJS_Context* cc,
return true;
}
-bool event::modifier(IJS_Context* cc,
+bool event::modifier(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
if (pEvent->Modifier())
vp << true;
@@ -136,89 +138,96 @@ bool event::modifier(IJS_Context* cc,
return true;
}
-bool event::name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool event::name(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
vp << pEvent->Name();
return true;
}
-bool event::rc(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+bool event::rc(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
bool& bRc = pEvent->Rc();
- if (vp.IsSetting()) {
+ if (vp.IsSetting())
vp >> bRc;
- } else {
+ else
vp << bRc;
- }
+
return true;
}
-bool event::richChange(IJS_Context* cc,
+bool event::richChange(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool event::richChangeEx(IJS_Context* cc,
+bool event::richChangeEx(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool event::richValue(IJS_Context* cc,
+bool event::richValue(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
return true;
}
-bool event::selEnd(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+bool event::selEnd(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
- if (wcscmp((const wchar_t*)pEvent->Name(), L"Keystroke") != 0) {
+ if (wcscmp((const wchar_t*)pEvent->Name(), L"Keystroke") != 0)
return true;
- }
int& iSelEnd = pEvent->SelEnd();
- if (vp.IsSetting()) {
+ if (vp.IsSetting())
vp >> iSelEnd;
- } else {
+ else
vp << iSelEnd;
- }
+
return true;
}
-bool event::selStart(IJS_Context* cc,
+bool event::selStart(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
- if (wcscmp((const wchar_t*)pEvent->Name(), L"Keystroke") != 0) {
+ if (wcscmp((const wchar_t*)pEvent->Name(), L"Keystroke") != 0)
return true;
- }
+
int& iSelStart = pEvent->SelStart();
- if (vp.IsSetting()) {
+ if (vp.IsSetting())
vp >> iSelStart;
- } else {
+ else
vp << iSelStart;
- }
+
return true;
}
-bool event::shift(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool event::shift(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
if (pEvent->Shift())
vp << true;
@@ -227,81 +236,92 @@ bool event::shift(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
return true;
}
-bool event::source(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool event::source(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
vp << pEvent->Source()->GetJSObject();
return true;
}
-bool event::target(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool event::target(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
vp << pEvent->Target_Field()->GetJSObject();
return true;
}
-bool event::targetName(IJS_Context* cc,
+bool event::targetName(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
+ CJS_EventContext* pContext = (CJS_EventContext*)cc;
CJS_EventHandler* pEvent = pContext->GetEventHandler();
vp << pEvent->TargetName();
return true;
}
-bool event::type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
+bool event::type(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
vp << pEvent->Type();
return true;
}
-bool event::value(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) {
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+bool event::value(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError) {
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
if (wcscmp((const wchar_t*)pEvent->Type(), L"Field") != 0)
return false;
+
if (!pEvent->m_pValue)
return false;
+
CFX_WideString& val = pEvent->Value();
- if (vp.IsSetting()) {
+ if (vp.IsSetting())
vp >> val;
- } else {
+ else
vp << val;
- }
+
return true;
}
-bool event::willCommit(IJS_Context* cc,
+bool event::willCommit(IJS_EventContext* cc,
CJS_PropValue& vp,
CFX_WideString& sError) {
if (!vp.IsGetting())
return false;
- CJS_Context* pContext = (CJS_Context*)cc;
- CJS_EventHandler* pEvent = pContext->GetEventHandler();
+ CJS_EventHandler* pEvent =
+ static_cast<CJS_EventContext*>(cc)->GetEventHandler();
if (pEvent->WillCommit())
vp << true;
else
vp << false;
+
return true;
}
diff --git a/fpdfsdk/javascript/event.h b/fpdfsdk/javascript/event.h
index 67194944d0..54ba3f0a07 100644
--- a/fpdfsdk/javascript/event.h
+++ b/fpdfsdk/javascript/event.h
@@ -15,26 +15,46 @@ class event : public CJS_EmbedObj {
~event() override;
public:
- bool change(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool changeEx(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool commitKey(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool fieldFull(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool keyDown(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool modifier(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool name(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool rc(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool richChange(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool richChangeEx(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool richValue(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool selEnd(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool selStart(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool shift(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool source(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool target(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool targetName(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool type(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool value(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
- bool willCommit(IJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool change(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool changeEx(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool commitKey(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool fieldFull(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool keyDown(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool modifier(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool name(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool rc(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool richChange(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool richChangeEx(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool richValue(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool selEnd(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool selStart(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool shift(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool source(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool target(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool targetName(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
+ bool type(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool value(IJS_EventContext* cc, CJS_PropValue& vp, CFX_WideString& sError);
+ bool willCommit(IJS_EventContext* cc,
+ CJS_PropValue& vp,
+ CFX_WideString& sError);
};
class CJS_Event : public CJS_Object {
diff --git a/fpdfsdk/javascript/global.cpp b/fpdfsdk/javascript/global.cpp
index aca86979ae..06b9d67f6a 100644
--- a/fpdfsdk/javascript/global.cpp
+++ b/fpdfsdk/javascript/global.cpp
@@ -14,7 +14,7 @@
#include "fpdfsdk/javascript/JS_GlobalData.h"
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/resource.h"
BEGIN_JS_STATIC_CONST(CJS_Global)
@@ -66,7 +66,7 @@ bool JSGlobalAlternate::QueryProperty(const FX_WCHAR* propname) {
return CFX_WideString(propname) != L"setPersistent";
}
-bool JSGlobalAlternate::DelProperty(IJS_Context* cc,
+bool JSGlobalAlternate::DelProperty(IJS_EventContext* cc,
const FX_WCHAR* propname,
CFX_WideString& sError) {
auto it = m_mapGlobal.find(CFX_ByteString::FromUnicode(propname));
@@ -77,11 +77,11 @@ bool JSGlobalAlternate::DelProperty(IJS_Context* cc,
return true;
}
-bool JSGlobalAlternate::DoProperty(IJS_Context* cc,
+bool JSGlobalAlternate::DoProperty(IJS_EventContext* cc,
const FX_WCHAR* propname,
CJS_PropValue& vp,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
if (vp.IsSetting()) {
CFX_ByteString sPropName = CFX_ByteString::FromUnicode(propname);
switch (vp.GetJSValue()->GetType()) {
@@ -157,7 +157,7 @@ bool JSGlobalAlternate::DoProperty(IJS_Context* cc,
return false;
}
-bool JSGlobalAlternate::setPersistent(IJS_Context* cc,
+bool JSGlobalAlternate::setPersistent(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -166,7 +166,7 @@ bool JSGlobalAlternate::setPersistent(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
auto it = m_mapGlobal.find(params[0].ToCFXByteString(pRuntime));
if (it != m_mapGlobal.end()) {
JSGlobalData* pData = it->second;
@@ -232,7 +232,7 @@ void JSGlobalAlternate::UpdateGlobalPersistentVariables() {
}
}
-void JSGlobalAlternate::CommitGlobalPersisitentVariables(IJS_Context* cc) {
+void JSGlobalAlternate::CommitGlobalPersisitentVariables(IJS_EventContext* cc) {
for (auto it = m_mapGlobal.begin(); it != m_mapGlobal.end(); ++it) {
CFX_ByteString name = it->first;
JSGlobalData* pData = it->second;
@@ -269,10 +269,10 @@ void JSGlobalAlternate::CommitGlobalPersisitentVariables(IJS_Context* cc) {
}
}
-void JSGlobalAlternate::ObjectToArray(IJS_Context* cc,
+void JSGlobalAlternate::ObjectToArray(IJS_EventContext* cc,
v8::Local<v8::Object> pObj,
CJS_GlobalVariableArray& array) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
std::vector<CFX_WideString> pKeyList = pRuntime->GetObjectPropertyNames(pObj);
for (const auto& ws : pKeyList) {
CFX_ByteString sKey = ws.UTF8Encode();
diff --git a/fpdfsdk/javascript/global.h b/fpdfsdk/javascript/global.h
index 9a6568bc27..cc5601cdeb 100644
--- a/fpdfsdk/javascript/global.h
+++ b/fpdfsdk/javascript/global.h
@@ -35,23 +35,23 @@ class JSGlobalAlternate : public CJS_EmbedObj {
explicit JSGlobalAlternate(CJS_Object* pJSObject);
~JSGlobalAlternate() override;
- bool setPersistent(IJS_Context* cc,
+ bool setPersistent(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
bool QueryProperty(const FX_WCHAR* propname);
- bool DoProperty(IJS_Context* cc,
+ bool DoProperty(IJS_EventContext* cc,
const FX_WCHAR* propname,
CJS_PropValue& vp,
CFX_WideString& sError);
- bool DelProperty(IJS_Context* cc,
+ bool DelProperty(IJS_EventContext* cc,
const FX_WCHAR* propname,
CFX_WideString& sError);
void Initial(CPDFSDK_FormFillEnvironment* pFormFillEnv);
private:
void UpdateGlobalPersistentVariables();
- void CommitGlobalPersisitentVariables(IJS_Context* cc);
+ void CommitGlobalPersisitentVariables(IJS_EventContext* cc);
void DestroyGlobalPersisitentVariables();
bool SetGlobalVariables(const CFX_ByteString& propname,
JS_GlobalDataType nType,
@@ -60,7 +60,7 @@ class JSGlobalAlternate : public CJS_EmbedObj {
const CFX_ByteString& sData,
v8::Local<v8::Object> pData,
bool bDefaultPersistent);
- void ObjectToArray(IJS_Context* cc,
+ void ObjectToArray(IJS_EventContext* cc,
v8::Local<v8::Object> pObj,
CJS_GlobalVariableArray& array);
void PutObjectProperty(v8::Local<v8::Object> obj, CJS_KeyValue* pData);
diff --git a/fpdfsdk/javascript/ijs_context.h b/fpdfsdk/javascript/ijs_event_context.h
index 2d2248f539..8428072cdd 100644
--- a/fpdfsdk/javascript/ijs_context.h
+++ b/fpdfsdk/javascript/ijs_event_context.h
@@ -4,8 +4,8 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-#ifndef FPDFSDK_JAVASCRIPT_IJS_CONTEXT_H_
-#define FPDFSDK_JAVASCRIPT_IJS_CONTEXT_H_
+#ifndef FPDFSDK_JAVASCRIPT_IJS_EVENT_CONTEXT_H_
+#define FPDFSDK_JAVASCRIPT_IJS_EVENT_CONTEXT_H_
#include "core/fxcrt/fx_string.h"
#include "core/fxcrt/fx_system.h"
@@ -15,8 +15,10 @@ class CPDF_FormField;
class CPDFSDK_Annot;
class CPDFSDK_FormFillEnvironment;
-// Records the details of an event and triggers JS execution for it.
-class IJS_Context {
+// Records the details of an event and triggers JS execution for it. There
+// can be more than one of these at any given time, as JS callbacks to C++
+// may trigger new events on top of one another.
+class IJS_EventContext {
public:
virtual bool RunScript(const CFX_WideString& script,
CFX_WideString* info) = 0;
@@ -126,7 +128,7 @@ class IJS_Context {
virtual void OnExternal_Exec() = 0;
protected:
- virtual ~IJS_Context() {}
+ virtual ~IJS_EventContext() {}
};
-#endif // FPDFSDK_JAVASCRIPT_IJS_CONTEXT_H_
+#endif // FPDFSDK_JAVASCRIPT_IJS_EVENT_CONTEXT_H_
diff --git a/fpdfsdk/javascript/ijs_runtime.h b/fpdfsdk/javascript/ijs_runtime.h
index 027c500ece..a0e69d863e 100644
--- a/fpdfsdk/javascript/ijs_runtime.h
+++ b/fpdfsdk/javascript/ijs_runtime.h
@@ -15,7 +15,7 @@
#endif // PDF_ENABLE_XFA
class CPDFSDK_FormFillEnvironment;
-class IJS_Context;
+class IJS_EventContext;
// Owns the FJXS objects needed to actually execute JS.
class IJS_Runtime {
@@ -25,12 +25,10 @@ class IJS_Runtime {
static IJS_Runtime* Create(CPDFSDK_FormFillEnvironment* pFormFillEnv);
virtual ~IJS_Runtime() {}
- virtual IJS_Context* NewContext() = 0;
- virtual void ReleaseContext(IJS_Context* pContext) = 0;
- virtual IJS_Context* GetCurrentContext() = 0;
-
+ virtual IJS_EventContext* NewEventContext() = 0;
+ virtual void ReleaseEventContext(IJS_EventContext* pContext) = 0;
+ virtual IJS_EventContext* GetCurrentEventContext() = 0;
virtual CPDFSDK_FormFillEnvironment* GetFormFillEnv() const = 0;
-
virtual int ExecuteScript(const CFX_WideString& script,
CFX_WideString* info) = 0;
diff --git a/fpdfsdk/javascript/report.cpp b/fpdfsdk/javascript/report.cpp
index ba6e97d87c..87ed416b05 100644
--- a/fpdfsdk/javascript/report.cpp
+++ b/fpdfsdk/javascript/report.cpp
@@ -29,7 +29,7 @@ Report::Report(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject) {}
Report::~Report() {}
-bool Report::writeText(IJS_Context* cc,
+bool Report::writeText(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -37,7 +37,7 @@ bool Report::writeText(IJS_Context* cc,
return true;
}
-bool Report::save(IJS_Context* cc,
+bool Report::save(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
diff --git a/fpdfsdk/javascript/report.h b/fpdfsdk/javascript/report.h
index fef236943d..566b2e8e6f 100644
--- a/fpdfsdk/javascript/report.h
+++ b/fpdfsdk/javascript/report.h
@@ -17,11 +17,11 @@ class Report : public CJS_EmbedObj {
~Report() override;
public:
- bool save(IJS_Context* cc,
+ bool save(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool writeText(IJS_Context* cc,
+ bool writeText(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
diff --git a/fpdfsdk/javascript/resource.h b/fpdfsdk/javascript/resource.h
index 663cf3b04d..af7788ff7d 100644
--- a/fpdfsdk/javascript/resource.h
+++ b/fpdfsdk/javascript/resource.h
@@ -9,7 +9,7 @@
#include "core/fxcrt/fx_string.h"
-class CJS_Context;
+class CJS_EventContext;
#define IDS_STRING_JSALERT 25613
#define IDS_STRING_JSPARAMERROR 25614
diff --git a/fpdfsdk/javascript/util.cpp b/fpdfsdk/javascript/util.cpp
index 3967ceb0cb..0baca534b4 100644
--- a/fpdfsdk/javascript/util.cpp
+++ b/fpdfsdk/javascript/util.cpp
@@ -18,7 +18,7 @@
#include "fpdfsdk/javascript/JS_Object.h"
#include "fpdfsdk/javascript/JS_Value.h"
#include "fpdfsdk/javascript/PublicMethods.h"
-#include "fpdfsdk/javascript/cjs_context.h"
+#include "fpdfsdk/javascript/cjs_event_context.h"
#include "fpdfsdk/javascript/cjs_runtime.h"
#include "fpdfsdk/javascript/resource.h"
@@ -114,11 +114,11 @@ util::util(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject) {}
util::~util() {}
-bool util::printf(IJS_Context* cc,
+bool util::printf(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iSize = params.size();
if (iSize < 1)
return false;
@@ -177,7 +177,7 @@ bool util::printf(IJS_Context* cc,
return true;
}
-bool util::printd(IJS_Context* cc,
+bool util::printd(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -185,7 +185,7 @@ bool util::printd(IJS_Context* cc,
if (iSize < 2)
return false;
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
CJS_Value p1 = params[0];
CJS_Value p2 = params[1];
CJS_Date jsDate;
@@ -307,7 +307,7 @@ bool util::printd(IJS_Context* cc,
return false;
}
-bool util::printx(IJS_Context* cc,
+bool util::printx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -316,7 +316,7 @@ bool util::printx(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
vRet = CJS_Value(pRuntime, printx(params[0].ToCFXWideString(pRuntime),
params[1].ToCFXWideString(pRuntime))
.c_str());
@@ -425,11 +425,11 @@ CFX_WideString util::printx(const CFX_WideString& wsFormat,
return wsResult;
}
-bool util::scand(IJS_Context* cc,
+bool util::scand(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int iSize = params.size();
if (iSize < 2)
return false;
@@ -450,7 +450,7 @@ bool util::scand(IJS_Context* cc,
return true;
}
-bool util::byteToChar(IJS_Context* cc,
+bool util::byteToChar(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError) {
@@ -459,7 +459,7 @@ bool util::byteToChar(IJS_Context* cc,
return false;
}
- CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
+ CJS_Runtime* pRuntime = CJS_Runtime::FromEventContext(cc);
int arg = params[0].ToInt(pRuntime);
if (arg < 0 || arg > 255) {
sError = JSGetStringFromID(IDS_STRING_JSVALUEERROR);
diff --git a/fpdfsdk/javascript/util.h b/fpdfsdk/javascript/util.h
index 80763d1e27..e7adb20edb 100644
--- a/fpdfsdk/javascript/util.h
+++ b/fpdfsdk/javascript/util.h
@@ -17,23 +17,23 @@ class util : public CJS_EmbedObj {
explicit util(CJS_Object* pJSObject);
~util() override;
- bool printd(IJS_Context* cc,
+ bool printd(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool printf(IJS_Context* cc,
+ bool printf(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool printx(IJS_Context* cc,
+ bool printx(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool scand(IJS_Context* cc,
+ bool scand(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
- bool byteToChar(IJS_Context* cc,
+ bool byteToChar(IJS_EventContext* cc,
const std::vector<CJS_Value>& params,
CJS_Value& vRet,
CFX_WideString& sError);
diff --git a/fxjs/fxjs_v8.h b/fxjs/fxjs_v8.h
index 6cf3ca578e..e82218f43c 100644
--- a/fxjs/fxjs_v8.h
+++ b/fxjs/fxjs_v8.h
@@ -33,7 +33,7 @@ class CFXJS_ObjDefinition;
// FXJS_V8 places no restrictions on this class; it merely passes it
// on to caller-provided methods.
-class IJS_Context; // A description of the event that caused JS execution.
+class IJS_EventContext; // A description of the event that caused JS execution.
enum FXJSOBJTYPE {
FXJSOBJTYPE_DYNAMIC = 0, // Created by native method and returned to JS.