summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-02-05 15:52:15 -0800
committerTom Sepez <tsepez@chromium.org>2015-02-05 15:52:15 -0800
commite3dbe4db199586bee83f7db3ace142d4c71d0a18 (patch)
tree5b903a9de317429b99d35cb41a1640570fb9b5fc
parent219b3dab7e184bf8742f61527e37053b04903ff0 (diff)
downloadpdfium-e3dbe4db199586bee83f7db3ace142d4c71d0a18.tar.xz
Merge to master: Kill off some dodgy JS callbacks
Note that this work was done opposite the usual branch order, because I didn't want to kill things in master that turned out to be in use in XFA. Original Review URL: https://codereview.chromium.org/883393007 TBR=jam@chromium.org Review URL: https://codereview.chromium.org/903893002
-rw-r--r--core/include/fpdfapi/fpdf_parser.h19
-rw-r--r--core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp58
-rw-r--r--fpdfsdk/include/fsdk_baseform.h6
-rw-r--r--fpdfsdk/include/fsdk_mgr.h78
-rw-r--r--fpdfsdk/include/javascript/JS_Object.h22
-rw-r--r--fpdfsdk/include/javascript/app.h3
-rw-r--r--fpdfsdk/src/fsdk_baseform.cpp84
-rw-r--r--fpdfsdk/src/javascript/Document.cpp698
-rw-r--r--fpdfsdk/src/javascript/JS_Object.cpp7
-rw-r--r--fpdfsdk/src/javascript/app.cpp329
-rw-r--r--fpdfsdk/src/javascript/report.cpp17
11 files changed, 223 insertions, 1098 deletions
diff --git a/core/include/fpdfapi/fpdf_parser.h b/core/include/fpdfapi/fpdf_parser.h
index 0ed8ed20d8..4b91802601 100644
--- a/core/include/fpdfapi/fpdf_parser.h
+++ b/core/include/fpdfapi/fpdf_parser.h
@@ -800,25 +800,12 @@ FX_FLOAT PDF_ClipFloat(FX_FLOAT f);
class CFDF_Document : public CPDF_IndirectObjects
{
public:
-
- static CFDF_Document* CreateNewDoc();
-
- static CFDF_Document* ParseFile(FX_LPCSTR file_path);
-
- static CFDF_Document* ParseFile(FX_LPCWSTR file_path);
-
- static CFDF_Document* ParseFile(IFX_FileRead *pFile, FX_BOOL bOwnFile = FALSE);
-
- static CFDF_Document* ParseMemory(FX_LPCBYTE pData, FX_DWORD size);
+ static CFDF_Document* CreateNewDoc();
+ static CFDF_Document* ParseFile(IFX_FileRead *pFile, FX_BOOL bOwnFile = FALSE);
+ static CFDF_Document* ParseMemory(FX_LPCBYTE pData, FX_DWORD size);
~CFDF_Document();
- FX_BOOL WriteFile(FX_LPCSTR file_path) const;
-
- FX_BOOL WriteFile(FX_LPCWSTR file_path) const;
-
- FX_BOOL WriteFile(IFX_FileWrite *pFile) const;
-
FX_BOOL WriteBuf(CFX_ByteTextBuf& buf) const;
CPDF_Dictionary* GetRoot() const
diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
index e431c6ad3c..028e5e2972 100644
--- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
+++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
@@ -26,26 +26,18 @@ CFDF_Document* CFDF_Document::CreateNewDoc()
pDoc->m_pRootDict->SetAt(FX_BSTRC("FDF"), pFDFDict);
return pDoc;
}
-CFDF_Document* CFDF_Document::ParseFile(FX_LPCSTR file_path)
-{
- return CFDF_Document::ParseFile(FX_CreateFileRead(file_path), TRUE);
-}
-CFDF_Document* CFDF_Document::ParseFile(FX_LPCWSTR file_path)
-{
- return CFDF_Document::ParseFile(FX_CreateFileRead(file_path), TRUE);
-}
CFDF_Document* CFDF_Document::ParseFile(IFX_FileRead *pFile, FX_BOOL bOwnFile)
{
- if (!pFile) {
- return NULL;
- }
- CFDF_Document* pDoc = FX_NEW CFDF_Document;
- pDoc->ParseStream(pFile, bOwnFile);
- if (pDoc->m_pRootDict == NULL) {
- delete pDoc;
- return NULL;
- }
- return pDoc;
+ if (!pFile) {
+ return NULL;
+ }
+ CFDF_Document* pDoc = FX_NEW CFDF_Document;
+ pDoc->ParseStream(pFile, bOwnFile);
+ if (pDoc->m_pRootDict == NULL) {
+ delete pDoc;
+ return NULL;
+ }
+ return pDoc;
}
CFDF_Document* CFDF_Document::ParseMemory(FX_LPCBYTE pData, FX_DWORD size)
{
@@ -121,36 +113,6 @@ CFX_WideString CFDF_Document::GetWin32Path() const
}
return FPDF_FileSpec_GetWin32Path(pFileSpec);
}
-FX_BOOL CFDF_Document::WriteFile(FX_LPCSTR file_path) const
-{
- IFX_FileWrite *pFile = FX_CreateFileWrite(file_path);
- if (!pFile) {
- return FALSE;
- }
- FX_BOOL bRet = WriteFile(pFile);
- pFile->Release();
- return bRet;
-}
-FX_BOOL CFDF_Document::WriteFile(FX_LPCWSTR file_path) const
-{
- IFX_FileWrite *pFile = FX_CreateFileWrite(file_path);
- if (!pFile) {
- return FALSE;
- }
- FX_BOOL bRet = WriteFile(pFile);
- pFile->Release();
- return bRet;
-}
-FX_BOOL CFDF_Document::WriteFile(IFX_FileWrite *pFile) const
-{
- CFX_ByteTextBuf buf;
- WriteBuf(buf);
- FX_BOOL bRet = pFile->WriteBlock(buf.GetBuffer(), buf.GetSize());
- if (bRet) {
- pFile->Flush();
- }
- return bRet;
-}
static CFX_WideString ChangeSlash(FX_LPCWSTR str)
{
CFX_WideString result;
diff --git a/fpdfsdk/include/fsdk_baseform.h b/fpdfsdk/include/fsdk_baseform.h
index 073c99f199..915d4115d6 100644
--- a/fpdfsdk/include/fsdk_baseform.h
+++ b/fpdfsdk/include/fsdk_baseform.h
@@ -206,14 +206,8 @@ public:
FX_BOOL SubmitFields(const CFX_WideString& csDestination, const CFX_PtrArray& fields,
FX_BOOL bIncludeOrExclude, FX_BOOL bUrlEncoded);
FX_BOOL SubmitForm(const CFX_WideString& sDestination, FX_BOOL bUrlEncoded);
- FX_BOOL ImportFormFromFDFFile(const CFX_WideString& csFDFFileName, FX_BOOL bNotify);
- FX_BOOL ExportFormToFDFFile(const CFX_WideString& sFDFFileName);
FX_BOOL ExportFormToFDFTextBuf(CFX_ByteTextBuf& textBuf);
- FX_BOOL ExportFieldsToFDFFile(const CFX_WideString& sFDFFileName, const CFX_PtrArray& fields,
- FX_BOOL bIncludeOrExclude);
FX_BOOL ExportFieldsToFDFTextBuf(const CFX_PtrArray& fields,FX_BOOL bIncludeOrExclude, CFX_ByteTextBuf& textBuf);
- FX_BOOL ExportFormToTxtFile(const CFX_WideString& sTxtFileName);
- FX_BOOL ImportFormFromTxtFile(const CFX_WideString& sTxtFileName);
CFX_WideString GetTemporaryFileName(const CFX_WideString& sFileExt);
private:
diff --git a/fpdfsdk/include/fsdk_mgr.h b/fpdfsdk/include/fsdk_mgr.h
index a6f990c36f..5687f5628b 100644
--- a/fpdfsdk/include/fsdk_mgr.h
+++ b/fpdfsdk/include/fsdk_mgr.h
@@ -1,7 +1,7 @@
// 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
#ifndef _FPDFSDK_MGR_H
@@ -41,14 +41,14 @@ public:
void FFI_Invalidate(FPDF_PAGE page, double left, double top, double right, double bottom)
{
- if (m_pInfo && m_pInfo->FFI_Invalidate)
+ if (m_pInfo && m_pInfo->FFI_Invalidate)
{
m_pInfo->FFI_Invalidate(m_pInfo, page, left, top, right, bottom);
}
}
void FFI_OutputSelectedRect(FPDF_PAGE page, double left, double top, double right, double bottom)
{
- if (m_pInfo && m_pInfo->FFI_OutputSelectedRect)
+ if (m_pInfo && m_pInfo->FFI_OutputSelectedRect)
{
m_pInfo->FFI_OutputSelectedRect(m_pInfo, page, left, top, right, bottom);
}
@@ -56,7 +56,7 @@ public:
void FFI_SetCursor(int nCursorType)
{
- if (m_pInfo && m_pInfo->FFI_SetCursor)
+ if (m_pInfo && m_pInfo->FFI_SetCursor)
{
m_pInfo->FFI_SetCursor(m_pInfo, nCursorType);
}
@@ -64,16 +64,16 @@ public:
int FFI_SetTimer(int uElapse, TimerCallback lpTimerFunc)
{
- if (m_pInfo && m_pInfo->FFI_SetTimer)
+ if (m_pInfo && m_pInfo->FFI_SetTimer)
{
return m_pInfo->FFI_SetTimer(m_pInfo, uElapse, lpTimerFunc);
}
return -1;
}
-
+
void FFI_KillTimer(int nTimerID)
{
- if (m_pInfo && m_pInfo->FFI_KillTimer)
+ if (m_pInfo && m_pInfo->FFI_KillTimer)
{
m_pInfo->FFI_KillTimer(m_pInfo, nTimerID);
}
@@ -106,7 +106,7 @@ public:
FX_BOOL FFI_IsSHIFTKeyDown(FX_DWORD nFlag)
{
-
+
return (nFlag & FWL_EVENTFLAG_ShiftKey) != 0;
}
FX_BOOL FFI_IsCTRLKeyDown(FX_DWORD nFlag)
@@ -152,7 +152,7 @@ public:
FPDF_WIDESTRING pTitle = (FPDF_WIDESTRING)bsTitle.GetBuffer(bsTitle.GetLength());
FPDF_WIDESTRING pDefault = (FPDF_WIDESTRING)bsDefault.GetBuffer(bsDefault.GetLength());
FPDF_WIDESTRING pLabel = (FPDF_WIDESTRING)bsLabel.GetBuffer(bsLabel.GetLength());
- int ret = m_pInfo->m_pJsPlatform->app_response(m_pInfo->m_pJsPlatform, pQuestion, pTitle,
+ int ret = m_pInfo->m_pJsPlatform->app_response(m_pInfo->m_pJsPlatform, pQuestion, pTitle,
pDefault, pLabel, bPassword, response, length);
bsQuestion.ReleaseBuffer();
bsTitle.ReleaseBuffer();
@@ -259,19 +259,6 @@ public:
bsMsg.ReleaseBuffer();
}
}
- CFX_WideString JS_appbrowseForDoc(FPDF_BOOL bSave, FX_LPCWSTR cFilenameInit)
- {
- //to do....
- return L"";
-// if(m_pInfo && m_pInfo->m_pJsPlatform && m_pInfo->m_pJsPlatform->app_browseForDoc)
-// {
-// CFX_ByteString bsFilenameInit = CFX_WideString(cFilenameInit).UTF16LE_Encode();
-// FPDF_WIDESTRING pFileNameInit = (FPDF_WIDESTRING)bsFilenameInit.GetBuffer(bsFilenameInit.GetLength());
-//
-// m_pInfo->m_pJsPlatform->app_browseForDoc(m_pInfo->m_pJsPlatform, pFileNameInit);
-// bsFilenameInit.ReleaseBuffer();
-// }
- }
void JS_docprint(FPDF_BOOL bUI , int nStart, int nEnd, FPDF_BOOL bSilent ,FPDF_BOOL bShrinkToFit,FPDF_BOOL bPrintAsImage ,FPDF_BOOL bReverse ,FPDF_BOOL bAnnotations)
{
@@ -348,17 +335,16 @@ public:
public:
FX_BOOL IsJSInitiated();
-public:
+public:
void SetCurrentDoc(CPDFSDK_Document* pFXDoc) {m_pSDKDoc = pFXDoc;}
CPDFSDK_Document* GetCurrentDoc();
CPDF_Document* GetPDFDocument() {return m_pPDFDoc;}
// CPDFSDK_Document* GetDocument(int nIndex);
// int CountDocuments() {return m_docMap.GetCount();}
- CPDFSDK_Document* OpenDocument(CFX_WideString &fileName);
- CPDFSDK_Document* OpenMemPDFDoc(CPDF_Document* pNewDoc, CFX_WideString &fileName);
- FX_BOOL OpenURL(CFX_WideString &filePath);
-
+ CPDFSDK_Document* OpenDocument(CFX_WideString &fileName){return NULL;}
+ CPDFSDK_Document* OpenMemPDFDoc(CPDF_Document* pNewDoc, CFX_WideString &fileName){return NULL;}
+
CFX_ByteString GetAppName() {return "";}
@@ -425,7 +411,7 @@ public:
CPDFSDK_Annot* GetFocusAnnot();//{return NULL;}
IFXJS_Runtime * GetJsRuntime();
-
+
FX_BOOL SetFocusAnnot(CPDFSDK_Annot* pAnnot, FX_UINT nFlag = 0);//{return FALSE;}
FX_BOOL KillFocusAnnot(FX_UINT nFlag = 0);
@@ -441,7 +427,7 @@ public:
FX_BOOL GetChangeMark() {return m_bChangeMask;}
void SetChangeMark() {m_bChangeMask = TRUE;}
void ClearChangeMark() {m_bChangeMask= FALSE;}
-// FX_BOOL GetChangeMark(){return FALSE;}//IsAnnotModified()||IsFormModified() || IsWidgetModified()|| m_nChangeMark>0 ;}
+// FX_BOOL GetChangeMark(){return FALSE;}//IsAnnotModified()||IsFormModified() || IsWidgetModified()|| m_nChangeMark>0 ;}
// void ClearChangeMark(){}
CFX_WideString GetPath() ;
CPDF_Page* GetPage(int nIndex);
@@ -478,14 +464,13 @@ public:
CPDFSDK_Annot* AddAnnot(CPDF_Dictionary * pDict);
CPDFSDK_Annot* AddAnnot(FX_LPCSTR lpSubType,CPDF_Dictionary * pDict);
CPDFSDK_Annot* AddAnnot(CPDF_Annot * pPDFAnnot);
- FX_BOOL DeleteAnnot(CPDFSDK_Annot* pAnnot);
-
+ FX_BOOL DeleteAnnot(CPDFSDK_Annot* pAnnot);
int CountAnnots();
CPDFSDK_Annot* GetAnnot(int nIndex);
CPDFSDK_Annot* GetAnnotByDict(CPDF_Dictionary * pDict);
CPDF_Page* GetPDFPage(){return m_page;}
CPDF_Document* GetPDFDocument();
- CPDFSDK_Document* GetSDKDocument() {return m_pSDKDoc;}
+ CPDFSDK_Document* GetSDKDocument() {return m_pSDKDoc;}
FX_BOOL OnLButtonDown(const CPDF_Point & point, FX_UINT nFlag);
FX_BOOL OnLButtonUp(const CPDF_Point & point, FX_UINT nFlag);
FX_BOOL OnChar(int nChar, FX_UINT nFlag);
@@ -529,28 +514,28 @@ private:
template<class TYPE>
class CGW_ArrayTemplate : public CFX_ArrayTemplate<TYPE>
{
-public:
+public:
CGW_ArrayTemplate(){}
virtual ~CGW_ArrayTemplate(){}
-
+
typedef int (*LP_COMPARE)(TYPE p1, TYPE p2);
-
+
void Sort(LP_COMPARE pCompare, FX_BOOL bAscent = TRUE)
{
int nSize = this->GetSize();
QuickSort(0, nSize -1, bAscent, pCompare);
}
-
+
private:
void QuickSort(FX_UINT nStartPos, FX_UINT nStopPos, FX_BOOL bAscend, LP_COMPARE pCompare)
{
if (nStartPos >= nStopPos) return;
-
+
if ((nStopPos - nStartPos) == 1)
{
TYPE Value1 = this->GetAt(nStartPos);
TYPE Value2 = this->GetAt(nStopPos);
-
+
int iGreate = (*pCompare)(Value1, Value2);
if ((bAscend && iGreate > 0) || (!bAscend && iGreate < 0))
{
@@ -559,16 +544,16 @@ private:
}
return;
}
-
+
FX_UINT m = nStartPos + (nStopPos - nStartPos) / 2;
FX_UINT i = nStartPos;
-
+
TYPE Value = this->GetAt(m);
-
+
while (i < m)
{
TYPE temp = this->GetAt(i);
-
+
int iGreate = (*pCompare)(temp, Value);
if ((bAscend && iGreate > 0) || (!bAscend && iGreate < 0))
{
@@ -581,13 +566,13 @@ private:
i++;
}
}
-
+
FX_UINT j = nStopPos;
-
+
while (j > m)
{
TYPE temp = this->GetAt(j);
-
+
int iGreate = (*pCompare)(temp, Value);
if ((bAscend && iGreate < 0) || (!bAscend && iGreate > 0))
{
@@ -600,7 +585,7 @@ private:
j--;
}
}
-
+
if (nStartPos < m) QuickSort(nStartPos, m, bAscend, pCompare);
if (nStopPos > m) QuickSort(m, nStopPos, bAscend, pCompare);
}
@@ -608,4 +593,3 @@ private:
#endif //_FPDFSDK_MGR_H
-
diff --git a/fpdfsdk/include/javascript/JS_Object.h b/fpdfsdk/include/javascript/JS_Object.h
index 2351b096f3..dbf7da68a4 100644
--- a/fpdfsdk/include/javascript/JS_Object.h
+++ b/fpdfsdk/include/javascript/JS_Object.h
@@ -1,7 +1,7 @@
// 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
#ifndef _JS_OBJECT_H_
@@ -28,10 +28,8 @@ public:
CPDFSDK_PageView * JSGetPageView(IFXJS_Context* cc);
int MsgBox(CPDFDoc_Environment* pApp, CPDFSDK_PageView* pPageView, FX_LPCWSTR swMsg, FX_LPCWSTR swTitle = NULL, FX_UINT nType = 0, FX_UINT nIcon = 0);
void Alert(CJS_Context* pContext, FX_LPCWSTR swMsg);
- FX_BOOL IsSafeMode(IFXJS_Context* cc);
protected:
-
CJS_Object* m_pJSObject;
};
@@ -40,7 +38,7 @@ class CJS_Object : public CFX_Object
public:
CJS_Object(JSFXObject pObject);
virtual ~CJS_Object(void);
-
+
void MakeWeak();
virtual FX_BOOL IsType(FX_LPCSTR sClassName){return TRUE;};
@@ -141,9 +139,9 @@ public:
}
int Find(FX_UINT nIndex)
- {
+ {
for (int i=0,sz=m_Array.GetSize(); i<sz; i++)
- {
+ {
if (JS_TIMER_MAP * pMap = m_Array.GetAt(i))
{
if (pMap->nID == nIndex)
@@ -165,8 +163,8 @@ class CJS_Timer
{
public:
CJS_Timer(CJS_EmbedObj * pObj,CPDFDoc_Environment* pApp):
- m_nTimerID(0),
- m_pEmbedObj(pObj),
+ m_nTimerID(0),
+ m_pEmbedObj(pObj),
m_bProcessing(FALSE),
m_dwStartTime(0),
m_dwTimeOut(0),
@@ -176,7 +174,7 @@ public:
m_pApp(pApp)
{
}
-
+
virtual ~CJS_Timer()
{
KillJSTimer();
@@ -184,7 +182,7 @@ public:
public:
FX_UINT SetJSTimer(FX_UINT nElapse)
- {
+ {
if (m_nTimerID)KillJSTimer();
IFX_SystemHandler* pHandler = m_pApp->GetSysHandler();
m_nTimerID = pHandler->SetTimer(nElapse,TimerProc);
@@ -238,7 +236,7 @@ public:
{
m_pRuntime = pRuntime;
}
-
+
CJS_Runtime* GetRuntime() const
{
return m_pRuntime;
@@ -272,7 +270,7 @@ public:
};
private:
- FX_UINT m_nTimerID;
+ FX_UINT m_nTimerID;
CJS_EmbedObj* m_pEmbedObj;
FX_BOOL m_bProcessing;
diff --git a/fpdfsdk/include/javascript/app.h b/fpdfsdk/include/javascript/app.h
index 671b3581a5..1c95bf430d 100644
--- a/fpdfsdk/include/javascript/app.h
+++ b/fpdfsdk/include/javascript/app.h
@@ -160,9 +160,6 @@ private:
public:
static CFX_WideString SysPathToPDFPath(const CFX_WideString& sOldPath);
- static CFX_WideString PDFPathToSysPath(const CFX_WideString& sOldPath);
- static CFX_WideString RelativePathToSysPath(const CFX_WideString& sOldPath, const CFX_WideString& sFilePath);
-
private:
diff --git a/fpdfsdk/src/fsdk_baseform.cpp b/fpdfsdk/src/fsdk_baseform.cpp
index 37caf2d1ed..6203f85662 100644
--- a/fpdfsdk/src/fsdk_baseform.cpp
+++ b/fpdfsdk/src/fsdk_baseform.cpp
@@ -2372,20 +2372,6 @@ FX_BOOL CPDFSDK_InterForm::FDFToURLEncodedData(FX_LPBYTE& pBuf, FX_STRSIZE& nBuf
return TRUE;
}
-FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFFile(const CFX_WideString& sFDFFileName,
- const CFX_PtrArray& fields, FX_BOOL bIncludeOrExclude)
-{
- if (sFDFFileName.IsEmpty()) return FALSE;
- ASSERT(m_pDocument != NULL);
- ASSERT(m_pInterForm != NULL);
-
- CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath(),(CFX_PtrArray&)fields, bIncludeOrExclude);
- if (!pFDF) return FALSE;
- FX_BOOL bRet = pFDF->WriteFile(sFDFFileName.UTF8Encode()); // = FALSE;//
- delete pFDF;
-
- return bRet;
-}
FX_BOOL CPDFSDK_InterForm::ExportFieldsToFDFTextBuf(const CFX_PtrArray& fields,FX_BOOL bIncludeOrExclude, CFX_ByteTextBuf& textBuf)
{
ASSERT(m_pDocument != NULL);
@@ -2444,22 +2430,6 @@ FX_BOOL CPDFSDK_InterForm::SubmitForm(const CFX_WideString& sDestination, FX_BOO
return TRUE;
}
-FX_BOOL CPDFSDK_InterForm::ExportFormToFDFFile(const CFX_WideString& sFDFFileName)
-{
- if (sFDFFileName.IsEmpty()) return FALSE;
-
- ASSERT(m_pInterForm != NULL);
- ASSERT(m_pDocument != NULL);
-
- CFDF_Document* pFDF = m_pInterForm->ExportToFDF(m_pDocument->GetPath());
- if (!pFDF) return FALSE;
-
- FX_BOOL bRet = pFDF->WriteFile(sFDFFileName.UTF8Encode());
- delete pFDF;
-
- return bRet;
-}
-
FX_BOOL CPDFSDK_InterForm::ExportFormToFDFTextBuf(CFX_ByteTextBuf& textBuf)
{
@@ -2475,43 +2445,6 @@ FX_BOOL CPDFSDK_InterForm::ExportFormToFDFTextBuf(CFX_ByteTextBuf& textBuf)
return bRet;
}
-FX_BOOL CPDFSDK_InterForm::ExportFormToTxtFile(const CFX_WideString& sTxtFileName)
-{
- ASSERT(m_pInterForm != NULL);
-
- CFX_WideString sFieldNames;
- CFX_WideString sFieldValues;
-
- int nSize = m_pInterForm->CountFields();
-
- if (nSize > 0)
- {
- for (int i=0; i<nSize; i++)
- {
- CPDF_FormField* pField = m_pInterForm->GetField(i);
- ASSERT(pField != NULL);
-
- if (i != 0)
- {
- sFieldNames += L"\t";
- sFieldValues += L"\t";
- }
- sFieldNames += pField->GetFullName();
- sFieldValues += pField->GetValue();
- }
-
- return TRUE;
- }
-
- return FALSE;
-}
-
-FX_BOOL CPDFSDK_InterForm::ImportFormFromTxtFile(const CFX_WideString& sTxtFileName)
-{
- ASSERT(m_pInterForm != NULL);
-
- return TRUE;
-}
FX_BOOL CPDFSDK_InterForm::DoAction_ResetForm(const CPDF_Action& action)
{
@@ -2542,23 +2475,6 @@ FX_BOOL CPDFSDK_InterForm::DoAction_ResetForm(const CPDF_Action& action)
FX_BOOL CPDFSDK_InterForm::DoAction_ImportData(const CPDF_Action& action)
{
- ASSERT(action != NULL);
-
- CFX_WideString sFilePath = action.GetFilePath();
- if (sFilePath.IsEmpty())
- return FALSE;
-
- if (!ImportFormFromFDFFile(sFilePath, TRUE))
- {
- return FALSE;
- }
-
- return TRUE;
-}
-
-FX_BOOL CPDFSDK_InterForm::ImportFormFromFDFFile(const CFX_WideString& csFDFFileName,
- FX_BOOL bNotify)
-{
return FALSE;
}
diff --git a/fpdfsdk/src/javascript/Document.cpp b/fpdfsdk/src/javascript/Document.cpp
index 8f7a8f29e3..410650af49 100644
--- a/fpdfsdk/src/javascript/Document.cpp
+++ b/fpdfsdk/src/javascript/Document.cpp
@@ -1,7 +1,7 @@
// 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 "../../include/javascript/JavaScript.h"
@@ -78,7 +78,7 @@ BEGIN_JS_STATIC_PROP(CJS_Document)
JS_STATIC_PROP_ENTRY(external)
JS_STATIC_PROP_ENTRY(filesize)
JS_STATIC_PROP_ENTRY(icons)
- JS_STATIC_PROP_ENTRY(info)
+ JS_STATIC_PROP_ENTRY(info)
JS_STATIC_PROP_ENTRY(keywords)
JS_STATIC_PROP_ENTRY(layout)
JS_STATIC_PROP_ENTRY(media)
@@ -87,7 +87,7 @@ BEGIN_JS_STATIC_PROP(CJS_Document)
JS_STATIC_PROP_ENTRY(mouseY)
JS_STATIC_PROP_ENTRY(numFields)
JS_STATIC_PROP_ENTRY(numPages)
- JS_STATIC_PROP_ENTRY(pageNum)
+ JS_STATIC_PROP_ENTRY(pageNum)
JS_STATIC_PROP_ENTRY(pageWindowRect)
JS_STATIC_PROP_ENTRY(path)
JS_STATIC_PROP_ENTRY(producer)
@@ -137,7 +137,7 @@ BEGIN_JS_STATIC_METHOD(CJS_Document)
JS_STATIC_METHOD_ENTRY(removeIcon, 0)
JS_STATIC_METHOD_ENTRY(saveAs, 5)
JS_STATIC_METHOD_ENTRY(submitForm, 23)
- JS_STATIC_METHOD_ENTRY(mailDoc, 0)
+ JS_STATIC_METHOD_ENTRY(mailDoc, 0)
END_JS_STATIC_METHOD()
IMPLEMENT_JS_CLASS(CJS_Document, Document)
@@ -149,7 +149,7 @@ FX_BOOL CJS_Document::InitInstance(IFXJS_Context* cc)
Document* pDoc = (Document*)GetEmbedObject();
ASSERT(pDoc != NULL);
-
+
pDoc->AttachDoc(pContext->GetReaderDocument());
pDoc->SetIsolate(pContext->GetJSRuntime()->GetIsolate());
return TRUE;
@@ -181,7 +181,7 @@ Document::~Document()
delete pData;
pData = NULL;
m_DelayData.SetAt(i, NULL);
-
+
}
}
@@ -253,14 +253,14 @@ FX_BOOL Document::pageNum(OBJ_PROP_PARAMS)
ASSERT(m_pDocument != NULL);
if (vp.IsGetting())
- {
+ {
if (CPDFSDK_PageView* pPageView = m_pDocument->GetCurrentView())
{
vp << pPageView->GetPageIndex();
}
}
else
- {
+ {
int iPageCount = m_pDocument->GetPageCount();
int iPageNum = 0;
@@ -289,131 +289,37 @@ FX_BOOL Document::pageNum(OBJ_PROP_PARAMS)
FX_BOOL Document::ParserParams(JSObject* pObj,CJS_AnnotObj& annotobj)
{
+ // Not supported.
return TRUE;
}
FX_BOOL Document::addAnnot(OBJ_METHOD_PARAMS)
{
+ // Not supported.
return TRUE;
}
FX_BOOL Document::addField(OBJ_METHOD_PARAMS)
{
- //Doesn't support.
+ // Not supported.
return TRUE;
}
-//exports form fields as a tab-delimited text file to a local hard disk.
-//comment: need reader support
-//note : watch the third parameter:cPath, for what case it can be safely saved?
-//int CPDFSDK_InterForm::ExportAsText(FX_BOOL bNoPassword,StringArray aFields,String cPath);
-//return value, int the index of the parameters illegal, the index is based on 1.
-
FX_BOOL Document::exportAsText(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
+ // Unsafe, not supported.
return TRUE;
}
-//exports form fields as a fdf file to the local hard drive
-//comment: need reader supports
-//note:the last parameter hasn't been confirmed.because the previous one blocks the way.
-//int CPDFSDK_Document::ExportAsFDF(FX_BOOL bAllFields,BOOL bNoPassword,StringArray aFields,FX_BOOL bFlags,String cPath,FX_BOOL bAnnotations);
-
FX_BOOL Document::exportAsFDF(OBJ_METHOD_PARAMS)
{
- v8::Isolate* isolate = GetIsolate(cc);
- if (IsSafeMode(cc)) return TRUE;
-
- ASSERT(m_pDocument != NULL);
-
- if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
-
- FX_BOOL bAllFields = params.size() > 0 ? (FX_BOOL)params[0] : FALSE;
- FX_BOOL bNoPassWord = params.size() > 1 ? (FX_BOOL)params[1] : TRUE;
- FX_BOOL bWhole = params.size() > 2 ? (params[2].GetType() == VT_null) : TRUE;
- CJS_Array arrayFileds(isolate);
- if (!bWhole)
- arrayFileds.Attach(params[2]);
- //FX_BOOL bFlags = params.size() > 3 ? (FX_BOOL)params[3] : FALSE;
- CFX_WideString swFilePath = params.size() > 4 ? (FX_LPCWSTR)params[4].operator CFX_WideString() : L"";
-
- if (swFilePath.IsEmpty())
- {
- CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
- swFilePath = pEnv->JS_fieldBrowse();
- if(swFilePath.IsEmpty())
- return TRUE;
- }
- else
- {
- swFilePath = app::PDFPathToSysPath(swFilePath);
- }
-
- m_pDocument->SetFocusAnnot(NULL);
-
- CPDFSDK_InterForm* pInterForm= (CPDFSDK_InterForm*)m_pDocument->GetInterForm();
- ASSERT(pInterForm != NULL);
-
- CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
- ASSERT(pPDFForm != NULL);
-
- CFX_PtrArray aFields;
-
- if (bWhole)
- {
- for (int j=0,jsz=pPDFForm->CountFields(); j<jsz; j++)
- {
- aFields.Add(pPDFForm->GetField(j));
- }
- }
- else
- {
- for (int i=0,isz=arrayFileds.GetLength(); i<isz; i++)
- {
- CJS_Value valName(isolate);
- arrayFileds.GetElement(i,valName);
- CFX_WideString swName = valName.operator CFX_WideString();
-
- for (int j=0, jsz=pPDFForm->CountFields(swName); j<jsz; j++)
- {
- aFields.Add(pPDFForm->GetField(j, swName));
- }
- }
- }
-
- CFX_PtrArray fields;
-
- for (int i=0,sz=aFields.GetSize(); i<sz; i++)
- {
- CPDF_FormField* pField = (CPDF_FormField*)aFields[i];
-
- if (!bAllFields)
- if (pField->GetValue() == L"")
- continue;
-
- if (bNoPassWord)
- if (pField->GetFieldFlags() & 0x2000)
- continue;
-
- fields.Add((void*)pField);
- }
-
- return pInterForm->ExportFieldsToFDFFile(swFilePath, fields, TRUE);
+ // Unsafe, not supported.
+ return TRUE;
}
-//exports form fields an XFDF file to the local hard drive
-//comment: need reder supports
-//note:the last parameter can't be test
-//int CPDFSDK_Document::ExportAsXFDF(FX_BOOL bAllFields,FX_BOOL bNoPassWord,StringArray aFields,String cPath,FX_BOOL bAnnoatations);
-
FX_BOOL Document::exportAsXFDF(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
- ASSERT(m_pDocument != NULL);
-
- if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
-
+ // Unsafe, not supported.
return TRUE;
}
@@ -436,7 +342,7 @@ FX_BOOL Document::getField(OBJ_METHOD_PARAMS)
CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
ASSERT(pPDFForm != NULL);
- if (pPDFForm->CountFields(wideName) <= 0)
+ if (pPDFForm->CountFields(wideName) <= 0)
{
vRet.SetNull();
return TRUE;
@@ -452,7 +358,7 @@ FX_BOOL Document::getField(OBJ_METHOD_PARAMS)
CJS_Field * pJSField = (CJS_Field*)JS_GetPrivate(isolate,pFieldObj);
ASSERT(pJSField != NULL);
- Field * pField = (Field *)pJSField->GetEmbedObject();
+ Field * pField = (Field *)pJSField->GetEmbedObject();
ASSERT(pField != NULL);
pField->AttachField(this, wideName);
@@ -461,10 +367,7 @@ FX_BOOL Document::getField(OBJ_METHOD_PARAMS)
return TRUE;
}
-//Gets the name of the nth field in the document
-//comment:
-//note: the parameter nIndex, if it is not available
-
+//Gets the name of the nth field in the document
FX_BOOL Document::getNthFieldName(OBJ_METHOD_PARAMS)
{
ASSERT(m_pDocument != NULL);
@@ -483,90 +386,24 @@ FX_BOOL Document::getNthFieldName(OBJ_METHOD_PARAMS)
return FALSE;
vRet = pField->GetFullName();
- return TRUE;
+ return TRUE;
}
-//imports the specified fdf file.
-//comments: need reader suppport
-//note:once the cpath is illigl then a file dialog box pops up in order to ask user to chooose the file
-//int CPDFSDK_Document::importAnFDF(String cPath);
-
FX_BOOL Document::importAnFDF(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
- ASSERT(m_pDocument != NULL);
-
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
- m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
- m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
-
-
- CFX_WideString swPath;
-
- if (params.size() > 0)
- swPath = params[0];
-
- if (swPath.IsEmpty())
- {
- CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
- swPath = pEnv->JS_fieldBrowse();
- if(swPath.IsEmpty())
- return TRUE;
- }
- else
- {
- swPath = app::PDFPathToSysPath(swPath);
- }
-
- m_pDocument->SetFocusAnnot(NULL);
-
- CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm();
- ASSERT(pInterForm != NULL);
-
- if (!pInterForm->ImportFormFromFDFFile(swPath, TRUE))
- return FALSE;
-
- m_pDocument->SetChangeMark();
-// CPDFDoc_Environment* pEnv = m_pDocument->GetEnv();
-// ASSERT(pEnv != NULL);
-// IUndo* pUndo = IUndo::GetUndo(pEnv);
-// ASSERT(pUndo != NULL);
-// pUndo->Reset(m_pDocument);
-
+ // Unsafe, not supported.
return TRUE;
}
-//imports and specified XFDF file containing XML form data
-//comment: need reader supports
-//note: same as up
-//int CPDFSDK_Document::importAnFDF(String cPath)
-
FX_BOOL Document::importAnXFDF(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
- ASSERT(m_pDocument != NULL);
-
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
- m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
- m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
-
+ // Unsafe, not supported.
return TRUE;
}
-//imports and specified text file
-//commnet: need reader supports
-//note: same as up,when nRow is not rational,adobe is dumb for it.
-//int CPDFSDK_Document::importTextData(String cPath,int nRow);
-
FX_BOOL Document::importTextData(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
- ASSERT(m_pDocument != NULL);
-
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
- m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
- m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
-
+ // Unsafe, not supported.
return TRUE;
}
@@ -650,7 +487,7 @@ FX_BOOL Document::print(OBJ_METHOD_PARAMS)
}
}
}
- }
+ }
}
}
else
@@ -674,7 +511,7 @@ FX_BOOL Document::print(OBJ_METHOD_PARAMS)
}
ASSERT(m_pDocument != NULL);
-
+
if (CPDFDoc_Environment* pEnv = m_pDocument->GetEnv())
{
pEnv->JS_docprint(bUI, nStart, nEnd, bSilent, bShrinkToFit, bPrintAsImage, bReverse, bAnnotations);
@@ -691,7 +528,7 @@ FX_BOOL Document::removeField(OBJ_METHOD_PARAMS)
{
ASSERT(m_pDocument != NULL);
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
+ if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) return FALSE;
if (params.size() < 1)
@@ -725,7 +562,7 @@ FX_BOOL Document::removeField(OBJ_METHOD_PARAMS)
CPDF_Page* pPage = pWidget->GetPDFPage();
ASSERT(pPage != NULL);
-
+
CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(pPage);
pPageView->DeleteAnnot(pWidget);
@@ -745,7 +582,7 @@ FX_BOOL Document::resetForm(OBJ_METHOD_PARAMS)
{
ASSERT(m_pDocument != NULL);
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
+ if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
@@ -776,12 +613,12 @@ FX_BOOL Document::resetForm(OBJ_METHOD_PARAMS)
{
CJS_Value valElement(isolate);
aName.GetElement(i,valElement);
- CFX_WideString swVal = valElement.operator CFX_WideString();
-
+ CFX_WideString swVal = valElement.operator CFX_WideString();
+
for (int j=0,jsz=pPDFForm->CountFields(swVal); j<jsz; j++)
{
aFields.Add((void*)pPDFForm->GetField(j,swVal));
- }
+ }
}
if (aFields.GetSize() > 0)
@@ -804,14 +641,8 @@ FX_BOOL Document::resetForm(OBJ_METHOD_PARAMS)
FX_BOOL Document::saveAs(OBJ_METHOD_PARAMS)
{
-
- if (IsSafeMode(cc)) return TRUE;
-
- ASSERT(m_pDocument != NULL);
-
-// m_pDocument->DoSaveAs();
-
- return TRUE;
+ // Unsafe, not supported.
+ return TRUE;
}
@@ -853,7 +684,7 @@ FX_BOOL Document::submitForm(OBJ_METHOD_PARAMS)
bEmpty = CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue));
pValue = JS_GetObjectElement(isolate,pObj,L"aFields");
aFields.Attach(CJS_Value(isolate,pValue, GET_VALUE_TYPE(pValue)));
- }
+ }
CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)m_pDocument->GetInterForm();
ASSERT(pInterForm != NULL);
@@ -869,7 +700,7 @@ FX_BOOL Document::submitForm(OBJ_METHOD_PARAMS)
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
ASSERT(pRuntime != NULL);
-
+
if (pPDFInterForm->CheckRequiredFields())
{
pRuntime->BeginBlock();
@@ -880,7 +711,7 @@ FX_BOOL Document::submitForm(OBJ_METHOD_PARAMS)
return TRUE;
}
else
- {
+ {
CFX_PtrArray fieldObjects;
for (int i=0,sz=aFields.GetLength(); i<sz; i++)
@@ -907,7 +738,7 @@ FX_BOOL Document::submitForm(OBJ_METHOD_PARAMS)
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
ASSERT(pRuntime != NULL);
-
+
if (pPDFInterForm->CheckRequiredFields(&fieldObjects, TRUE))
{
pRuntime->BeginBlock();
@@ -943,7 +774,7 @@ FX_BOOL Document::ExtractFolderName(CPDFSDK_Document *pDoc,CFX_ByteString &strFo
}
FX_BOOL Document::bookmarkRoot(OBJ_PROP_PARAMS)
-{
+{
return TRUE;
}
@@ -957,7 +788,7 @@ FX_BOOL Document::mailDoc(OBJ_METHOD_PARAMS)
CFX_WideString cBcc = L"";
CFX_WideString cSubject = L"";
CFX_WideString cMsg = L"";
-
+
bUI = params.size()>=1?static_cast<FX_BOOL>(params[0]):TRUE;
cTo = params.size()>=2?(const wchar_t*)params[1].operator CFX_WideString():L"";
@@ -965,7 +796,7 @@ FX_BOOL Document::mailDoc(OBJ_METHOD_PARAMS)
cBcc = params.size()>=4?(const wchar_t*)params[3].operator CFX_WideString():L"";
cSubject = params.size()>=5?(const wchar_t*)params[4].operator CFX_WideString():L"";
cMsg = params.size()>=6?(const wchar_t*)params[5].operator CFX_WideString():L"";
-
+
v8::Isolate* isolate = GetIsolate(cc);
if(params.size()>=1 && params[0].GetType() == VT_object)
@@ -989,7 +820,7 @@ FX_BOOL Document::mailDoc(OBJ_METHOD_PARAMS)
pValue = JS_GetObjectElement(isolate,pObj, L"cMsg");
cMsg = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
-
+
}
CJS_Context* pContext = (CJS_Context*)cc;
@@ -1064,7 +895,7 @@ FX_BOOL Document::info(OBJ_PROP_PARAMS)
JS_PutObjectString(isolate,pObj, L"ModDate", cwModDate);
JS_PutObjectString(isolate,pObj, L"Trapped", cwTrapped);
-// It's to be compatible to non-standard info dictionary.
+// It's to be compatible to non-standard info dictionary.
FX_POSITION pos = pDictionary->GetStartPos();
while(pos)
{
@@ -1155,7 +986,7 @@ FX_BOOL Document::delay(OBJ_PROP_PARAMS)
m_bDelay = b;
- if (m_bDelay)
+ if (m_bDelay)
{
for (int i=0,sz=m_DelayData.GetSize(); i<sz; i++)
delete m_DelayData.GetAt(i);
@@ -1356,7 +1187,7 @@ FX_BOOL Document::filesize(OBJ_PROP_PARAMS)
FX_BOOL Document::mouseX(OBJ_PROP_PARAMS)
{
- return TRUE;
+ return TRUE;
}
FX_BOOL Document::mouseY(OBJ_PROP_PARAMS)
@@ -1487,7 +1318,7 @@ FX_BOOL Document::pageWindowRect(OBJ_PROP_PARAMS)
}
FX_BOOL Document::layout(OBJ_PROP_PARAMS)
-{
+{
return TRUE;
}
@@ -1501,8 +1332,8 @@ FX_BOOL Document::closeDoc(OBJ_METHOD_PARAMS)
ASSERT(m_pDocument != NULL);
-
-
+
+
return TRUE;
}
@@ -1537,7 +1368,7 @@ FX_BOOL Document::getAnnots3D(OBJ_METHOD_PARAMS)
}
FX_BOOL Document::getOCGs(OBJ_METHOD_PARAMS)
-{
+{
return TRUE;
}
@@ -1577,7 +1408,7 @@ void IconTree::InsertIconElement(IconElement* pNewIcon)
void IconTree::DeleteIconTree()
{
if (!m_pHead || !m_pEnd)return;
-
+
IconElement* pTemp = NULL;
while(m_pEnd != m_pHead)
{
@@ -1614,12 +1445,12 @@ IconElement* IconTree::operator [](int iIndex)
void IconTree::DeleteIconElement(CFX_WideString swIconName)
{
IconElement* pTemp = m_pHead;
- int iLoopCount = m_iLength;
+ int iLoopCount = m_iLength;
for (int i = 0; i < iLoopCount - 1; i++)
{
if (pTemp == m_pEnd)
break;
-
+
if (m_pHead->IconName == swIconName)
{
m_pHead = m_pHead->NextIcon;
@@ -1662,7 +1493,7 @@ FX_BOOL Document::addIcon(OBJ_METHOD_PARAMS)
ASSERT(pRuntime != NULL);
CFX_WideString swIconName = params[0].operator CFX_WideString();
-
+
JSFXObject pJSIcon = (JSFXObject)params[1];
if (JS_GetObjDefnID(pJSIcon) != JS_GetObjDefnID(*pRuntime, L"Icon")) return FALSE;
@@ -1702,10 +1533,10 @@ FX_BOOL Document::icons(OBJ_PROP_PARAMS)
for (int i = 0; i < iIconTreeLength; i++)
{
pIconElement = (*m_pIconTree)[i];
-
+
JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"Icon"));
if (pObj.IsEmpty()) return FALSE;
-
+
CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj);
if (!pJS_Icon) return FALSE;
@@ -1737,10 +1568,10 @@ FX_BOOL Document::getIcon(OBJ_METHOD_PARAMS)
if ((*m_pIconTree)[i]->IconName == swIconName)
{
Icon* pRetIcon = (*m_pIconTree)[i]->IconStream;
-
+
JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"Icon"));
if (pObj.IsEmpty()) return FALSE;
-
+
CJS_Icon * pJS_Icon = (CJS_Icon *)JS_GetPrivate(pObj);
if (!pJS_Icon) return FALSE;
@@ -1768,71 +1599,8 @@ FX_BOOL Document::removeIcon(OBJ_METHOD_PARAMS)
FX_BOOL Document::createDataObject(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
- ASSERT(m_pDocument != NULL);
-
- CFX_WideString swName = L"";
- CFX_ByteString sbName = "";
- CFX_WideString swValue = L"";
- CFX_WideString swMIMEType = L"";
- CFX_WideString swCryptFilter = L"";
- CFX_ByteString sbFileValue = "";
-
- int iParamSize = params.size();
- for (int i = 0; i < iParamSize; i++)
- {
- if (i == 0)
- swName = params[0];
- if (i == 1)
- swValue = params[1];
- if (i == 2)
- swMIMEType = params[2];
- if (i == 3)
- swCryptFilter = params[4];
- }
-
- FILE* pFile = NULL;
-
- //CFileStatus fileStatus;
- const int BUFSIZE = 17;
- FX_BYTE buf[BUFSIZE];
- FX_BYTE *pBuffer = NULL;
- char* pBuf = NULL;
- int nFileSize = 0;
- sbFileValue = CFX_ByteString::FromUnicode(swValue);
- sbName = CFX_ByteString::FromUnicode(swName);
- int iBufLength = sbFileValue.GetLength();
- pBuf = (char*)malloc(sizeof(char) * iBufLength);
- pBuf = sbFileValue.GetBuffer(iBufLength);
-
- if ( NULL == (pFile = FXSYS_fopen( sbName.GetBuffer(sbName.GetLength()), "wb+" )) )
- {
- return FALSE;
- }
-
- fwrite( pBuf, sizeof(char), iBufLength, pFile );
- fclose( pFile );
- pFile = NULL;
-
- pFile = FXSYS_fopen( sbName.GetBuffer(sbName.GetLength()), "rb+" );
- fseek( pFile, 0, SEEK_END );
- nFileSize = ftell( pFile );
-
- pBuffer = new FX_BYTE[nFileSize];
- fseek( pFile, 0, SEEK_SET );
- size_t s = fread( pBuffer, sizeof(char), nFileSize, pFile );
- if(s == 0)
- {
- delete[] pBuffer;
- return FALSE;
- }
-
- CRYPT_MD5Generate(pBuffer, nFileSize, buf);
- buf[BUFSIZE - 1] = 0;
- CFX_WideString csCheckSum((FX_LPCWSTR)buf, 16);
- delete[] pBuffer;
-
- return TRUE;
+ // Unsafe, not implemented.
+ return TRUE;
}
FX_BOOL Document::media(OBJ_PROP_PARAMS)
@@ -1844,7 +1612,7 @@ FX_BOOL Document::calculateNow(OBJ_METHOD_PARAMS)
{
ASSERT(m_pDocument != NULL);
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
+ if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) return FALSE;
@@ -1861,8 +1629,6 @@ FX_BOOL Document::Collab(OBJ_PROP_PARAMS)
FX_BOOL Document::getPageNthWord(OBJ_METHOD_PARAMS)
{
- //if (IsSafeMode(cc)) return TRUE;
-
ASSERT(m_pDocument != NULL);
if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
@@ -1925,8 +1691,6 @@ FX_BOOL Document::getPageNthWord(OBJ_METHOD_PARAMS)
FX_BOOL Document::getPageNthWordQuads(OBJ_METHOD_PARAMS)
{
- //if (IsSafeMode(cc)) return TRUE;
-
ASSERT(m_pDocument != NULL);
if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) return FALSE;
@@ -2020,7 +1784,7 @@ int Document::CountWords(CPDF_TextObject* pTextObj)
if (ISLATINWORD(unicode) && bIsLatin)
continue;
-
+
bIsLatin = ISLATINWORD(unicode);
if (unicode != 0x20)
nWords++;
@@ -2057,10 +1821,10 @@ CFX_WideString Document::GetObjWordStr(CPDF_TextObject* pTextObj, int nWordIndex
{
}
else
- {
+ {
bIsLatin = ISLATINWORD(unicode);
if (unicode != 0x20)
- nWords++;
+ nWords++;
}
if (nWords-1 == nWordIndex)
@@ -2093,28 +1857,17 @@ FX_BOOL Document::zoomType(OBJ_PROP_PARAMS)
FX_BOOL Document::deletePages(OBJ_METHOD_PARAMS)
{
-
-
-
-
-
-
v8::Isolate* isolate = GetIsolate(cc);
-// if (pEnv->GetAppName().Compare(PHANTOM) != 0)
-// return TRUE;
-
- //if (IsSafeMode(cc)) return TRUE;
-
ASSERT(m_pDocument != NULL);
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
+ if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
m_pDocument->GetPermissions(FPDFPERM_ASSEMBLE))) return FALSE;
int iSize = params.size();
-
+
int nStart = 0;
int nEnd = 0;
-
+
if (iSize < 1)
{
}
@@ -2150,336 +1903,33 @@ FX_BOOL Document::deletePages(OBJ_METHOD_PARAMS)
if (nEnd < nStart) nEnd = nStart;
-
+
return TRUE;
}
FX_BOOL Document::extractPages(OBJ_METHOD_PARAMS)
{
-
-
-
-
-
-
- v8::Isolate* isolate = GetIsolate(cc);
-
- if (IsSafeMode(cc)) return TRUE;
-
- ASSERT(m_pDocument != NULL);
-
- if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT)) return FALSE;
-
- int iSize = params.size();
-
- int nTotal = m_pDocument->GetPageCount();
- int nStart = 0;
- int nEnd = nTotal - 1;
-
- CFX_WideString swFilePath;
-
- if (iSize < 1)
- {
- }
- else if (iSize == 1)
- {
- if (params[0].GetType() == VT_object)
- {
- JSObject pObj = (JSObject )params[0];
- v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"nStart");
- nStart = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
-
- pValue = JS_GetObjectElement(isolate,pObj, L"nEnd");
- nEnd = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
-
- pValue = JS_GetObjectElement(isolate,pObj, L"cPath");
- swFilePath = CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
- }
- else
- {
- nStart = (int)params[0];
- }
- }
- else if (iSize == 2)
- {
- nStart = (int)params[0];
- nEnd = (int)params[1];
- }
- else
- {
- nStart = (int)params[0];
- nEnd = (int)params[1];
- swFilePath = params[2].operator CFX_WideString();
- }
-
- if (nEnd < nStart)
- nEnd = nStart;
-
- CPDF_Document *pNewDoc = new CPDF_Document;
- pNewDoc->CreateNewDoc();
-
- CFX_WordArray array;
- for (int i=nStart; i<=nEnd; i++)
- array.Add(i);
-
-// m_pDocument->ExtractPages(array, pNewDoc);
-
- if (swFilePath.IsEmpty())
- {
-
- }
- else
- {
- swFilePath = app::PDFPathToSysPath(swFilePath);
- CPDF_Creator PDFCreater(pNewDoc);
- PDFCreater.Create(swFilePath);
- delete pNewDoc;
-// pEnv->OpenDocument(swFilePath);
- vRet.SetNull();
- }
-
- return TRUE;
+ // Unsafe, not supported.
+ return TRUE;
}
FX_BOOL Document::insertPages(OBJ_METHOD_PARAMS)
{
-
-
-
-
-
-
- v8::Isolate* isolate = GetIsolate(cc);
-
- if (IsSafeMode(cc)) return TRUE;
-
- ASSERT(m_pDocument != NULL);
-
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
- m_pDocument->GetPermissions(FPDFPERM_ASSEMBLE))) return FALSE;
-
- int iSize = params.size();
-
- int nStart = 0;
- int nEnd = 0;
- int nPage = 0;
-
- CFX_WideString swFilePath;
-
- if (iSize < 1)
- {
- }
- else if (iSize == 1)
- {
- if (params[0].GetType() == VT_object)
- {
- JSObject pObj = (JSObject )params[0];
-
- v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"nPage");
- nPage = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
-
- pValue = JS_GetObjectElement(isolate,pObj, L"cPath");
- swFilePath = CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
-
- pValue = JS_GetObjectElement(isolate,pObj, L"nStart");
- nStart = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
-
- pValue = JS_GetObjectElement(isolate,pObj, L"nEnd");
- nEnd = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
- }
- else
- {
- nPage = (int)params[0];
- }
- }
- else
- {
- nPage = (int)params[0];
-
- if (iSize >= 2)
- swFilePath = params[1].operator CFX_WideString();
-
- if (iSize >= 3)
- nStart = (int)params[2];
-
- if (iSize >= 4)
- nEnd = (int)params[3];
- }
-
- nPage++;
-
- if (nPage < 0)
- nPage = 0;
-
- if (nPage > m_pDocument->GetPageCount())
- nPage = m_pDocument->GetPageCount();
-
- if (swFilePath.IsEmpty()) return FALSE;
-
- swFilePath = app::PDFPathToSysPath(swFilePath);
-
- CPDF_Parser pdfParser;
- pdfParser.StartParse(swFilePath, FALSE);
- CPDF_Document* pSrcDoc = pdfParser.GetDocument();
-
- if (!pSrcDoc)
- {
- pdfParser.CloseParser();
- return FALSE;
- }
-
- int nTotal = pSrcDoc->GetPageCount();
-
- if (nStart < 0) nStart = 0;
- if (nStart >= nTotal) nStart = nTotal - 1;
-
- if (nEnd < 0) nEnd = 0;
- if (nEnd >= nTotal) nEnd = nTotal - 1;
-
- if (nEnd < nStart) nEnd = nStart;
-
- CFX_WordArray array;
- for (int i=nStart; i<=nEnd; i++)
- array.Add(i);
-
-// m_pDocument->InsertPages(nPage, pSrcDoc, array);
-
- pdfParser.CloseParser();
-
- return TRUE;
+ // Unsafe, not supported.
+ return TRUE;
}
FX_BOOL Document::replacePages(OBJ_METHOD_PARAMS)
{
-
-
-
-
-
-
- v8::Isolate* isolate = GetIsolate(cc);
-
- if (IsSafeMode(cc)) return TRUE;
-
- ASSERT(m_pDocument != NULL);
-
- if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
- m_pDocument->GetPermissions(FPDFPERM_ASSEMBLE))) return FALSE;
-
- int iSize = params.size();
-
- int nStart = -1;
- int nEnd = -1;
- int nPage = 0;
-
- CFX_WideString swFilePath;
-
- if (iSize < 1)
- {
- }
- else if (iSize == 1)
- {
- if (params[0].GetType() == VT_object)
- {
- JSObject pObj = (JSObject )params[0];
-
- v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj, L"nPage");
- nPage = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
-
- pValue = JS_GetObjectElement(isolate,pObj, L"cPath");
- swFilePath = CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
-
- pValue = JS_GetObjectElement(isolate,pObj, L"nStart");
- nStart = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
-
- pValue = JS_GetObjectElement(isolate,pObj, L"nEnd");
- nEnd = (int)CJS_Value(m_isolate,pValue,GET_VALUE_TYPE(pValue));
- }
- else
- {
- nPage = (int)params[0];
- }
- }
- else
- {
- nPage = (int)params[0];
-
- if (iSize >= 2)
- swFilePath = params[1].operator CFX_WideString();
-
- if (iSize >= 3)
- nStart = (int)params[2];
-
- if (iSize >= 4)
- nEnd = (int)params[3];
- }
-
- if (nPage < 0)
- nPage = 0;
-
- if (nPage >= m_pDocument->GetPageCount())
- nPage = m_pDocument->GetPageCount() - 1;
-
- if (swFilePath.IsEmpty()) return FALSE;
-
- swFilePath = app::PDFPathToSysPath(swFilePath);
-
- CPDF_Parser pdfParser;
- pdfParser.StartParse(swFilePath, FALSE);
- CPDF_Document* pSrcDoc = pdfParser.GetDocument();
-
- if (!pSrcDoc)
- {
- pdfParser.CloseParser();
- return FALSE;
- }
-
- int nTotal = pSrcDoc->GetPageCount();
-
- if (nStart < 0)
- {
- if (nEnd < 0)
- {
- nStart = 0;
- nEnd = nTotal - 1;
- }
- else
- {
- nStart = 0;
- }
- }
- else
- {
- if (nEnd < 0)
- {
- nEnd = nStart;
- }
- else
- {
- if (nStart >= nTotal) nStart = nTotal - 1;
- if (nEnd >= nTotal) nEnd = nTotal - 1;
-
- if (nEnd < nStart) nEnd = nStart;
- }
- }
-
- CFX_WordArray array;
- for (int i=nStart; i<=nEnd; i++)
- array.Add(i);
-
-// m_pDocument->ReplacePages(nPage, pSrcDoc, array);
-
- pdfParser.CloseParser();
-
- return TRUE;
+ // Unsafe, not supported.
+ return TRUE;
}
FX_BOOL Document::getURL(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
-
- return TRUE;
+ // Unsafe, not supported.
+ return TRUE;
}
void Document::AddDelayData(CJS_DelayData* pData)
@@ -2519,7 +1969,7 @@ void Document::AddDelayAnnotData(CJS_AnnotObj *pData)
void Document::DoAnnotDelay()
{
CFX_DWordArray DelArray;
-
+
for (int j=DelArray.GetSize()-1; j>=0; j--)
{
m_DelayData.RemoveAt(DelArray[j]);
diff --git a/fpdfsdk/src/javascript/JS_Object.cpp b/fpdfsdk/src/javascript/JS_Object.cpp
index 8a019d40e8..6c0c868e4c 100644
--- a/fpdfsdk/src/javascript/JS_Object.cpp
+++ b/fpdfsdk/src/javascript/JS_Object.cpp
@@ -87,13 +87,6 @@ void CJS_EmbedObj::EndTimer(CJS_Timer* pTimer)
delete pTimer;
}
-FX_BOOL CJS_EmbedObj::IsSafeMode(IFXJS_Context* cc)
-{
- ASSERT(cc != NULL);
-
- return TRUE;
-}
-
/* --------------------------------- CJS_Object --------------------------------- */
void FreeObject(const v8::WeakCallbackData<v8::Object, CJS_Object>& data)
{
diff --git a/fpdfsdk/src/javascript/app.cpp b/fpdfsdk/src/javascript/app.cpp
index cac129de46..c1dd41faff 100644
--- a/fpdfsdk/src/javascript/app.cpp
+++ b/fpdfsdk/src/javascript/app.cpp
@@ -1,7 +1,7 @@
// 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 "../../include/javascript/JavaScript.h"
@@ -45,7 +45,7 @@ TimerObj::TimerObj(CJS_Object* pJSObject)
: CJS_EmbedObj(pJSObject),
m_pTimer(NULL)
{
-
+
}
TimerObj::~TimerObj()
@@ -89,7 +89,7 @@ BEGIN_JS_STATIC_PROP(CJS_App)
JS_STATIC_PROP_ENTRY(runtimeHighlight)
JS_STATIC_PROP_ENTRY(viewerType)
JS_STATIC_PROP_ENTRY(viewerVariation)
- JS_STATIC_PROP_ENTRY(viewerVersion)
+ JS_STATIC_PROP_ENTRY(viewerVersion)
END_JS_STATIC_PROP()
BEGIN_JS_STATIC_METHOD(CJS_App)
@@ -104,7 +104,7 @@ BEGIN_JS_STATIC_METHOD(CJS_App)
JS_STATIC_METHOD_ENTRY(goBack, 0)
JS_STATIC_METHOD_ENTRY(goForward, 0)
JS_STATIC_METHOD_ENTRY(launchURL, 0)
- JS_STATIC_METHOD_ENTRY(mailMsg, 0)
+ JS_STATIC_METHOD_ENTRY(mailMsg, 0)
JS_STATIC_METHOD_ENTRY(newFDF, 0)
JS_STATIC_METHOD_ENTRY(newDoc, 0)
JS_STATIC_METHOD_ENTRY(openDoc, 0)
@@ -140,29 +140,29 @@ FX_BOOL app::activeDocs(OBJ_PROP_PARAMS)
CJS_Context* pContext = (CJS_Context *)cc;
ASSERT(pContext != NULL);
-
+
CPDFDoc_Environment* pApp = pContext->GetReaderApp();
ASSERT(pApp != NULL);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
ASSERT(pRuntime != NULL);
-
+
CPDFSDK_Document* pCurDoc = pContext->GetReaderDocument();
-
+
CJS_Array aDocs(pRuntime->GetIsolate());
// int iNumDocs = pApp->CountDocuments();
-
-// for(int iIndex = 0; iIndex<iNumDocs; iIndex++)
-// {
+
+// for(int iIndex = 0; iIndex<iNumDocs; iIndex++)
+// {
CPDFSDK_Document* pDoc = pApp->GetCurrentDoc();
if (pDoc)
{
CJS_Document * pJSDocument = NULL;
-
+
if (pDoc == pCurDoc)
{
JSFXObject pObj = JS_GetThisObj(*pRuntime);
-
+
if (JS_GetObjDefnID(pObj) == JS_GetObjDefnID(*pRuntime, L"Document"))
{
pJSDocument = (CJS_Document*)JS_GetPrivate(pRuntime->GetIsolate(),pObj);
@@ -173,15 +173,15 @@ FX_BOOL app::activeDocs(OBJ_PROP_PARAMS)
JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime,L"Document"));
pJSDocument = (CJS_Document*)JS_GetPrivate(pRuntime->GetIsolate(),pObj);
ASSERT(pJSDocument != NULL);
-
-
+
+
// pDocument->AttachDoc(pDoc);
}
-
+
aDocs.SetElement(0,CJS_Value(pRuntime->GetIsolate(),pJSDocument));
}
// }
-
+
if (aDocs.GetLength() > 0)
vp << aDocs;
else
@@ -201,31 +201,31 @@ FX_BOOL app::calculate(OBJ_PROP_PARAMS)
CJS_Context* pContext = (CJS_Context*)cc;
ASSERT(pContext != NULL);
-
+
CPDFDoc_Environment* pApp = pContext->GetReaderApp();
ASSERT(pApp != NULL);
-
+
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
ASSERT(pRuntime != NULL);
CJS_Array aDocs(pRuntime->GetIsolate());
-// int iNumDocs = pApp->CountDocuments();
-//
-// for (int iIndex = 0;iIndex < iNumDocs; iIndex++)
-// {
+// int iNumDocs = pApp->CountDocuments();
+//
+// for (int iIndex = 0;iIndex < iNumDocs; iIndex++)
+// {
if (CPDFSDK_Document* pDoc = pApp->GetCurrentDoc())
{
CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDoc->GetInterForm();
ASSERT(pInterForm != NULL);
pInterForm->EnableCalculate((FX_BOOL)m_bCalculate);
- }
+ }
// }
}
else
{
vp << (bool)m_bCalculate;
}
-
+
return TRUE;
}
@@ -236,30 +236,18 @@ FX_BOOL app::formsVersion(OBJ_PROP_PARAMS)
vp << JS_NUM_FORMSVERSION;
return TRUE;
}
-
+
return FALSE;
}
FX_BOOL app::viewerType(OBJ_PROP_PARAMS)
{
-
-
-
-
-
-
if (vp.IsGetting())
{
-// if (pApp->GetAppName() == PHANTOM)
-// vp << JS_STR_VIEWERTYPE_STANDARD;
-// else
-// vp << JS_STR_VIEWERTYPE_READER;
vp << L"unknown";
-
- //vp << pApp->GetAppTitle();
return TRUE;
}
-
+
return FALSE;
}
@@ -270,7 +258,7 @@ FX_BOOL app::viewerVariation(OBJ_PROP_PARAMS)
vp << JS_STR_VIEWERVARIATION;
return TRUE;
}
-
+
return FALSE;
}
@@ -281,7 +269,7 @@ FX_BOOL app::viewerVersion(OBJ_PROP_PARAMS)
vp << JS_STR_VIEWERVERSION;
return TRUE;
}
-
+
return FALSE;
}
@@ -292,7 +280,7 @@ FX_BOOL app::platform(OBJ_PROP_PARAMS)
vp << JS_STR_PLATFORM;
return TRUE;
}
-
+
return FALSE;
}
@@ -303,7 +291,7 @@ FX_BOOL app::language(OBJ_PROP_PARAMS)
vp << JS_STR_LANGUANGE;
return TRUE;
}
-
+
return FALSE;
}
@@ -425,7 +413,7 @@ FX_BOOL app::alert(OBJ_METHOD_PARAMS)
swMsg = params[0];
}
swTitle = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSALERT);
-
+
for(int i = 1;i<iSize;i++)
{
if (i == 1)
@@ -433,7 +421,7 @@ FX_BOOL app::alert(OBJ_METHOD_PARAMS)
if (i == 2)
iType = int(params[i]);
if (i == 3)
- swTitle = params[i];
+ swTitle = params[i];
}
}
@@ -445,7 +433,7 @@ FX_BOOL app::alert(OBJ_METHOD_PARAMS)
pRuntime->BeginBlock();
vRet = MsgBox(pRuntime->GetReaderApp(), JSGetPageView(cc),swMsg,swTitle,iType,iIcon);
pRuntime->EndBlock();
-
+
return TRUE;
}
@@ -474,7 +462,7 @@ FX_BOOL app::findComponent(OBJ_METHOD_PARAMS)
}
FX_BOOL app::popUpMenuEx(OBJ_METHOD_PARAMS)
-{
+{
return FALSE;
}
@@ -485,26 +473,26 @@ FX_BOOL app::fs(OBJ_PROP_PARAMS)
FX_BOOL app::setInterval(OBJ_METHOD_PARAMS)
{
- if (params.size() > 2 || params.size() == 0)
+ if (params.size() > 2 || params.size() == 0)
{
- sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
+ sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
return FALSE;
}
-
+
CJS_Context* pContext = (CJS_Context*)cc;
ASSERT(pContext != NULL);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
ASSERT(pRuntime != NULL);
CFX_WideString script = params.size() > 0 ? (FX_LPCWSTR)(params[0].operator CFX_WideString()) : L"";
- if (script.IsEmpty())
+ if (script.IsEmpty())
{
sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSAFNUMBER_KEYSTROKE);
return TRUE;
}
FX_DWORD dwInterval = params.size() > 1 ? (int)params[1] : 1000;
-
+
CPDFDoc_Environment* pApp = pRuntime->GetReaderApp();
ASSERT(pApp);
CJS_Timer* pTimer = new CJS_Timer(this, pApp);
@@ -516,19 +504,19 @@ FX_BOOL app::setInterval(OBJ_METHOD_PARAMS)
pTimer->SetTimeOut(0);
// pTimer->SetStartTime(GetTickCount());
pTimer->SetJSTimer(dwInterval);
-
+
JSFXObject pRetObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"TimerObj"));
-
+
CJS_TimerObj* pJS_TimerObj = (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetIsolate(),pRetObj);
ASSERT(pJS_TimerObj != NULL);
-
+
TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject();
ASSERT(pTimerObj != NULL);
-
- pTimerObj->SetTimer(pTimer);
-
+
+ pTimerObj->SetTimer(pTimer);
+
vRet = pRetObj;
-
+
return TRUE;
}
@@ -536,29 +524,29 @@ FX_BOOL app::setTimeOut(OBJ_METHOD_PARAMS)
{
if (params.size() > 2 || params.size() == 0)
{
- sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
+ sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
return FALSE;
}
-
+
CJS_Context* pContext = (CJS_Context*)cc;
ASSERT(pContext != NULL);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
ASSERT(pRuntime != NULL);
-
+
CFX_WideString script = params.size() > 0 ? (FX_LPCWSTR)(params[0].operator CFX_WideString()) : L"";
- if (script.IsEmpty())
+ if (script.IsEmpty())
{
sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSAFNUMBER_KEYSTROKE);
return TRUE;
}
-
+
FX_DWORD dwTimeOut = params.size() > 1 ? (int)params[1] : 1000;
-
+
CPDFDoc_Environment* pApp = pRuntime->GetReaderApp();
ASSERT(pApp);
CJS_Timer* pTimer = new CJS_Timer(this, pApp);
m_aTimer.Add(pTimer);
-
+
pTimer->SetType(1);
pTimer->SetRuntime(pRuntime);
pTimer->SetJScript(script);
@@ -566,20 +554,20 @@ FX_BOOL app::setTimeOut(OBJ_METHOD_PARAMS)
// pTimer->SetStartTime(GetTickCount());
// pTimer->SetJSTimer(1000);
pTimer->SetJSTimer(dwTimeOut);
-
+
JSFXObject pRetObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime, L"TimerObj"));
// ASSERT(pRetObj != NULL);
-
+
CJS_TimerObj* pJS_TimerObj = (CJS_TimerObj*)JS_GetPrivate(pRuntime->GetIsolate(),pRetObj);
ASSERT(pJS_TimerObj != NULL);
-
+
TimerObj* pTimerObj = (TimerObj*)pJS_TimerObj->GetEmbedObject();
ASSERT(pTimerObj != NULL);
-
- pTimerObj->SetTimer(pTimer);
-
+
+ pTimerObj->SetTimer(pTimer);
+
vRet = pRetObj;
-
+
return TRUE;
}
@@ -589,13 +577,13 @@ FX_BOOL app::clearTimeOut(OBJ_METHOD_PARAMS)
ASSERT(pContext != NULL);
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
ASSERT(pRuntime != NULL);
-
+
if (params.size() != 1)
{
- sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
+ sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
return FALSE;
}
-
+
if (params[0].GetType() == VT_fxobject)
{
JSFXObject pObj = (JSFXObject)params[0];
@@ -609,7 +597,7 @@ FX_BOOL app::clearTimeOut(OBJ_METHOD_PARAMS)
if (CJS_Timer* pTimer = pTimerObj->GetTimer())
{
pTimer->KillJSTimer();
-
+
for (int i=0,sz=m_aTimer.GetSize(); i<sz; i++)
{
if (m_aTimer[i] == pTimer)
@@ -618,7 +606,7 @@ FX_BOOL app::clearTimeOut(OBJ_METHOD_PARAMS)
break;
}
}
-
+
delete pTimer;
pTimerObj->SetTimer(NULL);
}
@@ -627,7 +615,7 @@ FX_BOOL app::clearTimeOut(OBJ_METHOD_PARAMS)
}
}
}
-
+
return TRUE;
}
@@ -640,10 +628,10 @@ FX_BOOL app::clearInterval(OBJ_METHOD_PARAMS)
if (params.size() != 1)
{
- sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
+ sError = JSGetStringFromID((CJS_Context*)cc, IDS_STRING_JSPARAMERROR);
return FALSE;
}
-
+
if (params[0].GetType() == VT_fxobject)
{
JSFXObject pObj = (JSFXObject)params[0];
@@ -657,7 +645,7 @@ FX_BOOL app::clearInterval(OBJ_METHOD_PARAMS)
if (CJS_Timer* pTimer = pTimerObj->GetTimer())
{
pTimer->KillJSTimer();
-
+
for (int i=0,sz=m_aTimer.GetSize(); i<sz; i++)
{
if (m_aTimer[i] == pTimer)
@@ -666,7 +654,7 @@ FX_BOOL app::clearInterval(OBJ_METHOD_PARAMS)
break;
}
}
-
+
delete pTimer;
pTimerObj->SetTimer(NULL);
}
@@ -675,12 +663,12 @@ FX_BOOL app::clearInterval(OBJ_METHOD_PARAMS)
}
}
}
-
+
return TRUE;
}
FX_BOOL app::execMenuItem(OBJ_METHOD_PARAMS)
-{
+{
return FALSE;
}
@@ -701,7 +689,7 @@ void app::TimerProc(CJS_Timer* pTimer)
}
break;
}
-
+
}
void app::RunJsScript(CJS_Runtime* pRuntime,const CFX_WideString& wsScript)
@@ -721,24 +709,14 @@ void app::RunJsScript(CJS_Runtime* pRuntime,const CFX_WideString& wsScript)
FX_BOOL app::goBack(OBJ_METHOD_PARAMS)
{
-
-
-
-
-
-
- return TRUE;
+ // Not supported.
+ return TRUE;
}
FX_BOOL app::goForward(OBJ_METHOD_PARAMS)
-{
-
-
-
-
-
-
- return TRUE;
+{
+ // Not supported.
+ return TRUE;
}
FX_BOOL app::mailMsg(OBJ_METHOD_PARAMS)
@@ -762,7 +740,7 @@ FX_BOOL app::mailMsg(OBJ_METHOD_PARAMS)
cCc = params.size()>=3?(const wchar_t*)(FX_LPCWSTR)params[2].operator CFX_WideString():L"";
cBcc = params.size()>=4?(const wchar_t*)(FX_LPCWSTR)params[3].operator CFX_WideString():L"";
cSubject = params.size()>=5?(const wchar_t*)(FX_LPCWSTR)params[4].operator CFX_WideString():L"";
- cMsg = params.size()>=6?(const wchar_t*)(FX_LPCWSTR)params[5].operator CFX_WideString():L"";
+ cMsg = params.size()>=6?(const wchar_t*)(FX_LPCWSTR)params[5].operator CFX_WideString():L"";
if (params[0].GetType() == VT_object)
@@ -787,8 +765,8 @@ FX_BOOL app::mailMsg(OBJ_METHOD_PARAMS)
pValue = JS_GetObjectElement(isolate,pObj, L"cMsg");
cMsg = CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue)).operator CFX_WideString();
}
-
-
+
+
CJS_Runtime* pRuntime = pContext->GetJSRuntime();
ASSERT(pRuntime != NULL);
@@ -807,25 +785,8 @@ FX_BOOL app::mailMsg(OBJ_METHOD_PARAMS)
FX_BOOL app::launchURL(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
-
- CJS_Context* pContext = (CJS_Context*)cc;
- ASSERT(pContext != NULL);
-
-
-
-
- CFX_WideString swURL = params[0].operator CFX_WideString();
-
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
- ASSERT(pRuntime != NULL);
-
- pRuntime->BeginBlock();
-// FX_BOOL bRet = pApp->OpenURL(swURL);
- pRuntime->EndBlock();
-
-// return bRet;
- return FALSE;
+ // Unsafe, not supported.
+ return TRUE;
}
FX_BOOL app::runtimeHighlight(OBJ_PROP_PARAMS)
@@ -855,90 +816,14 @@ FX_BOOL app::popUpMenu(OBJ_METHOD_PARAMS)
FX_BOOL app::browseForDoc(OBJ_METHOD_PARAMS)
{
- //This method may trigger a "file save" dialog,while enable user to save contents of the document.
- //Such action is considered to be unsafe.
- if (IsSafeMode(cc)) return TRUE;
-
- v8::Isolate* isolate = GetIsolate(cc);
-
- bool bSave = false;
- CFX_ByteString cFilenameInit = CFX_ByteString();
- CFX_ByteString cFSInit = CFX_ByteString();
-
- if(params.size()>0 && (params[0].GetType() == VT_object))
- {
- JSObject pObj = (JSObject )params[0];
-
- v8::Handle<v8::Value> pValue = JS_GetObjectElement(isolate,pObj,L"bSave");
- bSave = (bool)CJS_Value(isolate,pValue,GET_VALUE_TYPE(pValue));
-
- pValue = JS_GetObjectElement(isolate, pObj,L"cFilenameInit");
- {
- CJS_Value t = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue));
- cFilenameInit = t.operator CFX_ByteString();
- }
-
- pValue = JS_GetObjectElement(isolate,pObj,L"cFSInit");
- {
- CJS_Value t = CJS_Value(isolate, pValue, GET_VALUE_TYPE(pValue));
- cFSInit = t.operator CFX_ByteString();
- }
- }
- else
- {
- if(params.size() >= 1)
- {
- bSave = (bool)params[0];
- }
- if(params.size() >= 2)
- {
- CJS_Value t = params[1];
- cFilenameInit = t.operator CFX_ByteString();
- }
- if(params.size() >= 3)
- {
- CJS_Value t = params[2];
- cFSInit = t.operator CFX_ByteString();
- }
- }
- CJS_Context* pContext = (CJS_Context *)cc;
- ASSERT(pContext != NULL);
-
- CPDFDoc_Environment* pApp = pContext->GetReaderApp();
- ASSERT(pApp != NULL);
-
- CJS_Runtime* pRuntime = pContext->GetJSRuntime();
- ASSERT(pRuntime != NULL);
-
- CFX_WideString wsFileNameInit = CFX_WideString::FromLocal(cFilenameInit);
- CFX_WideString wsFSInit = CFX_WideString::FromLocal(cFSInit);
- CFX_WideString wsFilePath = pApp->JS_appbrowseForDoc(bSave, wsFileNameInit);
- if(wsFilePath.IsEmpty())
- return FALSE;
-
- JSFXObject pRetObj = JS_NewFxDynamicObj(*pRuntime, pContext, -1);
-
- JS_PutObjectString(isolate,pRetObj, L"cPath", SysPathToPDFPath(wsFilePath));
- JS_PutObjectString(isolate,pRetObj, L"cURL", SysPathToPDFPath(wsFilePath));
-
- if (!cFSInit.IsEmpty())
- {
- JS_PutObjectString(isolate,pRetObj, L"cFS", CFX_WideString::FromLocal(cFSInit.GetBuffer(cFSInit.GetLength())));
- }
- else
- {
- JS_PutObjectString(isolate,pRetObj, L"cFS", CFX_WideString::FromLocal("DOS"));
- }
-
- vRet = pRetObj;
-
- return TRUE;
+ // Unsafe, not supported.
+ return TRUE;
}
CFX_WideString app::SysPathToPDFPath(const CFX_WideString& sOldPath)
{
CFX_WideString sRet = L"/";
-
+
for (int i=0,sz=sOldPath.GetLength(); i<sz; i++)
{
wchar_t c = sOldPath.GetAt(i);
@@ -957,47 +842,8 @@ CFX_WideString app::SysPathToPDFPath(const CFX_WideString& sOldPath)
}
}
}
-
- return sRet;
-}
-
-CFX_WideString app::PDFPathToSysPath(const CFX_WideString& sOldPath)
-{
- //strLPath = "D:\temporay.fdf";
- CFX_WideString strOPath = sOldPath;
- strOPath.TrimLeft();
- strOPath.TrimRight();
-
- if (strOPath.GetAt(0) == L'/' && strOPath.GetAt(2) == L'/')
- {
- wchar_t c_Drive = strOPath.GetAt(1);
- if ((c_Drive >= L'a' && c_Drive <= L'z' )||( c_Drive >= L'A' && c_Drive <= L'Z'))
- {
- strOPath.Replace(L"/",L"\\");
- //strOPath.SetAt(0,'');
- strOPath.Insert(2,':');
- strOPath.Delete(0);
- }
- }
-
- return strOPath;
-}
-CFX_WideString app::RelativePathToSysPath(const CFX_WideString& sOldPath, const CFX_WideString& sFilePath)
-{
-// if (!PathIsRelative(sOldPath)) return sOldPath;
-
- int nSplit = 0;
- for (int i=sFilePath.GetLength()-1; i>=0; i--)
- {
- if (sFilePath[i] == '\\' || sFilePath[i] == '/')
- {
- nSplit = i;
- break;
- }
- }
-
- return sFilePath.Left(nSplit+1) + sOldPath;
+ return sRet;
}
FX_BOOL app::newDoc(OBJ_METHOD_PARAMS)
@@ -1099,4 +945,3 @@ FX_BOOL app::execDialog(OBJ_METHOD_PARAMS)
{
return TRUE;
}
-
diff --git a/fpdfsdk/src/javascript/report.cpp b/fpdfsdk/src/javascript/report.cpp
index 9cb9da5051..189ab87d32 100644
--- a/fpdfsdk/src/javascript/report.cpp
+++ b/fpdfsdk/src/javascript/report.cpp
@@ -1,7 +1,7 @@
// 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 "../../include/javascript/JavaScript.h"
@@ -19,13 +19,13 @@ END_JS_STATIC_CONST()
BEGIN_JS_STATIC_PROP(CJS_Report)
END_JS_STATIC_PROP()
-BEGIN_JS_STATIC_METHOD(CJS_Report)
+BEGIN_JS_STATIC_METHOD(CJS_Report)
JS_STATIC_METHOD_ENTRY(save, 1)
JS_STATIC_METHOD_ENTRY(writeText,1)
END_JS_STATIC_METHOD()
IMPLEMENT_JS_CLASS(CJS_Report, Report)
-
+
Report::Report(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject)
{
@@ -33,18 +33,17 @@ Report::Report(CJS_Object* pJSObject) : CJS_EmbedObj(pJSObject)
Report::~Report()
{
-
+
}
FX_BOOL Report::writeText(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
- return TRUE;
+ // Unsafe, not supported.
+ return TRUE;
}
FX_BOOL Report::save(OBJ_METHOD_PARAMS)
{
- if (IsSafeMode(cc)) return TRUE;
- return TRUE;
+ // Unsafe, not supported.
+ return TRUE;
}
-