| Index: fpdfsdk/javascript/Document.cpp
|
| diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
|
| index f8edf97247516762c4efd154391c2db4ba0b4e8f..ac94e103035bf04e0050ca82719de04d080703d7 100644
|
| --- a/fpdfsdk/javascript/Document.cpp
|
| +++ b/fpdfsdk/javascript/Document.cpp
|
| @@ -149,12 +149,12 @@ IMPLEMENT_JS_CLASS(CJS_Document, Document)
|
| void CJS_Document::InitInstance(IJS_Runtime* pIRuntime) {
|
| CJS_Runtime* pRuntime = static_cast<CJS_Runtime*>(pIRuntime);
|
| Document* pDoc = static_cast<Document*>(GetEmbedObject());
|
| - pDoc->AttachDoc(pRuntime->GetReaderDocument());
|
| + pDoc->SetFormFillEnv(pRuntime->GetFormFillEnv());
|
| }
|
|
|
| Document::Document(CJS_Object* pJSObject)
|
| : CJS_EmbedObj(pJSObject),
|
| - m_pDocument(nullptr),
|
| + m_pFormFillEnv(nullptr),
|
| m_cwBaseURL(L""),
|
| m_bDelay(FALSE) {}
|
|
|
| @@ -169,11 +169,12 @@ FX_BOOL Document::numFields(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
|
| + CPDFSDK_InterForm* pInterForm =
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm();
|
| CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
|
| vp << static_cast<int>(pPDFForm->CountFields(CFX_WideString()));
|
| return TRUE;
|
| @@ -182,20 +183,20 @@ FX_BOOL Document::numFields(IJS_Context* cc,
|
| FX_BOOL Document::dirty(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| if (vp.IsGetting()) {
|
| - vp << !!m_pDocument->GetChangeMark();
|
| + vp << !!m_pFormFillEnv->GetSDKDocument()->GetChangeMark();
|
| } else {
|
| bool bChanged = false;
|
| vp >> bChanged;
|
|
|
| if (bChanged)
|
| - m_pDocument->SetChangeMark();
|
| + m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
|
| else
|
| - m_pDocument->ClearChangeMark();
|
| + m_pFormFillEnv->GetSDKDocument()->ClearChangeMark();
|
| }
|
| return TRUE;
|
| }
|
| @@ -212,26 +213,26 @@ FX_BOOL Document::ADBE(IJS_Context* cc,
|
| FX_BOOL Document::pageNum(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| if (vp.IsGetting()) {
|
| - if (CPDFSDK_PageView* pPageView = m_pDocument->GetCurrentView()) {
|
| + if (CPDFSDK_PageView* pPageView =
|
| + m_pFormFillEnv->GetSDKDocument()->GetCurrentView()) {
|
| vp << pPageView->GetPageIndex();
|
| }
|
| } else {
|
| - int iPageCount = m_pDocument->GetPageCount();
|
| + int iPageCount = m_pFormFillEnv->GetSDKDocument()->GetPageCount();
|
| int iPageNum = 0;
|
| vp >> iPageNum;
|
|
|
| - CPDFSDK_FormFillEnvironment* pEnv = m_pDocument->GetEnv();
|
| if (iPageNum >= 0 && iPageNum < iPageCount) {
|
| - pEnv->JS_docgotoPage(iPageNum);
|
| + m_pFormFillEnv->JS_docgotoPage(iPageNum);
|
| } else if (iPageNum >= iPageCount) {
|
| - pEnv->JS_docgotoPage(iPageCount - 1);
|
| + m_pFormFillEnv->JS_docgotoPage(iPageCount - 1);
|
| } else if (iPageNum < 0) {
|
| - pEnv->JS_docgotoPage(0);
|
| + m_pFormFillEnv->JS_docgotoPage(0);
|
| }
|
| }
|
|
|
| @@ -291,14 +292,15 @@ FX_BOOL Document::getField(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| CJS_Context* pContext = static_cast<CJS_Context*>(cc);
|
| CJS_Runtime* pRuntime = pContext->GetJSRuntime();
|
| CFX_WideString wideName = params[0].ToCFXWideString(pRuntime);
|
| - CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
|
| + CPDFSDK_InterForm* pInterForm =
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm();
|
| CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
|
| if (pPDFForm->CountFields(wideName) <= 0) {
|
| vRet.SetNull(pRuntime);
|
| @@ -325,7 +327,7 @@ FX_BOOL Document::getNthFieldName(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| @@ -336,7 +338,8 @@ FX_BOOL Document::getNthFieldName(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSVALUEERROR);
|
| return FALSE;
|
| }
|
| - CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
|
| + CPDFSDK_InterForm* pInterForm =
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm();
|
| CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
|
| CPDF_FormField* pField = pPDFForm->GetField(nIndex, CFX_WideString());
|
| if (!pField)
|
| @@ -381,11 +384,12 @@ FX_BOOL Document::mailForm(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) {
|
| + if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(
|
| + FPDFPERM_EXTRACT_ACCESS)) {
|
| sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
|
| return FALSE;
|
| }
|
| @@ -402,7 +406,8 @@ FX_BOOL Document::mailForm(IJS_Context* cc,
|
| iLength > 4 ? params[4].ToCFXWideString(pRuntime) : L"";
|
| CFX_WideString cMsg = iLength > 5 ? params[5].ToCFXWideString(pRuntime) : L"";
|
|
|
| - CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
|
| + CPDFSDK_InterForm* pInterForm =
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm();
|
| CFX_ByteTextBuf textBuf;
|
| if (!pInterForm->ExportFormToFDFTextBuf(textBuf))
|
| return FALSE;
|
| @@ -420,7 +425,7 @@ FX_BOOL Document::print(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| @@ -477,9 +482,9 @@ FX_BOOL Document::print(IJS_Context* cc,
|
| bAnnotations = params[7].ToBool(pRuntime);
|
| }
|
|
|
| - if (CPDFSDK_FormFillEnvironment* pEnv = m_pDocument->GetEnv()) {
|
| - pEnv->JS_docprint(bUI, nStart, nEnd, bSilent, bShrinkToFit, bPrintAsImage,
|
| - bReverse, bAnnotations);
|
| + if (m_pFormFillEnv) {
|
| + m_pFormFillEnv->JS_docprint(bUI, nStart, nEnd, bSilent, bShrinkToFit,
|
| + bPrintAsImage, bReverse, bAnnotations);
|
| return TRUE;
|
| }
|
| return FALSE;
|
| @@ -497,19 +502,21 @@ FX_BOOL Document::removeField(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
|
| - m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM))) {
|
| + if (!(m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY) ||
|
| + m_pFormFillEnv->GetSDKDocument()->GetPermissions(
|
| + FPDFPERM_ANNOT_FORM))) {
|
| sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
|
| return FALSE;
|
| }
|
| CJS_Context* pContext = static_cast<CJS_Context*>(cc);
|
| CJS_Runtime* pRuntime = pContext->GetJSRuntime();
|
| CFX_WideString sFieldName = params[0].ToCFXWideString(pRuntime);
|
| - CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
|
| + CPDFSDK_InterForm* pInterForm =
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm();
|
| std::vector<CPDFSDK_Widget*> widgets;
|
| pInterForm->GetWidgets(sFieldName, &widgets);
|
| if (widgets.empty())
|
| @@ -529,7 +536,8 @@ FX_BOOL Document::removeField(IJS_Context* cc,
|
| // If there is currently no pageview associated with the page being used
|
| // do not create one. We may be in the process of tearing down the document
|
| // and creating a new pageview at this point will cause bad things.
|
| - CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(pPage, false);
|
| + CPDFSDK_PageView* pPageView =
|
| + m_pFormFillEnv->GetSDKDocument()->GetPageView(pPage, false);
|
| if (pPageView) {
|
| #if PDF_ENABLE_XFA
|
| pPageView->DeleteAnnot(pWidget);
|
| @@ -537,7 +545,7 @@ FX_BOOL Document::removeField(IJS_Context* cc,
|
| pPageView->UpdateRects(aRefresh);
|
| }
|
| }
|
| - m_pDocument->SetChangeMark();
|
| + m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
|
|
|
| return TRUE;
|
| }
|
| @@ -550,24 +558,25 @@ FX_BOOL Document::resetForm(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
|
| - m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
|
| - m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) {
|
| + if (!(m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY) ||
|
| + m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_ANNOT_FORM) ||
|
| + m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_FILL_FORM))) {
|
| sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
|
| return FALSE;
|
| }
|
|
|
| - CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
|
| + CPDFSDK_InterForm* pInterForm =
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm();
|
| CPDF_InterForm* pPDFForm = pInterForm->GetInterForm();
|
| CJS_Array aName;
|
|
|
| if (params.empty()) {
|
| pPDFForm->ResetForm(TRUE);
|
| - m_pDocument->SetChangeMark();
|
| + m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
|
| return TRUE;
|
| }
|
|
|
| @@ -594,7 +603,7 @@ FX_BOOL Document::resetForm(IJS_Context* cc,
|
|
|
| if (!aFields.empty()) {
|
| pPDFForm->ResetForm(aFields, TRUE, TRUE);
|
| - m_pDocument->SetChangeMark();
|
| + m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
|
| }
|
|
|
| return TRUE;
|
| @@ -624,7 +633,7 @@ FX_BOOL Document::submitForm(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| @@ -659,7 +668,8 @@ FX_BOOL Document::submitForm(IJS_Context* cc,
|
| aFields.Attach(CJS_Value(pRuntime, pValue).ToV8Array(pRuntime));
|
| }
|
|
|
| - CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
|
| + CPDFSDK_InterForm* pInterForm =
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm();
|
| CPDF_InterForm* pPDFInterForm = pInterForm->GetInterForm();
|
| if (aFields.GetLength(pRuntime) == 0 && bEmpty) {
|
| if (pPDFInterForm->CheckRequiredFields(nullptr, true)) {
|
| @@ -694,8 +704,8 @@ FX_BOOL Document::submitForm(IJS_Context* cc,
|
| return TRUE;
|
| }
|
|
|
| -void Document::AttachDoc(CPDFSDK_Document* pDoc) {
|
| - m_pDocument.Reset(pDoc);
|
| +void Document::SetFormFillEnv(CPDFSDK_FormFillEnvironment* pFormFillEnv) {
|
| + m_pFormFillEnv.Reset(pFormFillEnv);
|
| }
|
|
|
| FX_BOOL Document::bookmarkRoot(IJS_Context* cc,
|
| @@ -757,7 +767,7 @@ FX_BOOL Document::mailDoc(IJS_Context* cc,
|
| }
|
|
|
| pRuntime->BeginBlock();
|
| - CPDFSDK_FormFillEnvironment* pEnv = pRuntime->GetReaderEnv();
|
| + CPDFSDK_FormFillEnvironment* pEnv = pRuntime->GetFormFillEnv();
|
| pEnv->JS_docmailForm(nullptr, 0, bUI, cTo.c_str(), cSubject.c_str(),
|
| cCc.c_str(), cBcc.c_str(), cMsg.c_str());
|
| pRuntime->EndBlock();
|
| @@ -778,11 +788,12 @@ FX_BOOL Document::info(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
|
| + CPDF_Dictionary* pDictionary =
|
| + m_pFormFillEnv->GetSDKDocument()->GetPDFDocument()->GetInfo();
|
| if (!pDictionary)
|
| return FALSE;
|
|
|
| @@ -832,25 +843,26 @@ FX_BOOL Document::getPropertyInternal(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| const CFX_ByteString& propName,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - CPDF_Dictionary* pDictionary = m_pDocument->GetPDFDocument()->GetInfo();
|
| + CPDF_Dictionary* pDictionary =
|
| + m_pFormFillEnv->GetSDKDocument()->GetPDFDocument()->GetInfo();
|
| if (!pDictionary)
|
| return FALSE;
|
|
|
| if (vp.IsGetting()) {
|
| vp << pDictionary->GetUnicodeTextFor(propName);
|
| } else {
|
| - if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) {
|
| + if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY)) {
|
| sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
|
| return FALSE;
|
| }
|
| CFX_WideString csProperty;
|
| vp >> csProperty;
|
| pDictionary->SetStringFor(propName, PDF_EncodeText(csProperty));
|
| - m_pDocument->SetChangeMark();
|
| + m_pFormFillEnv->GetSDKDocument()->SetChangeMark();
|
| }
|
| return TRUE;
|
| }
|
| @@ -870,14 +882,14 @@ FX_BOOL Document::creator(IJS_Context* cc,
|
| FX_BOOL Document::delay(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| if (vp.IsGetting()) {
|
| vp << m_bDelay;
|
| } else {
|
| - if (!m_pDocument->GetPermissions(FPDFPERM_MODIFY)) {
|
| + if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY)) {
|
| sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
|
| return FALSE;
|
| }
|
| @@ -887,10 +899,8 @@ FX_BOOL Document::delay(IJS_Context* cc,
|
| } else {
|
| std::list<std::unique_ptr<CJS_DelayData>> DelayDataToProcess;
|
| DelayDataToProcess.swap(m_DelayData);
|
| - for (const auto& pData : DelayDataToProcess) {
|
| - if (m_pDocument.Get())
|
| - Field::DoDelay(m_pDocument->GetEnv(), pData.get());
|
| - }
|
| + for (const auto& pData : DelayDataToProcess)
|
| + Field::DoDelay(m_pFormFillEnv.Get(), pData.get());
|
| }
|
| }
|
| return TRUE;
|
| @@ -923,7 +933,7 @@ FX_BOOL Document::subject(IJS_Context* cc,
|
| FX_BOOL Document::title(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument || !m_pDocument->GetUnderlyingDocument()) {
|
| + if (!m_pFormFillEnv || !m_pFormFillEnv->GetUnderlyingDocument()) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| @@ -937,11 +947,11 @@ FX_BOOL Document::numPages(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - vp << m_pDocument->GetPageCount();
|
| + vp << m_pFormFillEnv->GetSDKDocument()->GetPageCount();
|
| return TRUE;
|
| }
|
|
|
| @@ -985,11 +995,11 @@ FX_BOOL Document::URL(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - vp << m_pDocument->GetPath();
|
| + vp << m_pFormFillEnv->GetSDKDocument()->GetPath();
|
| return TRUE;
|
| }
|
|
|
| @@ -1007,11 +1017,12 @@ FX_BOOL Document::baseURL(IJS_Context* cc,
|
| FX_BOOL Document::calculate(IJS_Context* cc,
|
| CJS_PropValue& vp,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - CPDFSDK_InterForm* pInterForm = m_pDocument->GetInterForm();
|
| + CPDFSDK_InterForm* pInterForm =
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm();
|
| if (vp.IsGetting()) {
|
| vp << !!pInterForm->IsCalculateEnabled();
|
| } else {
|
| @@ -1029,11 +1040,11 @@ FX_BOOL Document::documentFileName(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - CFX_WideString wsFilePath = m_pDocument->GetPath();
|
| + CFX_WideString wsFilePath = m_pFormFillEnv->GetSDKDocument()->GetPath();
|
| int32_t i = wsFilePath.GetLength() - 1;
|
| for (; i >= 0; i--) {
|
| if (wsFilePath.GetAt(i) == L'\\' || wsFilePath.GetAt(i) == L'/')
|
| @@ -1054,11 +1065,11 @@ FX_BOOL Document::path(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSREADONLY);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - vp << app::SysPathToPDFPath(m_pDocument->GetPath());
|
| + vp << app::SysPathToPDFPath(m_pFormFillEnv->GetSDKDocument()->GetPath());
|
| return TRUE;
|
| }
|
|
|
| @@ -1103,7 +1114,7 @@ FX_BOOL Document::getAnnot(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| @@ -1111,7 +1122,8 @@ FX_BOOL Document::getAnnot(IJS_Context* cc,
|
| CJS_Runtime* pRuntime = pContext->GetJSRuntime();
|
| int nPageNo = params[0].ToInt(pRuntime);
|
| CFX_WideString swAnnotName = params[1].ToCFXWideString(pRuntime);
|
| - CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(nPageNo);
|
| + CPDFSDK_PageView* pPageView =
|
| + m_pFormFillEnv->GetSDKDocument()->GetPageView(nPageNo);
|
| if (!pPageView)
|
| return FALSE;
|
|
|
| @@ -1152,7 +1164,7 @@ FX_BOOL Document::getAnnots(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| @@ -1162,11 +1174,12 @@ FX_BOOL Document::getAnnots(IJS_Context* cc,
|
| // TODO(tonikitoo): Add support supported parameters as per
|
| // the PDF spec.
|
|
|
| - int nPageNo = m_pDocument->GetPageCount();
|
| + int nPageNo = m_pFormFillEnv->GetSDKDocument()->GetPageCount();
|
| CJS_Array annots;
|
|
|
| for (int i = 0; i < nPageNo; ++i) {
|
| - CPDFSDK_PageView* pPageView = m_pDocument->GetPageView(i);
|
| + CPDFSDK_PageView* pPageView =
|
| + m_pFormFillEnv->GetSDKDocument()->GetPageView(i);
|
| if (!pPageView)
|
| return FALSE;
|
|
|
| @@ -1379,17 +1392,17 @@ FX_BOOL Document::calculateNow(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - if (!(m_pDocument->GetPermissions(FPDFPERM_MODIFY) ||
|
| - m_pDocument->GetPermissions(FPDFPERM_ANNOT_FORM) ||
|
| - m_pDocument->GetPermissions(FPDFPERM_FILL_FORM))) {
|
| + if (!(m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_MODIFY) ||
|
| + m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_ANNOT_FORM) ||
|
| + m_pFormFillEnv->GetSDKDocument()->GetPermissions(FPDFPERM_FILL_FORM))) {
|
| sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
|
| return FALSE;
|
| }
|
| - m_pDocument->GetInterForm()->OnCalculate();
|
| + m_pFormFillEnv->GetSDKDocument()->GetInterForm()->OnCalculate();
|
| return TRUE;
|
| }
|
|
|
| @@ -1403,11 +1416,12 @@ FX_BOOL Document::getPageNthWord(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) {
|
| + if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(
|
| + FPDFPERM_EXTRACT_ACCESS)) {
|
| sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
|
| return FALSE;
|
| }
|
| @@ -1419,7 +1433,7 @@ FX_BOOL Document::getPageNthWord(IJS_Context* cc,
|
| int nWordNo = params.size() > 1 ? params[1].ToInt(pRuntime) : 0;
|
| bool bStrip = params.size() > 2 ? params[2].ToBool(pRuntime) : true;
|
|
|
| - CPDF_Document* pDocument = m_pDocument->GetPDFDocument();
|
| + CPDF_Document* pDocument = m_pFormFillEnv->GetSDKDocument()->GetPDFDocument();
|
| if (!pDocument)
|
| return FALSE;
|
|
|
| @@ -1462,11 +1476,12 @@ FX_BOOL Document::getPageNthWordQuads(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) {
|
| + if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(
|
| + FPDFPERM_EXTRACT_ACCESS)) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| @@ -1477,17 +1492,18 @@ FX_BOOL Document::getPageNumWords(IJS_Context* cc,
|
| const std::vector<CJS_Value>& params,
|
| CJS_Value& vRet,
|
| CFX_WideString& sError) {
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument->GetPermissions(FPDFPERM_EXTRACT_ACCESS)) {
|
| + if (!m_pFormFillEnv->GetSDKDocument()->GetPermissions(
|
| + FPDFPERM_EXTRACT_ACCESS)) {
|
| sError = JSGetStringFromID(IDS_STRING_JSNOPERMISSION);
|
| return FALSE;
|
| }
|
| CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
|
| int nPageNo = params.size() > 0 ? params[0].ToInt(pRuntime) : 0;
|
| - CPDF_Document* pDocument = m_pDocument->GetPDFDocument();
|
| + CPDF_Document* pDocument = m_pFormFillEnv->GetSDKDocument()->GetPDFDocument();
|
| if (nPageNo < 0 || nPageNo >= pDocument->GetPageCount()) {
|
| sError = JSGetStringFromID(IDS_STRING_JSVALUEERROR);
|
| return FALSE;
|
| @@ -1667,14 +1683,14 @@ FX_BOOL Document::gotoNamedDest(IJS_Context* cc,
|
| sError = JSGetStringFromID(IDS_STRING_JSPARAMERROR);
|
| return FALSE;
|
| }
|
| - if (!m_pDocument) {
|
| + if (!m_pFormFillEnv) {
|
| sError = JSGetStringFromID(IDS_STRING_JSBADOBJECT);
|
| return FALSE;
|
| }
|
| CJS_Runtime* pRuntime = CJS_Runtime::FromContext(cc);
|
| CFX_WideString wideName = params[0].ToCFXWideString(pRuntime);
|
| CFX_ByteString utf8Name = wideName.UTF8Encode();
|
| - CPDF_Document* pDocument = m_pDocument->GetPDFDocument();
|
| + CPDF_Document* pDocument = m_pFormFillEnv->GetSDKDocument()->GetPDFDocument();
|
| if (!pDocument)
|
| return FALSE;
|
|
|
| @@ -1698,9 +1714,9 @@ FX_BOOL Document::gotoNamedDest(IJS_Context* cc,
|
| }
|
|
|
| pRuntime->BeginBlock();
|
| - CPDFSDK_FormFillEnvironment* pApp = m_pDocument->GetEnv();
|
| - pApp->DoGoToAction(dest.GetPageIndex(pDocument), dest.GetZoomMode(),
|
| - scrollPositionArray.get(), scrollPositionArraySize);
|
| + m_pFormFillEnv->DoGoToAction(dest.GetPageIndex(pDocument), dest.GetZoomMode(),
|
| + scrollPositionArray.get(),
|
| + scrollPositionArraySize);
|
| pRuntime->EndBlock();
|
|
|
| return TRUE;
|
| @@ -1723,10 +1739,8 @@ void Document::DoFieldDelay(const CFX_WideString& sFieldName,
|
| }
|
| }
|
|
|
| - for (const auto& pData : DelayDataForFieldAndControlIndex) {
|
| - if (m_pDocument.Get())
|
| - Field::DoDelay(m_pDocument->GetEnv(), pData.get());
|
| - }
|
| + for (const auto& pData : DelayDataForFieldAndControlIndex)
|
| + Field::DoDelay(m_pFormFillEnv.Get(), pData.get());
|
| }
|
|
|
| CJS_Document* Document::GetCJSDoc() const {
|
|
|