summaryrefslogtreecommitdiff
path: root/fpdfsdk/javascript/Document.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/javascript/Document.cpp')
-rw-r--r--fpdfsdk/javascript/Document.cpp297
1 files changed, 137 insertions, 160 deletions
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();