Make CFX_DIBitmap more const-correct

Mark various source bitmap parameters as const.

Bug: pdfium:2115
Change-Id: Ie5d8ba787d19308ce9dc518dfd3c2cd35f5adf89
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/115391
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/dib/cfx_dibitmap.cpp b/core/fxge/dib/cfx_dibitmap.cpp
index f3d70e4..e4bb777 100644
--- a/core/fxge/dib/cfx_dibitmap.cpp
+++ b/core/fxge/dib/cfx_dibitmap.cpp
@@ -68,7 +68,7 @@
   return true;
 }
 
-bool CFX_DIBitmap::Copy(const RetainPtr<CFX_DIBBase>& pSrc) {
+bool CFX_DIBitmap::Copy(const RetainPtr<const CFX_DIBBase>& pSrc) {
   if (m_pBuffer)
     return false;
 
@@ -191,13 +191,14 @@
   }
 }
 
-bool CFX_DIBitmap::TransferBitmap(int dest_left,
-                                  int dest_top,
-                                  int width,
-                                  int height,
-                                  const RetainPtr<CFX_DIBBase>& pSrcBitmap,
-                                  int src_left,
-                                  int src_top) {
+bool CFX_DIBitmap::TransferBitmap(
+    int dest_left,
+    int dest_top,
+    int width,
+    int height,
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
+    int src_left,
+    int src_top) {
   if (!m_pBuffer)
     return false;
 
@@ -231,7 +232,7 @@
     int dest_top,
     int width,
     int height,
-    const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
     int src_left,
     int src_top) {
   if (HasPalette())
@@ -258,7 +259,7 @@
     int dest_top,
     int width,
     int height,
-    const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
     int src_left,
     int src_top) {
   int Bpp = GetBPP() / 8;
@@ -276,7 +277,7 @@
     int dest_top,
     int width,
     int height,
-    const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
     int src_left,
     int src_top) {
   for (int row = 0; row < height; ++row) {
@@ -295,11 +296,11 @@
 
 bool CFX_DIBitmap::SetChannelFromBitmap(
     Channel destChannel,
-    const RetainPtr<CFX_DIBBase>& pSrcBitmap) {
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap) {
   if (!m_pBuffer)
     return false;
 
-  RetainPtr<CFX_DIBBase> pSrcClone = pSrcBitmap;
+  RetainPtr<const CFX_DIBBase> pSrcClone = pSrcBitmap;
   if (!pSrcBitmap->IsAlphaFormat() && !pSrcBitmap->IsMaskFormat())
     return false;
 
@@ -362,11 +363,12 @@
 }
 
 bool CFX_DIBitmap::SetAlphaFromBitmap(
-    const RetainPtr<CFX_DIBBase>& pSrcBitmap) {
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap) {
   return SetChannelFromBitmap(Channel::kAlpha, pSrcBitmap);
 }
 
-bool CFX_DIBitmap::SetRedFromBitmap(const RetainPtr<CFX_DIBBase>& pSrcBitmap) {
+bool CFX_DIBitmap::SetRedFromBitmap(
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap) {
   return SetChannelFromBitmap(Channel::kRed, pSrcBitmap);
 }
 
@@ -397,7 +399,8 @@
   return true;
 }
 
-bool CFX_DIBitmap::MultiplyAlpha(const RetainPtr<CFX_DIBBase>& pSrcBitmap) {
+bool CFX_DIBitmap::MultiplyAlpha(
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap) {
   CHECK(pSrcBitmap->IsMaskFormat());
 
   if (!m_pBuffer) {
@@ -407,7 +410,7 @@
   if (IsOpaqueImage())
     return SetAlphaFromBitmap(pSrcBitmap);
 
-  RetainPtr<CFX_DIBitmap> pSrcClone = pSrcBitmap.As<CFX_DIBitmap>();
+  RetainPtr<const CFX_DIBitmap> pSrcClone = pSrcBitmap.As<const CFX_DIBitmap>();
   if (pSrcBitmap->GetWidth() != m_Width ||
       pSrcBitmap->GetHeight() != m_Height) {
     pSrcClone = pSrcBitmap->StretchTo(m_Width, m_Height,
@@ -698,16 +701,17 @@
   return PitchAndSize{pitch, safe_size.ValueOrDie()};
 }
 
-bool CFX_DIBitmap::CompositeBitmap(int dest_left,
-                                   int dest_top,
-                                   int width,
-                                   int height,
-                                   const RetainPtr<CFX_DIBBase>& pSrcBitmap,
-                                   int src_left,
-                                   int src_top,
-                                   BlendMode blend_type,
-                                   const CFX_ClipRgn* pClipRgn,
-                                   bool bRgbByteOrder) {
+bool CFX_DIBitmap::CompositeBitmap(
+    int dest_left,
+    int dest_top,
+    int width,
+    int height,
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
+    int src_left,
+    int src_top,
+    BlendMode blend_type,
+    const CFX_ClipRgn* pClipRgn,
+    bool bRgbByteOrder) {
   // Should have called CompositeMask().
   CHECK(!pSrcBitmap->IsMaskFormat());
 
@@ -823,13 +827,14 @@
   return true;
 }
 
-void CFX_DIBitmap::CompositeOneBPPMask(int dest_left,
-                                       int dest_top,
-                                       int width,
-                                       int height,
-                                       const RetainPtr<CFX_DIBBase>& pSrcBitmap,
-                                       int src_left,
-                                       int src_top) {
+void CFX_DIBitmap::CompositeOneBPPMask(
+    int dest_left,
+    int dest_top,
+    int width,
+    int height,
+    const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
+    int src_left,
+    int src_top) {
   if (GetBPP() != 1) {
     return;
   }
diff --git a/core/fxge/dib/cfx_dibitmap.h b/core/fxge/dib/cfx_dibitmap.h
index f603aa5..ee3b202 100644
--- a/core/fxge/dib/cfx_dibitmap.h
+++ b/core/fxge/dib/cfx_dibitmap.h
@@ -31,7 +31,7 @@
               uint8_t* pBuffer,
               uint32_t pitch);
 
-  bool Copy(const RetainPtr<CFX_DIBBase>& pSrc);
+  bool Copy(const RetainPtr<const CFX_DIBBase>& pSrc);
 
   // CFX_DIBBase
   pdfium::span<const uint8_t> GetScanline(int line) const override;
@@ -60,19 +60,19 @@
   void SetPixel(int x, int y, uint32_t color);
 #endif  // defined(PDF_USE_SKIA)
 
-  bool SetRedFromBitmap(const RetainPtr<CFX_DIBBase>& pSrcBitmap);
-  bool SetAlphaFromBitmap(const RetainPtr<CFX_DIBBase>& pSrcBitmap);
+  bool SetRedFromBitmap(const RetainPtr<const CFX_DIBBase>& pSrcBitmap);
+  bool SetAlphaFromBitmap(const RetainPtr<const CFX_DIBBase>& pSrcBitmap);
   bool SetUniformOpaqueAlpha();
 
   // TODO(crbug.com/pdfium/2007): Migrate callers to `CFX_RenderDevice`.
   bool MultiplyAlpha(int alpha);
-  bool MultiplyAlpha(const RetainPtr<CFX_DIBBase>& pSrcBitmap);
+  bool MultiplyAlpha(const RetainPtr<const CFX_DIBBase>& pSrcBitmap);
 
   bool TransferBitmap(int dest_left,
                       int dest_top,
                       int width,
                       int height,
-                      const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+                      const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
                       int src_left,
                       int src_top);
 
@@ -80,7 +80,7 @@
                        int dest_top,
                        int width,
                        int height,
-                       const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+                       const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
                        int src_left,
                        int src_top,
                        BlendMode blend_type,
@@ -103,7 +103,7 @@
                            int dest_top,
                            int width,
                            int height,
-                           const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+                           const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
                            int src_left,
                            int src_top);
 
@@ -153,30 +153,32 @@
   ~CFX_DIBitmap() override;
 
   bool SetChannelFromBitmap(Channel destChannel,
-                            const RetainPtr<CFX_DIBBase>& pSrcBitmap);
+                            const RetainPtr<const CFX_DIBBase>& pSrcBitmap);
   void ConvertBGRColorScale(uint32_t forecolor, uint32_t backcolor);
-  bool TransferWithUnequalFormats(FXDIB_Format dest_format,
-                                  int dest_left,
-                                  int dest_top,
-                                  int width,
-                                  int height,
-                                  const RetainPtr<CFX_DIBBase>& pSrcBitmap,
-                                  int src_left,
-                                  int src_top);
+  bool TransferWithUnequalFormats(
+      FXDIB_Format dest_format,
+      int dest_left,
+      int dest_top,
+      int width,
+      int height,
+      const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
+      int src_left,
+      int src_top);
   void TransferWithMultipleBPP(int dest_left,
                                int dest_top,
                                int width,
                                int height,
-                               const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+                               const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
                                int src_left,
                                int src_top);
-  void TransferEqualFormatsOneBPP(int dest_left,
-                                  int dest_top,
-                                  int width,
-                                  int height,
-                                  const RetainPtr<CFX_DIBBase>& pSrcBitmap,
-                                  int src_left,
-                                  int src_top);
+  void TransferEqualFormatsOneBPP(
+      int dest_left,
+      int dest_top,
+      int width,
+      int height,
+      const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
+      int src_left,
+      int src_top);
 
   MaybeOwned<uint8_t, FxFreeDeleter> m_pBuffer;
 #if defined(PDF_USE_SKIA)