De-virtualize CPDF_ColorSpace::GetPatternRGB().

Its only caller has already cast to the only subclass that implements
it before calling. Then remove unreachable stub in parent class.

Change-Id: Ia9e4809f7ec5a51cfdc614b71542b4036633ca24
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/84690
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/page/cpdf_colorspace.cpp b/core/fpdfapi/page/cpdf_colorspace.cpp
index 5ab6f40..d0c0323 100644
--- a/core/fpdfapi/page/cpdf_colorspace.cpp
+++ b/core/fpdfapi/page/cpdf_colorspace.cpp
@@ -662,14 +662,6 @@
   return nullptr;
 }
 
-bool CPDF_ColorSpace::GetPatternRGB(const PatternValue& value,
-                                    float* R,
-                                    float* G,
-                                    float* B) const {
-  NOTREACHED();
-  return false;
-}
-
 CPDF_ColorSpace::CPDF_ColorSpace(CPDF_Document* pDoc, Family family)
     : m_pDocument(pDoc), m_Family(family) {}
 
diff --git a/core/fpdfapi/page/cpdf_colorspace.h b/core/fpdfapi/page/cpdf_colorspace.h
index f0a9e60..6b5b8c7 100644
--- a/core/fpdfapi/page/cpdf_colorspace.h
+++ b/core/fpdfapi/page/cpdf_colorspace.h
@@ -96,6 +96,7 @@
            GetFamily() == Family::kPattern;
   }
 
+  // Use CPDF_Pattern::GetPatternRGB() instead of GetRGB() for patterns.
   virtual bool GetRGB(pdfium::span<const float> pBuf,
                       float* R,
                       float* G,
@@ -118,12 +119,6 @@
   virtual CPDF_PatternCS* AsPatternCS();
   virtual const CPDF_PatternCS* AsPatternCS() const;
 
-  // Use instead of GetRGB() for patterns.
-  virtual bool GetPatternRGB(const PatternValue& value,
-                             float* R,
-                             float* G,
-                             float* B) const;
-
  protected:
   CPDF_ColorSpace(CPDF_Document* pDoc, Family family);
   ~CPDF_ColorSpace() override;
diff --git a/core/fpdfapi/page/cpdf_patterncs.h b/core/fpdfapi/page/cpdf_patterncs.h
index 2df1613..c94b5b2 100644
--- a/core/fpdfapi/page/cpdf_patterncs.h
+++ b/core/fpdfapi/page/cpdf_patterncs.h
@@ -28,16 +28,17 @@
               float* R,
               float* G,
               float* B) const override;
-  bool GetPatternRGB(const PatternValue& value,
-                     float* R,
-                     float* G,
-                     float* B) const override;
   CPDF_PatternCS* AsPatternCS() override;
   const CPDF_PatternCS* AsPatternCS() const override;
   uint32_t v_Load(CPDF_Document* pDoc,
                   const CPDF_Array* pArray,
                   std::set<const CPDF_Object*>* pVisited) override;
 
+  bool GetPatternRGB(const PatternValue& value,
+                     float* R,
+                     float* G,
+                     float* B) const;
+
  private:
   explicit CPDF_PatternCS(CPDF_Document* pDoc);