From 81f02f4c8347890ce66d6ec48781589d10098689 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 26 Sep 2017 12:02:16 -0400 Subject: Move font source into CFGAS_FontMgr This CL moves the font source into the font manager so it doesn't need to be stored by each caller (and removes the platform dependant code). The |EnumFonts| method is exposed on the CFGAS_FontMgr so the caller can clear the manager if the enumeration fails. Change-Id: Iecce3d2e09ff01152b7bb79a34fe2b728320da9c Reviewed-on: https://pdfium-review.googlesource.com/14816 Reviewed-by: Henrique Nakashima Commit-Queue: dsinclair --- xfa/fwl/theme/cfwl_widgettp.cpp | 10 ++++------ xfa/fwl/theme/cfwl_widgettp.h | 3 --- 2 files changed, 4 insertions(+), 9 deletions(-) (limited to 'xfa/fwl') diff --git a/xfa/fwl/theme/cfwl_widgettp.cpp b/xfa/fwl/theme/cfwl_widgettp.cpp index 630da7793d..b2c1c9aa74 100644 --- a/xfa/fwl/theme/cfwl_widgettp.cpp +++ b/xfa/fwl/theme/cfwl_widgettp.cpp @@ -274,13 +274,11 @@ bool CFWL_FontData::LoadFont(const WideStringView& wsFontFamily, m_dwStyles = dwFontStyles; m_dwCodePage = dwCodePage; if (!m_pFontMgr) { -#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ - m_pFontMgr = CFGAS_FontMgr::Create(FX_GetDefFontEnumerator()); -#else - m_pFontSource = pdfium::MakeUnique(); - m_pFontMgr = CFGAS_FontMgr::Create(m_pFontSource.get()); -#endif + m_pFontMgr = pdfium::MakeUnique(); + if (!m_pFontMgr->EnumFonts()) + m_pFontMgr = nullptr; } + // TODO(tsepez): check usage of c_str() below. m_pFont = CFGAS_GEFont::LoadFont(wsFontFamily.unterminated_c_str(), dwFontStyles, dwCodePage, m_pFontMgr.get()); diff --git a/xfa/fwl/theme/cfwl_widgettp.h b/xfa/fwl/theme/cfwl_widgettp.h index eb1423e602..32a48d136d 100644 --- a/xfa/fwl/theme/cfwl_widgettp.h +++ b/xfa/fwl/theme/cfwl_widgettp.h @@ -118,9 +118,6 @@ class CFWL_FontData { WideString m_wsFamily; uint32_t m_dwStyles; uint32_t m_dwCodePage; -#if _FXM_PLATFORM_ != _FXM_PLATFORM_WINDOWS_ - std::unique_ptr m_pFontSource; -#endif std::unique_ptr m_pFontMgr; RetainPtr m_pFont; }; -- cgit v1.2.3