diff options
Diffstat (limited to 'fpdfsdk/fpdfxfa')
-rw-r--r-- | fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp | 50 | ||||
-rw-r--r-- | fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h | 12 |
2 files changed, 36 insertions, 26 deletions
diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp index d47c145700..0833759429 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp +++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp @@ -984,34 +984,44 @@ bool CPDFXFA_DocEnvironment::SubmitInternal(CXFA_FFDoc* hDoc, return true; } -bool CPDFXFA_DocEnvironment::SetGlobalProperty(CXFA_FFDoc* hDoc, - const ByteStringView& szPropName, - CFXJSE_Value* pValue) { +bool CPDFXFA_DocEnvironment::SetPropertyInNonXFAGlobalObject( + CXFA_FFDoc* hDoc, + const ByteStringView& szPropName, + CFXJSE_Value* pValue) { if (hDoc != m_pContext->GetXFADoc()) return false; - if (!m_pContext->GetFormFillEnv() || - !m_pContext->GetFormFillEnv()->GetIJSRuntime()) { - return false; - } + CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pContext->GetFormFillEnv(); - IJS_EventContext* pContext = pFormFillEnv->GetIJSRuntime()->NewEventContext(); - bool bRet = pFormFillEnv->GetIJSRuntime()->SetValueByName(szPropName, pValue); - pFormFillEnv->GetIJSRuntime()->ReleaseEventContext(pContext); + if (!pFormFillEnv) + return false; + + IJS_Runtime* pIJSRuntime = pFormFillEnv->GetIJSRuntime(); + if (!pIJSRuntime) + return false; + + IJS_EventContext* pContext = pIJSRuntime->NewEventContext(); + bool bRet = pIJSRuntime->SetValueByNameInGlobalObject(szPropName, pValue); + pIJSRuntime->ReleaseEventContext(pContext); return bRet; } -bool CPDFXFA_DocEnvironment::GetGlobalProperty(CXFA_FFDoc* hDoc, - const ByteStringView& szPropName, - CFXJSE_Value* pValue) { +bool CPDFXFA_DocEnvironment::GetPropertyFromNonXFAGlobalObject( + CXFA_FFDoc* hDoc, + const ByteStringView& szPropName, + CFXJSE_Value* pValue) { if (hDoc != m_pContext->GetXFADoc()) return false; - if (!m_pContext->GetFormFillEnv() || - !m_pContext->GetFormFillEnv()->GetIJSRuntime()) { - return false; - } + CPDFSDK_FormFillEnvironment* pFormFillEnv = m_pContext->GetFormFillEnv(); - IJS_EventContext* pContext = pFormFillEnv->GetIJSRuntime()->NewEventContext(); - bool bRet = pFormFillEnv->GetIJSRuntime()->GetValueByName(szPropName, pValue); - pFormFillEnv->GetIJSRuntime()->ReleaseEventContext(pContext); + if (!pFormFillEnv) + return false; + + IJS_Runtime* pIJSRuntime = pFormFillEnv->GetIJSRuntime(); + if (!pIJSRuntime) + return false; + + IJS_EventContext* pContext = pIJSRuntime->NewEventContext(); + bool bRet = pIJSRuntime->GetValueByNameFromGlobalObject(szPropName, pValue); + pIJSRuntime->ReleaseEventContext(pContext); return bRet; } diff --git a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h index 4e037210b2..03aae3d765 100644 --- a/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h +++ b/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.h @@ -64,12 +64,12 @@ class CPDFXFA_DocEnvironment : public IXFA_DocEnvironment { bool Submit(CXFA_FFDoc* hDoc, CXFA_Submit* submit) override; - bool GetGlobalProperty(CXFA_FFDoc* hDoc, - const ByteStringView& szPropName, - CFXJSE_Value* pValue) override; - bool SetGlobalProperty(CXFA_FFDoc* hDoc, - const ByteStringView& szPropName, - CFXJSE_Value* pValue) override; + bool GetPropertyFromNonXFAGlobalObject(CXFA_FFDoc* hDoc, + const ByteStringView& szPropName, + CFXJSE_Value* pValue) override; + bool SetPropertyInNonXFAGlobalObject(CXFA_FFDoc* hDoc, + const ByteStringView& szPropName, + CFXJSE_Value* pValue) override; RetainPtr<IFX_SeekableReadStream> OpenLinkedFile( CXFA_FFDoc* hDoc, |