Chromium Code Reviews| Index: fpdfsdk/javascript/app.cpp |
| diff --git a/fpdfsdk/javascript/app.cpp b/fpdfsdk/javascript/app.cpp |
| index 048bea73c6807e1a9b5ab32add1a8240f4c935d2..b41b8727ab789692f7a636437935e1809d2931a4 100644 |
| --- a/fpdfsdk/javascript/app.cpp |
| +++ b/fpdfsdk/javascript/app.cpp |
| @@ -25,7 +25,7 @@ |
| class GlobalTimer { |
| public: |
| GlobalTimer(app* pObj, |
| - CPDFSDK_FormFillEnvironment* pEnv, |
| + CPDFSDK_FormFillEnvironment* pFormFillEnv, |
| CJS_Runtime* pRuntime, |
| int nType, |
| const CFX_WideString& script, |
| @@ -55,11 +55,11 @@ class GlobalTimer { |
| const uint32_t m_dwTimeOut; |
| const CFX_WideString m_swJScript; |
| CJS_Runtime::ObservedPtr m_pRuntime; |
| - CPDFSDK_FormFillEnvironment* const m_pEnv; |
| + CPDFSDK_FormFillEnvironment* const m_pFormFillEnv; |
| }; |
| GlobalTimer::GlobalTimer(app* pObj, |
| - CPDFSDK_FormFillEnvironment* pEnv, |
| + CPDFSDK_FormFillEnvironment* pFormFillEnv, |
| CJS_Runtime* pRuntime, |
| int nType, |
| const CFX_WideString& script, |
| @@ -72,8 +72,8 @@ GlobalTimer::GlobalTimer(app* pObj, |
| m_dwTimeOut(dwTimeOut), |
| m_swJScript(script), |
| m_pRuntime(pRuntime), |
| - m_pEnv(pEnv) { |
| - CFX_SystemHandler* pHandler = m_pEnv->GetSysHandler(); |
| + m_pFormFillEnv(pFormFillEnv) { |
| + CFX_SystemHandler* pHandler = m_pFormFillEnv->GetSysHandler(); |
| m_nTimerID = pHandler->SetTimer(dwElapse, Trigger); |
| (*GetGlobalTimerMap())[m_nTimerID] = this; |
| } |
| @@ -83,7 +83,7 @@ GlobalTimer::~GlobalTimer() { |
| return; |
| if (GetRuntime()) |
| - m_pEnv->GetSysHandler()->KillTimer(m_nTimerID); |
| + m_pFormFillEnv->GetSysHandler()->KillTimer(m_nTimerID); |
| GetGlobalTimerMap()->erase(m_nTimerID); |
| } |
| @@ -217,27 +217,16 @@ FX_BOOL app::activeDocs(IJS_Context* cc, |
| return FALSE; |
| CJS_Context* pContext = (CJS_Context*)cc; |
| - CPDFSDK_FormFillEnvironment* pFormFillEnv = pContext->GetFormFillEnv(); |
| CJS_Runtime* pRuntime = pContext->GetJSRuntime(); |
| - CPDFSDK_Document* pCurDoc = pContext->GetJSRuntime()->GetReaderDocument(); |
| - CJS_Array aDocs; |
| - if (CPDFSDK_Document* pDoc = pFormFillEnv->GetSDKDocument()) { |
| - CJS_Document* pJSDocument = nullptr; |
| - if (pDoc == pCurDoc) { |
|
dsinclair
2016/10/11 17:37:45
As far as I can tell, these should always be equal
|
| - v8::Local<v8::Object> pObj = pRuntime->GetThisObj(); |
| - if (CFXJS_Engine::GetObjDefnID(pObj) == CJS_Document::g_nObjDefnID) { |
| - pJSDocument = |
| - static_cast<CJS_Document*>(pRuntime->GetObjectPrivate(pObj)); |
| - } |
| - } else { |
| - v8::Local<v8::Object> pObj = |
| - pRuntime->NewFxDynamicObj(CJS_Document::g_nObjDefnID); |
| - pJSDocument = |
| - static_cast<CJS_Document*>(pRuntime->GetObjectPrivate(pObj)); |
| - ASSERT(pJSDocument); |
| - } |
| - aDocs.SetElement(pRuntime, 0, CJS_Value(pRuntime, pJSDocument)); |
| + CJS_Document* pJSDocument = nullptr; |
| + v8::Local<v8::Object> pObj = pRuntime->GetThisObj(); |
| + if (CFXJS_Engine::GetObjDefnID(pObj) == CJS_Document::g_nObjDefnID) { |
| + pJSDocument = static_cast<CJS_Document*>(pRuntime->GetObjectPrivate(pObj)); |
| } |
| + |
| + CJS_Array aDocs; |
| + aDocs.SetElement(pRuntime, 0, CJS_Value(pRuntime, pJSDocument)); |
| + |
| if (aDocs.GetLength(pRuntime) > 0) |
| vp << aDocs; |
| else |
| @@ -322,11 +311,11 @@ FX_BOOL app::platform(IJS_Context* cc, |
| if (!vp.IsGetting()) |
| return FALSE; |
| #ifdef PDF_ENABLE_XFA |
| - CPDFSDK_FormFillEnvironment* pEnv = |
| - static_cast<CJS_Context*>(cc)->GetJSRuntime()->GetReaderEnv(); |
| - if (!pEnv) |
| + CPDFSDK_FormFillEnvironment* pFormFillEnv = |
| + static_cast<CJS_Context*>(cc)->GetJSRuntime()->GetFormFillEnv(); |
| + if (!pFormFillEnv) |
| return FALSE; |
| - CFX_WideString platfrom = pEnv->GetPlatform(); |
| + CFX_WideString platfrom = pFormFillEnv->GetPlatform(); |
| if (!platfrom.IsEmpty()) { |
| vp << platfrom; |
| return TRUE; |
| @@ -342,11 +331,11 @@ FX_BOOL app::language(IJS_Context* cc, |
| if (!vp.IsGetting()) |
| return FALSE; |
| #ifdef PDF_ENABLE_XFA |
| - CPDFSDK_FormFillEnvironment* pEnv = |
| - static_cast<CJS_Context*>(cc)->GetJSRuntime()->GetReaderEnv(); |
| - if (!pEnv) |
| + CPDFSDK_FormFillEnvironment* pFormFillEnv = |
| + static_cast<CJS_Context*>(cc)->GetJSRuntime()->GetFormFillEnv(); |
| + if (!pFormFillEnv) |
| return FALSE; |
| - CFX_WideString language = pEnv->GetLanguage(); |
| + CFX_WideString language = pFormFillEnv->GetLanguage(); |
| if (!language.IsEmpty()) { |
| vp << language; |
| return TRUE; |
| @@ -393,8 +382,8 @@ FX_BOOL app::alert(IJS_Context* cc, |
| return FALSE; |
| } |
| - CPDFSDK_FormFillEnvironment* pEnv = pRuntime->GetReaderEnv(); |
| - if (!pEnv) { |
| + CPDFSDK_FormFillEnvironment* pFormFillEnv = pRuntime->GetFormFillEnv(); |
| + if (!pFormFillEnv) { |
| vRet = CJS_Value(pRuntime, 0); |
| return TRUE; |
| } |
| @@ -434,10 +423,10 @@ FX_BOOL app::alert(IJS_Context* cc, |
| swTitle = JSGetStringFromID(IDS_STRING_JSALERT); |
| pRuntime->BeginBlock(); |
| - pEnv->GetSDKDocument()->KillFocusAnnot(0); |
| + pFormFillEnv->GetSDKDocument()->KillFocusAnnot(0); |
| - vRet = CJS_Value(pRuntime, pEnv->JS_appAlert(swMsg.c_str(), swTitle.c_str(), |
| - iType, iIcon)); |
| + vRet = CJS_Value(pRuntime, pFormFillEnv->JS_appAlert( |
| + swMsg.c_str(), swTitle.c_str(), iType, iIcon)); |
| pRuntime->EndBlock(); |
| return TRUE; |
| } |
| @@ -448,8 +437,7 @@ FX_BOOL app::beep(IJS_Context* cc, |
| CFX_WideString& sError) { |
| if (params.size() == 1) { |
| CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc); |
| - CPDFSDK_FormFillEnvironment* pEnv = pRuntime->GetReaderEnv(); |
| - pEnv->JS_appBeep(params[0].ToInt(pRuntime)); |
| + pRuntime->GetFormFillEnv()->JS_appBeep(params[0].ToInt(pRuntime)); |
| return TRUE; |
| } |
| @@ -493,10 +481,9 @@ FX_BOOL app::setInterval(IJS_Context* cc, |
| } |
| uint32_t dwInterval = params.size() > 1 ? params[1].ToInt(pRuntime) : 1000; |
| - CPDFSDK_FormFillEnvironment* pEnv = pRuntime->GetReaderEnv(); |
| - GlobalTimer* timerRef = |
| - new GlobalTimer(this, pEnv, pRuntime, 0, script, dwInterval, 0); |
| + GlobalTimer* timerRef = new GlobalTimer(this, pRuntime->GetFormFillEnv(), |
| + pRuntime, 0, script, dwInterval, 0); |
| m_Timers.insert(std::unique_ptr<GlobalTimer>(timerRef)); |
| v8::Local<v8::Object> pRetObj = |
| @@ -527,10 +514,9 @@ FX_BOOL app::setTimeOut(IJS_Context* cc, |
| } |
| uint32_t dwTimeOut = params.size() > 1 ? params[1].ToInt(pRuntime) : 1000; |
| - CPDFSDK_FormFillEnvironment* pEnv = pRuntime->GetReaderEnv(); |
| - |
| GlobalTimer* timerRef = |
| - new GlobalTimer(this, pEnv, pRuntime, 1, script, dwTimeOut, dwTimeOut); |
| + new GlobalTimer(this, pRuntime->GetFormFillEnv(), pRuntime, 1, script, |
| + dwTimeOut, dwTimeOut); |
| m_Timers.insert(std::unique_ptr<GlobalTimer>(timerRef)); |
| v8::Local<v8::Object> pRetObj = |