Merge to master: Kill off some dodgy JS callbacks
authorTom Sepez <tsepez@chromium.org>
Thu, 5 Feb 2015 23:52:15 +0000 (15:52 -0800)
committerTom Sepez <tsepez@chromium.org>
Thu, 5 Feb 2015 23:52:15 +0000 (15:52 -0800)
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

core/include/fpdfapi/fpdf_parser.h
core/src/fpdfapi/fpdf_parser/fpdf_parser_fdf.cpp
fpdfsdk/include/fsdk_baseform.h
fpdfsdk/include/fsdk_mgr.h
fpdfsdk/include/javascript/JS_Object.h
fpdfsdk/include/javascript/app.h
fpdfsdk/src/fsdk_baseform.cpp
fpdfsdk/src/javascript/Document.cpp
fpdfsdk/src/javascript/JS_Object.cpp
fpdfsdk/src/javascript/app.cpp
fpdfsdk/src/javascript/report.cpp

index 0ed8ed2..4b91802 100644 (file)
@@ -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
index e431c6a..028e5e2 100644 (file)
@@ -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;
index 073c99f..915d411 100644 (file)
@@ -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:
index a6f990c..5687f56 100644 (file)
@@ -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
-
index 2351b09..dbf7da6 100644 (file)
@@ -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;
 
index 671b358..1c95bf4 100644 (file)
@@ -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:
 
index 37caf2d..6203f85 100644 (file)
@@ -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;
 }
 
index 8f7a8f2..410650a 100644 (file)
@@ -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]);
index 8a019d4..6c0c868 100644 (file)
@@ -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)
 {
index cac129d..c1dd41f 100644 (file)
@@ -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;
 }
-
index 9cb9da5..189ab87 100644 (file)
@@ -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;
 }
-