summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdfview.cpp
diff options
context:
space:
mode:
authordsinclair <dsinclair@chromium.org>2016-11-01 11:22:37 -0700
committerCommit bot <commit-bot@chromium.org>2016-11-01 11:22:37 -0700
commit8837c91c0db8f9205b7e58db97946e9af7958b39 (patch)
treeaa23430c284fe741685327e4f4704b2846514c54 /fpdfsdk/fpdfview.cpp
parentfcb1728c35f97a67fa0297f12bb13d3cafb01fe1 (diff)
downloadpdfium-8837c91c0db8f9205b7e58db97946e9af7958b39.tar.xz
Reland: Make the CPDFXFA_App non-globalchromium/2907
This reverts commit a282c7380f3964de41ea93c9980b12c4513d3473. This CL changes CPDFXFA_App from a global object to a child of the CPDFXFA_Document objects. BUG=pdfium:623 Review-Url: https://codereview.chromium.org/2421603002
Diffstat (limited to 'fpdfsdk/fpdfview.cpp')
-rw-r--r--fpdfsdk/fpdfview.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp
index 03aedf6874..f8e8e47e0f 100644
--- a/fpdfsdk/fpdfview.cpp
+++ b/fpdfsdk/fpdfview.cpp
@@ -42,6 +42,7 @@
#include "fpdfsdk/fpdfxfa/cpdfxfa_page.h"
#include "fpdfsdk/fpdfxfa/cxfa_fwladaptertimermgr.h"
#include "public/fpdf_formfill.h"
+#include "xfa/fxbarcode/BC_Library.h"
#endif // PDF_ENABLE_XFA
#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
@@ -70,8 +71,8 @@ CPDF_Document* CPDFDocumentFromFPDFDocument(FPDF_DOCUMENT doc) {
FPDF_DOCUMENT FPDFDocumentFromCPDFDocument(CPDF_Document* doc) {
#ifdef PDF_ENABLE_XFA
- return doc ? FPDFDocumentFromUnderlying(new CPDFXFA_Document(
- pdfium::WrapUnique(doc), CPDFXFA_App::GetInstance()))
+ return doc ? FPDFDocumentFromUnderlying(
+ new CPDFXFA_Document(pdfium::WrapUnique(doc)))
: nullptr;
#else // PDF_ENABLE_XFA
return FPDFDocumentFromUnderlying(doc);
@@ -249,19 +250,19 @@ FPDF_InitLibraryWithConfig(const FPDF_LIBRARY_CONFIG* cfg) {
pModuleMgr->LoadEmbeddedKorea1CMaps();
#ifdef PDF_ENABLE_XFA
- CPDFXFA_App::GetInstance()->Initialize(
- (cfg && cfg->version >= 2) ? static_cast<v8::Isolate*>(cfg->m_pIsolate)
- : nullptr);
+ FXJSE_Initialize();
+ BC_Library_Init();
#endif // PDF_ENABLE_XFA
-
if (cfg && cfg->version >= 2)
IJS_Runtime::Initialize(cfg->m_v8EmbedderSlot, cfg->m_pIsolate);
}
DLLEXPORT void STDCALL FPDF_DestroyLibrary() {
#ifdef PDF_ENABLE_XFA
- CPDFXFA_App::ReleaseInstance();
+ BC_Library_Destory();
+ FXJSE_Finalize();
#endif // PDF_ENABLE_XFA
+
CPDF_ModuleMgr::Destroy();
CFX_GEModule::Destroy();
@@ -342,11 +343,7 @@ DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_LoadDocument(FPDF_STRING file_path,
ProcessParseError(error);
return nullptr;
}
-#ifdef PDF_ENABLE_XFA
- return new CPDFXFA_Document(std::move(pDocument), CPDFXFA_App::GetInstance());
-#else // PDF_ENABLE_XFA
- return pDocument.release();
-#endif // PDF_ENABLE_XFA
+ return FPDFDocumentFromCPDFDocument(pDocument.release());
}
#ifdef PDF_ENABLE_XFA