| Commit-Queue | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
-- Avoid runtime test for skia if not compiled into PDFium.I think that was there to avoid writing so many ifdefs, but ok.
const RendererType renderer_type_;Maybe wrap in `#if defined(PDF_USE_SKIA)` since it's only read in UseSkiaRenderer()? Or just leave it, since mucking with conditional initializer lists is not fun.
if (config->m_RendererType == FPDF_RENDERERTYPE_AGG ||CHECK() like before?
// Note: we teardown/destroy things in reverse order.Keep the note.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Maybe wrap in `#if defined(PDF_USE_SKIA)` since it's only read in UseSkiaRenderer()? Or just leave it, since mucking with conditional initializer lists is not fun.
Exactly. Makes calls ugly.
if (config->m_RendererType == FPDF_RENDERERTYPE_AGG ||Tom SepezCHECK() like before?
Done
// Note: we teardown/destroy things in reverse order.Tom SepezKeep the note.
Done
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
12 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:
```
The name of the file: fpdfsdk/fpdf_view.cpp
Insertions: 26, Deletions: 14.
@@ -200,24 +200,35 @@
FX_InitializeMemoryAllocators();
CFX_Timer::InitializeGlobals();
- CFX_FontMgr::FontBackend backend = CFX_FontMgr::FontBackend::kFreeType;
CFX_GEModule::RendererType renderer_type =
CFX_GEModule::RendererType::kDefault;
-#if defined(PDF_USE_SKIA)
if (config && config->version >= 4) {
- if (config->m_RendererType == FPDF_RENDERERTYPE_AGG ||
- config->m_RendererType == FPDF_RENDERERTYPE_SKIA) {
- renderer_type =
- static_cast<CFX_GEModule::RendererType>(config->m_RendererType);
- }
- }
- if (config && config->version >= 5 &&
- config->m_FontLibraryType != FPDF_FONTBACKENDTYPE_FREETYPE) {
- CHECK_EQ(config->m_FontLibraryType, FPDF_FONTBACKENDTYPE_FONTATIONS);
- CHECK_EQ(config->m_RendererType, FPDF_RENDERERTYPE_SKIA);
- backend = CFX_FontMgr::FontBackend::kFontations;
- }
+#if defined(PDF_USE_SKIA)
+ CHECK(config->m_RendererType == FPDF_RENDERERTYPE_AGG ||
+ config->m_RendererType == FPDF_RENDERERTYPE_SKIA);
+ renderer_type =
+ static_cast<CFX_GEModule::RendererType>(config->m_RendererType);
+#else
+ // AGG-only builds should always use `FPDF_RENDERERTYPE_AGG`.
+ CHECK_EQ(config->m_RendererType, FPDF_RENDERERTYPE_AGG);
#endif
+ }
+
+ CFX_FontMgr::FontBackend backend = CFX_FontMgr::FontBackend::kFreeType;
+ if (config && config->version >= 5) {
+#if defined(PDF_USE_SKIA)
+ CHECK(config->m_FontLibraryType == FPDF_FONTBACKENDTYPE_FREETYPE ||
+ config->m_FontLibraryType == FPDF_FONTBACKENDTYPE_FONTATIONS);
+ if (config->m_FontLibraryType == FPDF_FONTBACKENDTYPE_FONTATIONS) {
+ CHECK_EQ(renderer_type, CFX_GEModule::RendererType::kSkia);
+ backend = CFX_FontMgr::FontBackend::kFontations;
+ }
+#else
+ // AGG-only builds should always use `FPDF_FONTBACKENDTYPE_FREETYPE`.
+ CHECK_EQ(config->m_FontLibraryType, FPDF_FONTBACKENDTYPE_FREETYPE);
+#endif
+ }
+
CFX_GEModule::Create(config ? config->m_pUserFontPaths : nullptr,
renderer_type, backend);
@@ -240,6 +251,7 @@
return;
}
+ // Note: we teardown/destroy things in reverse order.
IJS_Runtime::Destroy();
#ifdef PDF_ENABLE_XFA
```
Move renderer selection from CFX_DefaultRenderDevice to CFX_GEModule.
Consolidate initialization into a single CFX_GEModule::Create() call.
This centralizes global engine state and simplifies the library
initialization workflow.
-- Avoid runtime test for skia if not compiled into PDFium.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |