Remove duplicate code in CPWL_EditImpl_Provider.

CPWL_EditImpl_Provider sometimes overrides CPDF_VariableText::Provider
with the same code as the base class. Remove this duplication.

Change-Id: I7388b9050a7b5c49013eb9a019bc8261051712da
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/79056
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfdoc/cpdf_variabletext.h b/core/fpdfdoc/cpdf_variabletext.h
index 4baa125..8c43b1f 100644
--- a/core/fpdfdoc/cpdf_variabletext.h
+++ b/core/fpdfdoc/cpdf_variabletext.h
@@ -62,6 +62,8 @@
     virtual bool IsLatinWord(uint16_t word);
     virtual int32_t GetDefaultFontIndex();
 
+    IPVT_FontMap* GetFontMap() { return m_pFontMap.Get(); }
+
    private:
     UnownedPtr<IPVT_FontMap> const m_pFontMap;
   };
diff --git a/fpdfsdk/pwl/cpwl_edit_impl.cpp b/fpdfsdk/pwl/cpwl_edit_impl.cpp
index 307c635..44a1d67 100644
--- a/fpdfsdk/pwl/cpwl_edit_impl.cpp
+++ b/fpdfsdk/pwl/cpwl_edit_impl.cpp
@@ -101,49 +101,28 @@
 }
 
 CPWL_EditImpl_Provider::CPWL_EditImpl_Provider(IPVT_FontMap* pFontMap)
-    : CPDF_VariableText::Provider(pFontMap), m_pFontMap(pFontMap) {
-  DCHECK(m_pFontMap);
-}
+    : CPDF_VariableText::Provider(pFontMap) {}
 
 CPWL_EditImpl_Provider::~CPWL_EditImpl_Provider() = default;
 
-IPVT_FontMap* CPWL_EditImpl_Provider::GetFontMap() const {
-  return m_pFontMap;
-}
-
 int CPWL_EditImpl_Provider::GetCharWidth(int32_t nFontIndex, uint16_t word) {
-  RetainPtr<CPDF_Font> pPDFFont = m_pFontMap->GetPDFFont(nFontIndex);
+  RetainPtr<CPDF_Font> pPDFFont = GetFontMap()->GetPDFFont(nFontIndex);
   if (!pPDFFont)
     return 0;
 
   uint32_t charcode = pPDFFont->IsUnicodeCompatible()
                           ? pPDFFont->CharCodeFromUnicode(word)
-                          : m_pFontMap->CharCodeFromUnicode(nFontIndex, word);
-
+                          : GetFontMap()->CharCodeFromUnicode(nFontIndex, word);
   if (charcode == CPDF_Font::kInvalidCharCode)
     return 0;
 
   return pPDFFont->GetCharWidthF(charcode);
 }
 
-int32_t CPWL_EditImpl_Provider::GetTypeAscent(int32_t nFontIndex) {
-  RetainPtr<CPDF_Font> pPDFFont = m_pFontMap->GetPDFFont(nFontIndex);
-  return pPDFFont ? pPDFFont->GetTypeAscent() : 0;
-}
-
-int32_t CPWL_EditImpl_Provider::GetTypeDescent(int32_t nFontIndex) {
-  RetainPtr<CPDF_Font> pPDFFont = m_pFontMap->GetPDFFont(nFontIndex);
-  return pPDFFont ? pPDFFont->GetTypeDescent() : 0;
-}
-
 int32_t CPWL_EditImpl_Provider::GetWordFontIndex(uint16_t word,
                                                  int32_t charset,
                                                  int32_t nFontIndex) {
-  return m_pFontMap->GetWordFontIndex(word, charset, nFontIndex);
-}
-
-int32_t CPWL_EditImpl_Provider::GetDefaultFontIndex() {
-  return 0;
+  return GetFontMap()->GetWordFontIndex(word, charset, nFontIndex);
 }
 
 bool CPWL_EditImpl_Provider::IsLatinWord(uint16_t word) {
diff --git a/fpdfsdk/pwl/cpwl_edit_impl.h b/fpdfsdk/pwl/cpwl_edit_impl.h
index 3e3950a..6a35c3e 100644
--- a/fpdfsdk/pwl/cpwl_edit_impl.h
+++ b/fpdfsdk/pwl/cpwl_edit_impl.h
@@ -445,20 +445,12 @@
   explicit CPWL_EditImpl_Provider(IPVT_FontMap* pFontMap);
   ~CPWL_EditImpl_Provider() override;
 
-  IPVT_FontMap* GetFontMap() const;
-
   // CPDF_VariableText::Provider:
   int GetCharWidth(int32_t nFontIndex, uint16_t word) override;
-  int32_t GetTypeAscent(int32_t nFontIndex) override;
-  int32_t GetTypeDescent(int32_t nFontIndex) override;
   int32_t GetWordFontIndex(uint16_t word,
                            int32_t charset,
                            int32_t nFontIndex) override;
-  int32_t GetDefaultFontIndex() override;
   bool IsLatinWord(uint16_t word) override;
-
- private:
-  UnownedPtr<IPVT_FontMap> m_pFontMap;
 };
 
 #endif  // FPDFSDK_PWL_CPWL_EDIT_IMPL_H_