diff options
Diffstat (limited to 'fpdfsdk/src/javascript/app.cpp')
-rw-r--r-- | fpdfsdk/src/javascript/app.cpp | 135 |
1 files changed, 47 insertions, 88 deletions
diff --git a/fpdfsdk/src/javascript/app.cpp b/fpdfsdk/src/javascript/app.cpp index 1438661c23..c5139696c1 100644 --- a/fpdfsdk/src/javascript/app.cpp +++ b/fpdfsdk/src/javascript/app.cpp @@ -119,10 +119,10 @@ END_JS_STATIC_METHOD() IMPLEMENT_JS_CLASS(CJS_App,app) -app::app(CJS_Object * pJSObject) : CJS_EmbedObj(pJSObject) , - m_bCalculate(true), - m_bRuntimeHighLight(false) -// m_pMenuHead(NULL) +app::app(CJS_Object * pJSObject) + : CJS_EmbedObj(pJSObject), + m_bCalculate(true), + m_bRuntimeHighLight(false) { } @@ -136,60 +136,37 @@ app::~app(void) FX_BOOL app::activeDocs(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) { - if (vp.IsGetting()) - { - - 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++) -// { - 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); - } - } - else - { - 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 - vp.SetNull(); - return TRUE; - } - return FALSE; + if (!vp.IsGetting()) + return FALSE; + + CJS_Context* pContext = (CJS_Context *)cc; + CPDFDoc_Environment* pApp = pContext->GetReaderApp(); + CJS_Runtime* pRuntime = pContext->GetJSRuntime(); + CPDFSDK_Document* pCurDoc = pContext->GetReaderDocument(); + CJS_Array aDocs(pRuntime->GetIsolate()); + if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument()) + { + 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); + } + else + { + JSFXObject pObj = JS_NewFxDynamicObj(*pRuntime, pContext, JS_GetObjDefnID(*pRuntime,L"Document")); + pJSDocument = (CJS_Document*)JS_GetPrivate(pRuntime->GetIsolate(),pObj); + ASSERT(pJSDocument != NULL); + } + aDocs.SetElement(0,CJS_Value(pRuntime->GetIsolate(),pJSDocument)); + } + if (aDocs.GetLength() > 0) + vp << aDocs; + else + vp.SetNull(); + + return TRUE; } FX_BOOL app::calculate(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) @@ -201,27 +178,16 @@ FX_BOOL app::calculate(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sEr m_bCalculate = (FX_BOOL)bVP; 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()); - if (CPDFSDK_Document* pDoc = pApp->GetCurrentDoc()) - { - CPDFSDK_InterForm* pInterForm = (CPDFSDK_InterForm*)pDoc->GetInterForm(); - ASSERT(pInterForm != NULL); - pInterForm->EnableCalculate((FX_BOOL)m_bCalculate); - } + if (CPDFSDK_Document* pDoc = pApp->GetSDKDocument()) + pDoc->GetInterForm()->EnableCalculate((FX_BOOL)m_bCalculate); } else { vp << (bool)m_bCalculate; } - return TRUE; } @@ -260,25 +226,18 @@ FX_BOOL app::viewerVariation(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideStrin FX_BOOL app::viewerVersion(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) { - if (vp.IsGetting()) - { - CJS_Context* pContext = (CJS_Context *)cc; - ASSERT(pContext != NULL); - - CPDFDoc_Environment* pApp = pContext->GetReaderApp(); - ASSERT(pApp != NULL); + if (!vp.IsGetting()) + return FALSE; - CPDFSDK_Document* pCurDoc = pContext->GetReaderDocument(); + CJS_Context* pContext = (CJS_Context *)cc; + CPDFSDK_Document* pCurDoc = pContext->GetReaderDocument(); + CPDFXFA_Document* pDoc = pCurDoc->GetDocument(); + if (pDoc->GetDocType() == 1 || pDoc->GetDocType() == 2) + vp << JS_STR_VIEWERVERSION_XFA; + else + vp << JS_STR_VIEWERVERSION; - CPDFXFA_Document* pDoc = pCurDoc->GetDocument(); - if (pDoc->GetDocType() == 1 || pDoc->GetDocType() == 2) - vp << JS_STR_VIEWERVERSION_XFA; - else - vp << JS_STR_VIEWERVERSION; - return TRUE; - } - - return FALSE; + return TRUE; } FX_BOOL app::platform(IFXJS_Context* cc, CJS_PropValue& vp, CFX_WideString& sError) |