Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(394)

Unified Diff: fpdfsdk/src/fsdk_mgr.cpp

Issue 1235393002: Tidy up CPDFDOC_Environment. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: fpdfsdk/src/fsdk_mgr.cpp
diff --git a/fpdfsdk/src/fsdk_mgr.cpp b/fpdfsdk/src/fsdk_mgr.cpp
index 527538cd0936d3e0aa012cbfc367179cb264b8fd..64dcb446204e312b8a2fd31415879a088481f179 100644
--- a/fpdfsdk/src/fsdk_mgr.cpp
+++ b/fpdfsdk/src/fsdk_mgr.cpp
@@ -219,21 +219,16 @@ CJS_RuntimeFactory* GetJSRuntimeFactory()
return &s_JSRuntimeFactory;
}
-CPDFDoc_Environment::CPDFDoc_Environment(CPDF_Document* pDoc) :
+CPDFDoc_Environment::CPDFDoc_Environment(CPDF_Document* pDoc, FPDF_FORMFILLINFO* pFFinfo) :
m_pAnnotHandlerMgr(NULL),
m_pActionHandler(NULL),
m_pJSRuntime(NULL),
- m_pInfo(NULL),
+ m_pInfo(pFFinfo),
m_pSDKDoc(NULL),
m_pPDFDoc(pDoc),
m_pIFormFiller(NULL)
{
-
- m_pSysHandler = NULL;
m_pSysHandler = new CFX_SystemHandler(this);
-
-
- m_pJSRuntimeFactory = NULL;
m_pJSRuntimeFactory = GetJSRuntimeFactory();
m_pJSRuntimeFactory->AddRef();
}
@@ -255,6 +250,46 @@ CPDFDoc_Environment::~CPDFDoc_Environment()
m_pActionHandler = NULL;
}
+int CPDFDoc_Environment::JS_appAlert(const FX_WCHAR* Msg, const FX_WCHAR* Title, FX_UINT Type, FX_UINT Icon)
+{
+ if (m_pInfo && m_pInfo->m_pJsPlatform && m_pInfo->m_pJsPlatform->app_alert)
+ {
+ CFX_ByteString bsMsg = CFX_WideString(Msg).UTF16LE_Encode();
+ CFX_ByteString bsTitle = CFX_WideString(Title).UTF16LE_Encode();
+ FPDF_WIDESTRING pMsg = (FPDF_WIDESTRING)bsMsg.GetBuffer(bsMsg.GetLength());
+ FPDF_WIDESTRING pTitle = (FPDF_WIDESTRING)bsTitle.GetBuffer(bsTitle.GetLength());
+ int ret = m_pInfo->m_pJsPlatform->app_alert(m_pInfo->m_pJsPlatform, pMsg, pTitle, Type, Icon);
+ bsMsg.ReleaseBuffer();
+ bsTitle.ReleaseBuffer();
+ return ret;
+ }
+ return -1;
+}
+
+int CPDFDoc_Environment::JS_appResponse(const FX_WCHAR* Question, const FX_WCHAR* Title, const FX_WCHAR* Default,
+ const FX_WCHAR* cLabel, FPDF_BOOL bPassword, void* response, int length)
+{
+ if (m_pInfo && m_pInfo->m_pJsPlatform && m_pInfo->m_pJsPlatform->app_response)
+ {
+ CFX_ByteString bsQuestion = CFX_WideString(Question).UTF16LE_Encode();
+ CFX_ByteString bsTitle = CFX_WideString(Title).UTF16LE_Encode();
+ CFX_ByteString bsDefault = CFX_WideString(Default).UTF16LE_Encode();
+ CFX_ByteString bsLabel = CFX_WideString(cLabel).UTF16LE_Encode();
+ FPDF_WIDESTRING pQuestion = (FPDF_WIDESTRING)bsQuestion.GetBuffer(bsQuestion.GetLength());
+ 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,
+ pDefault, pLabel, bPassword, response, length);
+ bsQuestion.ReleaseBuffer();
+ bsTitle.ReleaseBuffer();
+ bsDefault.ReleaseBuffer();
+ bsLabel.ReleaseBuffer();
+ return ret;
+ }
+ return -1;
+}
+
CFX_WideString CPDFDoc_Environment::JS_fieldBrowse()
{
if (!m_pInfo ||
@@ -305,64 +340,82 @@ CFX_WideString CPDFDoc_Environment::JS_docGetFilePath()
return wsRet;
}
+void CPDFDoc_Environment::JS_docSubmitForm(void* formData, int length, const FX_WCHAR* URL)
+{
+ if (m_pInfo && m_pInfo->m_pJsPlatform && m_pInfo->m_pJsPlatform->Doc_submitForm)
+ {
+ CFX_ByteString bsDestination = CFX_WideString(URL).UTF16LE_Encode();
+ FPDF_WIDESTRING pDestination = (FPDF_WIDESTRING)bsDestination.GetBuffer(bsDestination.GetLength());
+ m_pInfo->m_pJsPlatform->Doc_submitForm(m_pInfo->m_pJsPlatform, formData, length, pDestination);
+ bsDestination.ReleaseBuffer();
+ }
+}
+
+void CPDFDoc_Environment::JS_docmailForm(void* mailData, int length, FPDF_BOOL bUI,
+ const FX_WCHAR* To, const FX_WCHAR* Subject,
+ const FX_WCHAR* CC, const FX_WCHAR* BCC,
+ const FX_WCHAR* Msg)
+{
+ if (m_pInfo && m_pInfo->m_pJsPlatform && m_pInfo->m_pJsPlatform->Doc_mail)
+ {
+ CFX_ByteString bsTo = CFX_WideString(To).UTF16LE_Encode();
+ CFX_ByteString bsCC = CFX_WideString(Subject).UTF16LE_Encode();
+ CFX_ByteString bsBcc = CFX_WideString(BCC).UTF16LE_Encode();
+ CFX_ByteString bsSubject = CFX_WideString(Subject).UTF16LE_Encode();
+ CFX_ByteString bsMsg = CFX_WideString(Msg).UTF16LE_Encode();
+ FPDF_WIDESTRING pTo = (FPDF_WIDESTRING)bsTo.GetBuffer(bsTo.GetLength());
+ FPDF_WIDESTRING pCC = (FPDF_WIDESTRING)bsCC.GetBuffer(bsCC.GetLength());
+ FPDF_WIDESTRING pBcc = (FPDF_WIDESTRING)bsBcc.GetBuffer(bsBcc.GetLength());
+ FPDF_WIDESTRING pSubject = (FPDF_WIDESTRING)bsSubject.GetBuffer(bsSubject.GetLength());
+ FPDF_WIDESTRING pMsg = (FPDF_WIDESTRING)bsMsg.GetBuffer(bsMsg.GetLength());
+ m_pInfo->m_pJsPlatform->Doc_mail(m_pInfo->m_pJsPlatform, mailData, length, bUI, pTo, pSubject,
+ pCC, pBcc, pMsg);
+ bsTo.ReleaseBuffer();
+ bsCC.ReleaseBuffer();
+ bsBcc.ReleaseBuffer();
+ bsSubject.ReleaseBuffer();
+ bsMsg.ReleaseBuffer();
+ }
+}
+
IFXJS_Runtime* CPDFDoc_Environment::GetJSRuntime()
{
- if(!IsJSInitiated())
+ if (!IsJSInitiated())
Lei Zhang 2015/07/16 17:05:06 kill tabs here and below
Tom Sepez 2015/07/16 18:01:28 Untabified file.
return NULL;
- assert(m_pJSRuntimeFactory);
- if(!m_pJSRuntime)
+ if (!m_pJSRuntime)
m_pJSRuntime = m_pJSRuntimeFactory->NewJSRuntime(this);
return m_pJSRuntime;
}
CPDFSDK_AnnotHandlerMgr* CPDFDoc_Environment::GetAnnotHandlerMgr()
{
- if(!m_pAnnotHandlerMgr)
+ if (!m_pAnnotHandlerMgr)
m_pAnnotHandlerMgr = new CPDFSDK_AnnotHandlerMgr(this);
return m_pAnnotHandlerMgr;
}
CPDFSDK_ActionHandler* CPDFDoc_Environment::GetActionHander()
{
- if(!m_pActionHandler)
+ if (!m_pActionHandler)
m_pActionHandler = new CPDFSDK_ActionHandler(this);
return m_pActionHandler;
}
-int CPDFDoc_Environment::RegAppHandle(FPDF_FORMFILLINFO* pFFinfo)
-{
- m_pInfo = pFFinfo;
- return TRUE;
-}
-
-CPDFSDK_Document* CPDFDoc_Environment::GetCurrentDoc()
-{
- return m_pSDKDoc;
-}
-
CFFL_IFormFiller* CPDFDoc_Environment::GetIFormFiller()
{
- if(!m_pIFormFiller)
+ if (!m_pIFormFiller)
m_pIFormFiller = new CFFL_IFormFiller(this);
return m_pIFormFiller;
}
-FX_BOOL CPDFDoc_Environment::IsJSInitiated()
-{
- if(m_pInfo)
- {
- if(m_pInfo->m_pJsPlatform)
- return TRUE;
- else
- return FALSE;
- }
- return FALSE;
-}
-
-CPDFSDK_Document::CPDFSDK_Document(CPDF_Document* pDoc,CPDFDoc_Environment* pEnv):m_pDoc(pDoc),
- m_pInterForm(NULL),m_pEnv(pEnv),m_pOccontent(NULL),m_bChangeMask(FALSE)
+CPDFSDK_Document::CPDFSDK_Document(CPDF_Document* pDoc,CPDFDoc_Environment* pEnv) :
+ m_pDoc(pDoc),
+ m_pInterForm(NULL),
Lei Zhang 2015/07/16 17:05:06 nullptr
+ m_pEnv(pEnv),
+ m_pOccontent(NULL),
+ m_bChangeMask(FALSE),
+ m_pFocusAnnot(NULL)
{
- m_pFocusAnnot = NULL;
}
CPDFSDK_Document::~CPDFSDK_Document()

Powered by Google App Engine
This is Rietveld 408576698