summaryrefslogtreecommitdiff
path: root/fxjs/cjs_document.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fxjs/cjs_document.cpp')
-rw-r--r--fxjs/cjs_document.cpp95
1 files changed, 48 insertions, 47 deletions
diff --git a/fxjs/cjs_document.cpp b/fxjs/cjs_document.cpp
index de3c93c0cb..b90794a88d 100644
--- a/fxjs/cjs_document.cpp
+++ b/fxjs/cjs_document.cpp
@@ -241,7 +241,7 @@ CJS_Return CJS_Document::exportAsXFDF(
CJS_Return CJS_Document::getField(
CJS_Runtime* pRuntime,
const std::vector<v8::Local<v8::Value>>& params) {
- if (params.size() < 1)
+ if (params.empty())
return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
if (!m_pFormFillEnv)
return CJS_Return(JSGetStringFromID(JSMessage::kBadObjectError));
@@ -319,28 +319,28 @@ CJS_Return CJS_Document::mailForm(
if (!m_pFormFillEnv->GetPermissions(FPDFPERM_EXTRACT_ACCESS))
return CJS_Return(JSGetStringFromID(JSMessage::kPermissionError));
- int iLength = params.size();
- bool bUI = iLength > 0 ? pRuntime->ToBoolean(params[0]) : true;
- WideString cTo = iLength > 1 ? pRuntime->ToWideString(params[1]) : L"";
- WideString cCc = iLength > 2 ? pRuntime->ToWideString(params[2]) : L"";
- WideString cBcc = iLength > 3 ? pRuntime->ToWideString(params[3]) : L"";
- WideString cSubject = iLength > 4 ? pRuntime->ToWideString(params[4]) : L"";
- WideString cMsg = iLength > 5 ? pRuntime->ToWideString(params[5]) : L"";
CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
ByteString sTextBuf = pInterForm->ExportFormToFDFTextBuf();
if (sTextBuf.GetLength() == 0)
return CJS_Return(false);
+ size_t nLength = params.size();
+ bool bUI = nLength > 0 ? pRuntime->ToBoolean(params[0]) : true;
+ WideString cTo = nLength > 1 ? pRuntime->ToWideString(params[1]) : L"";
+ WideString cCc = nLength > 2 ? pRuntime->ToWideString(params[2]) : L"";
+ WideString cBcc = nLength > 3 ? pRuntime->ToWideString(params[3]) : L"";
+ WideString cSubject = nLength > 4 ? pRuntime->ToWideString(params[4]) : L"";
+ WideString cMsg = nLength > 5 ? pRuntime->ToWideString(params[5]) : L"";
+
size_t nBufSize = sTextBuf.GetLength();
- char* pMutableBuf = FX_Alloc(char, nBufSize);
- memcpy(pMutableBuf, sTextBuf.c_str(), nBufSize);
+ std::unique_ptr<char, FxFreeDeleter> pMutableBuf(FX_Alloc(char, nBufSize));
+ memcpy(pMutableBuf.get(), sTextBuf.c_str(), nBufSize);
pRuntime->BeginBlock();
CPDFSDK_FormFillEnvironment* pFormFillEnv = pRuntime->GetFormFillEnv();
- pFormFillEnv->JS_docmailForm(pMutableBuf, nBufSize, bUI, cTo, cSubject, cCc,
- cBcc, cMsg);
+ pFormFillEnv->JS_docmailForm(pMutableBuf.get(), nBufSize, bUI, cTo, cSubject,
+ cCc, cBcc, cMsg);
pRuntime->EndBlock();
- FX_Free(pMutableBuf);
return CJS_Return(true);
}
@@ -358,8 +358,8 @@ CJS_Return CJS_Document::print(
bool bPrintAsImage = false;
bool bReverse = false;
bool bAnnotations = false;
- int nlength = params.size();
- if (nlength == 9) {
+ size_t nLength = params.size();
+ if (nLength == 9) {
if (params[8]->IsObject()) {
v8::Local<v8::Object> pObj = pRuntime->ToObject(params[8]);
if (CFXJS_Engine::GetObjDefnID(pObj) ==
@@ -381,21 +381,21 @@ CJS_Return CJS_Document::print(
}
}
} else {
- if (nlength >= 1)
+ if (nLength > 0)
bUI = pRuntime->ToBoolean(params[0]);
- if (nlength >= 2)
+ if (nLength > 1)
nStart = pRuntime->ToInt32(params[1]);
- if (nlength >= 3)
+ if (nLength > 2)
nEnd = pRuntime->ToInt32(params[2]);
- if (nlength >= 4)
+ if (nLength > 3)
bSilent = pRuntime->ToBoolean(params[3]);
- if (nlength >= 5)
+ if (nLength > 4)
bShrinkToFit = pRuntime->ToBoolean(params[4]);
- if (nlength >= 6)
+ if (nLength > 5)
bPrintAsImage = pRuntime->ToBoolean(params[5]);
- if (nlength >= 7)
+ if (nLength > 6)
bReverse = pRuntime->ToBoolean(params[6]);
- if (nlength >= 8)
+ if (nLength > 7)
bAnnotations = pRuntime->ToBoolean(params[7]);
}
@@ -524,7 +524,7 @@ CJS_Return CJS_Document::syncAnnotScan(
CJS_Return CJS_Document::submitForm(
CJS_Runtime* pRuntime,
const std::vector<v8::Local<v8::Value>>& params) {
- int nSize = params.size();
+ size_t nSize = params.size();
if (nSize < 1)
return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
if (!m_pFormFillEnv)
@@ -604,27 +604,15 @@ CJS_Return CJS_Document::mailDoc(
CJS_Runtime* pRuntime,
const std::vector<v8::Local<v8::Value>>& params) {
// TODO(tsepez): Check maximum number of allowed params.
+ size_t nLength = params.size();
bool bUI = true;
- WideString cTo = L"";
- WideString cCc = L"";
- WideString cBcc = L"";
- WideString cSubject = L"";
- WideString cMsg = L"";
-
- if (params.size() >= 1)
- bUI = pRuntime->ToBoolean(params[0]);
- if (params.size() >= 2)
- cTo = pRuntime->ToWideString(params[1]);
- if (params.size() >= 3)
- cCc = pRuntime->ToWideString(params[2]);
- if (params.size() >= 4)
- cBcc = pRuntime->ToWideString(params[3]);
- if (params.size() >= 5)
- cSubject = pRuntime->ToWideString(params[4]);
- if (params.size() >= 6)
- cMsg = pRuntime->ToWideString(params[5]);
-
- if (params.size() >= 1 && params[0]->IsObject()) {
+ WideString cTo;
+ WideString cCc;
+ WideString cBcc;
+ WideString cSubject;
+ WideString cMsg;
+
+ if (nLength > 0 && params[0]->IsObject()) {
v8::Local<v8::Object> pObj = pRuntime->ToObject(params[0]);
bUI = pRuntime->ToBoolean(pRuntime->GetObjectProperty(pObj, L"bUI"));
cTo = pRuntime->ToWideString(pRuntime->GetObjectProperty(pObj, L"cTo"));
@@ -633,6 +621,19 @@ CJS_Return CJS_Document::mailDoc(
cSubject =
pRuntime->ToWideString(pRuntime->GetObjectProperty(pObj, L"cSubject"));
cMsg = pRuntime->ToWideString(pRuntime->GetObjectProperty(pObj, L"cMsg"));
+ } else {
+ if (nLength > 0)
+ bUI = pRuntime->ToBoolean(params[0]);
+ if (nLength > 1)
+ cTo = pRuntime->ToWideString(params[1]);
+ if (nLength > 2)
+ cCc = pRuntime->ToWideString(params[2]);
+ if (nLength > 3)
+ cBcc = pRuntime->ToWideString(params[3]);
+ if (nLength > 4)
+ cSubject = pRuntime->ToWideString(params[4]);
+ if (nLength > 5)
+ cMsg = pRuntime->ToWideString(params[5]);
}
pRuntime->BeginBlock();
@@ -1113,7 +1114,6 @@ CJS_Return CJS_Document::addIcon(
if (params.size() != 2)
return CJS_Return(JSGetStringFromID(JSMessage::kParamError));
- WideString swIconName = pRuntime->ToWideString(params[0]);
if (!params[1]->IsObject())
return CJS_Return(JSGetStringFromID(JSMessage::kTypeError));
@@ -1126,6 +1126,7 @@ CJS_Return CJS_Document::addIcon(
if (!obj)
return CJS_Return(JSGetStringFromID(JSMessage::kTypeError));
+ WideString swIconName = pRuntime->ToWideString(params[0]);
m_IconNames.push_back(swIconName);
return CJS_Return(true);
}
@@ -1462,13 +1463,13 @@ CJS_Return CJS_Document::gotoNamedDest(
if (!m_pFormFillEnv)
return CJS_Return(JSGetStringFromID(JSMessage::kBadObjectError));
- WideString wideName = pRuntime->ToWideString(params[0]);
CPDF_Document* pDocument = m_pFormFillEnv->GetPDFDocument();
if (!pDocument)
return CJS_Return(false);
CPDF_NameTree nameTree(pDocument, "Dests");
- CPDF_Array* destArray = nameTree.LookupNamedDest(pDocument, wideName);
+ CPDF_Array* destArray =
+ nameTree.LookupNamedDest(pDocument, pRuntime->ToWideString(params[0]));
if (!destArray)
return CJS_Return(false);