diff options
author | dsinclair <dsinclair@chromium.org> | 2016-11-01 11:22:37 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-11-01 11:22:37 -0700 |
commit | 8837c91c0db8f9205b7e58db97946e9af7958b39 (patch) | |
tree | aa23430c284fe741685327e4f4704b2846514c54 /fpdfsdk/fpdfview.cpp | |
parent | fcb1728c35f97a67fa0297f12bb13d3cafb01fe1 (diff) | |
download | pdfium-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.cpp | 21 |
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 |