Move fontglobal and fxcodec initialization to cpdf_pagemodule.cpp.
Then remove a number of dependent modules from BUILD.gn. This is
an intermediate step before removing CPDF_ModuleMgr entirely.
Change-Id: I4c54fcdc2dcda72c81e89b95744fe79da9982ddb
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/58551
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/BUILD.gn b/core/fpdfapi/BUILD.gn
index e364e7c..331f100 100644
--- a/core/fpdfapi/BUILD.gn
+++ b/core/fpdfapi/BUILD.gn
@@ -13,13 +13,7 @@
configs += [ "../../:pdfium_core_config" ]
deps = [
"../fxcodec",
- "../fxcrt",
- "../fxge",
- "edit",
- "font",
"page",
- "parser",
- "render",
]
visibility = [ "../../*" ]
}
diff --git a/core/fpdfapi/cpdf_modulemgr.cpp b/core/fpdfapi/cpdf_modulemgr.cpp
index 0cac7ef..b238719 100644
--- a/core/fpdfapi/cpdf_modulemgr.cpp
+++ b/core/fpdfapi/cpdf_modulemgr.cpp
@@ -6,9 +6,7 @@
#include "core/fpdfapi/cpdf_modulemgr.h"
-#include "core/fpdfapi/font/cpdf_fontglobals.h"
#include "core/fpdfapi/page/cpdf_pagemodule.h"
-#include "core/fxcodec/fx_codec.h"
namespace {
@@ -19,9 +17,7 @@
// static
void CPDF_ModuleMgr::Create() {
ASSERT(!g_bModuleMgrCreated);
- fxcodec::ModuleMgr::Create();
CPDF_PageModule::Create();
- CPDF_FontGlobals::GetInstance()->LoadEmbeddedMaps();
g_bModuleMgrCreated = true;
}
@@ -29,6 +25,5 @@
void CPDF_ModuleMgr::Destroy() {
ASSERT(g_bModuleMgrCreated);
CPDF_PageModule::Destroy();
- fxcodec::ModuleMgr::Destroy();
g_bModuleMgrCreated = false;
}
diff --git a/core/fpdfapi/page/cpdf_pagemodule.cpp b/core/fpdfapi/page/cpdf_pagemodule.cpp
index 65aba70..705d313 100644
--- a/core/fpdfapi/page/cpdf_pagemodule.cpp
+++ b/core/fpdfapi/page/cpdf_pagemodule.cpp
@@ -10,6 +10,7 @@
#include "core/fpdfapi/page/cpdf_colorspace.h"
#include "core/fpdfapi/page/cpdf_devicecs.h"
#include "core/fpdfapi/page/cpdf_patterncs.h"
+#include "core/fxcodec/fx_codec.h"
namespace {
@@ -20,6 +21,7 @@
// static
void CPDF_PageModule::Create() {
ASSERT(!g_PageModule);
+ fxcodec::ModuleMgr::Create();
g_PageModule = new CPDF_PageModule();
}
@@ -28,6 +30,7 @@
ASSERT(g_PageModule);
delete g_PageModule;
g_PageModule = nullptr;
+ fxcodec::ModuleMgr::Destroy();
}
// static
@@ -43,6 +46,7 @@
m_StockPatternCS(pdfium::MakeRetain<CPDF_PatternCS>(nullptr)) {
m_StockPatternCS->InitializeStockPattern();
CPDF_FontGlobals::Create();
+ CPDF_FontGlobals::GetInstance()->LoadEmbeddedMaps();
}
CPDF_PageModule::~CPDF_PageModule() {