Nest CTTFontDesc inside CFX_FontMgr.

Resolves one inconsistently named class. The class is only used
by CFX_FontMgr as a cache element, so it might as well provide
it itself.

Change-Id: Ic2b4a340a8187ec2171baa7092d5b165f4a6fd71
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/56570
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxge/BUILD.gn b/core/fxge/BUILD.gn
index 1dcf751..00db31c 100644
--- a/core/fxge/BUILD.gn
+++ b/core/fxge/BUILD.gn
@@ -54,8 +54,6 @@
     "cfx_substfont.h",
     "cfx_unicodeencoding.cpp",
     "cfx_unicodeencoding.h",
-    "cttfontdesc.cpp",
-    "cttfontdesc.h",
     "dib/cfx_bitmapcomposer.cpp",
     "dib/cfx_bitmapcomposer.h",
     "dib/cfx_bitmapstorer.cpp",
diff --git a/core/fxge/cfx_fontmapper.cpp b/core/fxge/cfx_fontmapper.cpp
index 749aa4d..fb88b3c 100644
--- a/core/fxge/cfx_fontmapper.cpp
+++ b/core/fxge/cfx_fontmapper.cpp
@@ -17,7 +17,6 @@
 #include "core/fxcrt/fx_codepage.h"
 #include "core/fxge/cfx_fontmgr.h"
 #include "core/fxge/cfx_substfont.h"
-#include "core/fxge/cttfontdesc.h"
 #include "core/fxge/fx_font.h"
 #include "core/fxge/systemfontinfo_iface.h"
 #include "third_party/base/stl_util.h"
@@ -683,7 +682,8 @@
     for (int i = 0; i < 256; i++)
       checksum += pBuffer[i];
   }
-  CTTFontDesc* pFontDesc = m_pFontMgr->GetCachedTTCFontDesc(ttc_size, checksum);
+  CFX_FontMgr::FontDesc* pFontDesc =
+      m_pFontMgr->GetCachedTTCFontDesc(ttc_size, checksum);
   if (!pFontDesc) {
     std::unique_ptr<uint8_t, FxFreeDeleter> pFontData(
         FX_Alloc(uint8_t, ttc_size));
@@ -713,7 +713,7 @@
                                                   int weight,
                                                   bool bItalic,
                                                   uint32_t font_size) {
-  CTTFontDesc* pFontDesc =
+  CFX_FontMgr::FontDesc* pFontDesc =
       m_pFontMgr->GetCachedFontDesc(SubstName, weight, bItalic);
   if (!pFontDesc) {
     std::unique_ptr<uint8_t, FxFreeDeleter> pFontData(
diff --git a/core/fxge/cfx_fontmgr.cpp b/core/fxge/cfx_fontmgr.cpp
index 746c8ba..f47f055 100644
--- a/core/fxge/cfx_fontmgr.cpp
+++ b/core/fxge/cfx_fontmgr.cpp
@@ -9,9 +9,9 @@
 #include <memory>
 #include <utility>
 
+#include "core/fxge/cfx_face.h"
 #include "core/fxge/cfx_fontmapper.h"
 #include "core/fxge/cfx_substfont.h"
-#include "core/fxge/cttfontdesc.h"
 #include "core/fxge/fontdata/chromefontdata/chromefontdata.h"
 #include "core/fxge/fx_font.h"
 #include "core/fxge/systemfontinfo_iface.h"
@@ -68,6 +68,22 @@
 
 }  // namespace
 
+CFX_FontMgr::FontDesc::FontDesc(std::unique_ptr<uint8_t, FxFreeDeleter> pData,
+                                size_t size)
+    : m_Size(size), m_pFontData(std::move(pData)) {}
+
+CFX_FontMgr::FontDesc::~FontDesc() = default;
+
+void CFX_FontMgr::FontDesc::SetFace(size_t index, CFX_Face* face) {
+  ASSERT(index < FX_ArraySize(m_TTCFaces));
+  m_TTCFaces[index].Reset(face);
+}
+
+CFX_Face* CFX_FontMgr::FontDesc::GetFace(size_t index) const {
+  ASSERT(index < FX_ArraySize(m_TTCFaces));
+  return m_TTCFaces[index].Get();
+}
+
 CFX_FontMgr::CFX_FontMgr()
     : m_FTLibrary(FTLibraryInitHelper()),
       m_pBuiltinMapper(pdfium::MakeUnique<CFX_FontMapper>(this)),
@@ -92,37 +108,38 @@
                                          italic_angle, CharsetCP, pSubstFont);
 }
 
-CTTFontDesc* CFX_FontMgr::GetCachedFontDesc(const ByteString& face_name,
-                                            int weight,
-                                            bool bItalic) {
+CFX_FontMgr::FontDesc* CFX_FontMgr::GetCachedFontDesc(
+    const ByteString& face_name,
+    int weight,
+    bool bItalic) {
   auto it = m_FaceMap.find(KeyNameFromFace(face_name, weight, bItalic));
   return it != m_FaceMap.end() ? it->second.get() : nullptr;
 }
 
-CTTFontDesc* CFX_FontMgr::AddCachedFontDesc(
+CFX_FontMgr::FontDesc* CFX_FontMgr::AddCachedFontDesc(
     const ByteString& face_name,
     int weight,
     bool bItalic,
     std::unique_ptr<uint8_t, FxFreeDeleter> pData,
     uint32_t size) {
-  auto pFontDesc = pdfium::MakeUnique<CTTFontDesc>(std::move(pData), size);
+  auto pFontDesc = pdfium::MakeUnique<FontDesc>(std::move(pData), size);
   auto* result = pFontDesc.get();
   m_FaceMap[KeyNameFromFace(face_name, weight, bItalic)] = std::move(pFontDesc);
   return result;
 }
 
-CTTFontDesc* CFX_FontMgr::GetCachedTTCFontDesc(int ttc_size,
-                                               uint32_t checksum) {
+CFX_FontMgr::FontDesc* CFX_FontMgr::GetCachedTTCFontDesc(int ttc_size,
+                                                         uint32_t checksum) {
   auto it = m_FaceMap.find(KeyNameFromSize(ttc_size, checksum));
   return it != m_FaceMap.end() ? it->second.get() : nullptr;
 }
 
-CTTFontDesc* CFX_FontMgr::AddCachedTTCFontDesc(
+CFX_FontMgr::FontDesc* CFX_FontMgr::AddCachedTTCFontDesc(
     int ttc_size,
     uint32_t checksum,
     std::unique_ptr<uint8_t, FxFreeDeleter> pData,
     uint32_t size) {
-  auto pNewDesc = pdfium::MakeUnique<CTTFontDesc>(std::move(pData), size);
+  auto pNewDesc = pdfium::MakeUnique<FontDesc>(std::move(pData), size);
   auto* pResult = pNewDesc.get();
   m_FaceMap[KeyNameFromSize(ttc_size, checksum)] = std::move(pNewDesc);
   return pResult;
diff --git a/core/fxge/cfx_fontmgr.h b/core/fxge/cfx_fontmgr.h
index 64138c4..0db8fa3 100644
--- a/core/fxge/cfx_fontmgr.h
+++ b/core/fxge/cfx_fontmgr.h
@@ -12,39 +12,56 @@
 
 #include "core/fxcrt/fx_memory.h"
 #include "core/fxcrt/fx_string.h"
+#include "core/fxcrt/observed_ptr.h"
 #include "core/fxge/cfx_face.h"
 #include "core/fxge/fx_freetype.h"
 #include "third_party/base/optional.h"
 #include "third_party/base/span.h"
 
+class CFX_Face;
 class CFX_FontMapper;
 class CFX_SubstFont;
-class CTTFontDesc;
 class SystemFontInfoIface;
 
 class CFX_FontMgr {
  public:
+  class FontDesc {
+   public:
+    FontDesc(std::unique_ptr<uint8_t, FxFreeDeleter> pData, size_t size);
+    ~FontDesc();
+
+    pdfium::span<uint8_t> FontData() const {
+      return {m_pFontData.get(), m_Size};
+    }
+    void SetFace(size_t index, CFX_Face* face);
+    CFX_Face* GetFace(size_t index) const;
+
+   private:
+    const size_t m_Size;
+    std::unique_ptr<uint8_t, FxFreeDeleter> const m_pFontData;
+    ObservedPtr<CFX_Face> m_TTCFaces[16];
+  };
+
   static Optional<pdfium::span<const uint8_t>> GetBuiltinFont(size_t index);
 
   CFX_FontMgr();
   ~CFX_FontMgr();
 
-  CTTFontDesc* GetCachedFontDesc(const ByteString& face_name,
-                                 int weight,
-                                 bool bItalic);
-  CTTFontDesc* AddCachedFontDesc(const ByteString& face_name,
-                                 int weight,
-                                 bool bItalic,
+  FontDesc* GetCachedFontDesc(const ByteString& face_name,
+                              int weight,
+                              bool bItalic);
+  FontDesc* AddCachedFontDesc(const ByteString& face_name,
+                              int weight,
+                              bool bItalic,
+                              std::unique_ptr<uint8_t, FxFreeDeleter> pData,
+                              uint32_t size);
+
+  FontDesc* GetCachedTTCFontDesc(int ttc_size, uint32_t checksum);
+  FontDesc* AddCachedTTCFontDesc(int ttc_size,
+                                 uint32_t checksum,
                                  std::unique_ptr<uint8_t, FxFreeDeleter> pData,
                                  uint32_t size);
 
-  CTTFontDesc* GetCachedTTCFontDesc(int ttc_size, uint32_t checksum);
-  CTTFontDesc* AddCachedTTCFontDesc(
-      int ttc_size,
-      uint32_t checksum,
-      std::unique_ptr<uint8_t, FxFreeDeleter> pData,
-      uint32_t size);
-
   RetainPtr<CFX_Face> NewFixedFace(pdfium::span<const uint8_t> span,
                                    int face_index);
   RetainPtr<CFX_Face> FindSubstFont(const ByteString& face_name,
@@ -70,7 +87,7 @@
   // Must come before |m_pBuiltinMapper| and |m_FaceMap|.
   ScopedFXFTLibraryRec const m_FTLibrary;
   std::unique_ptr<CFX_FontMapper> m_pBuiltinMapper;
-  std::map<ByteString, std::unique_ptr<CTTFontDesc>> m_FaceMap;
+  std::map<ByteString, std::unique_ptr<FontDesc>> m_FaceMap;
   const bool m_FTLibrarySupportsHinting;
 };
 
diff --git a/core/fxge/cttfontdesc.cpp b/core/fxge/cttfontdesc.cpp
deleted file mode 100644
index 42c8a60..0000000
--- a/core/fxge/cttfontdesc.cpp
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#include "core/fxge/cttfontdesc.h"
-
-#include <utility>
-
-#include "core/fxge/cfx_face.h"
-
-CTTFontDesc::CTTFontDesc(std::unique_ptr<uint8_t, FxFreeDeleter> pData,
-                         size_t size)
-    : m_pFontData(std::move(pData)), m_Size(size) {}
-
-CTTFontDesc::~CTTFontDesc() = default;
-
-void CTTFontDesc::SetFace(size_t index, CFX_Face* face) {
-  ASSERT(index < FX_ArraySize(m_TTCFaces));
-  m_TTCFaces[index].Reset(face);
-}
-
-CFX_Face* CTTFontDesc::GetFace(size_t index) const {
-  ASSERT(index < FX_ArraySize(m_TTCFaces));
-  return m_TTCFaces[index].Get();
-}
diff --git a/core/fxge/cttfontdesc.h b/core/fxge/cttfontdesc.h
deleted file mode 100644
index ac57d69..0000000
--- a/core/fxge/cttfontdesc.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2016 PDFium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
-
-#ifndef CORE_FXGE_CTTFONTDESC_H_
-#define CORE_FXGE_CTTFONTDESC_H_
-
-#include <memory>
-
-#include "core/fxcrt/fx_memory.h"
-#include "core/fxcrt/fx_system.h"
-#include "core/fxcrt/observed_ptr.h"
-#include "third_party/base/span.h"
-
-class CFX_Face;
-
-class CTTFontDesc {
- public:
-  CTTFontDesc(std::unique_ptr<uint8_t, FxFreeDeleter> pData, size_t size);
-  ~CTTFontDesc();
-
-  pdfium::span<const uint8_t> FontData() const {
-    return {m_pFontData.get(), m_Size};
-  }
-  void SetFace(size_t index, CFX_Face* face);
-  CFX_Face* GetFace(size_t index) const;
-
- private:
-  std::unique_ptr<uint8_t, FxFreeDeleter> const m_pFontData;
-  const size_t m_Size;
-  ObservedPtr<CFX_Face> m_TTCFaces[16];
-};
-
-#endif  // CORE_FXGE_CTTFONTDESC_H_