Pass retained arguments to StartGetCachedBitmap()

Bug: pdfium:1843
Change-Id: I41e4bb35556dddc0b9f038acc0ebcf7d9408c433
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/95573
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/render/cpdf_imagecacheentry.cpp b/core/fpdfapi/render/cpdf_imagecacheentry.cpp
index e43a4df..355faaa 100644
--- a/core/fpdfapi/render/cpdf_imagecacheentry.cpp
+++ b/core/fpdfapi/render/cpdf_imagecacheentry.cpp
@@ -20,8 +20,8 @@
 #include "core/fxge/dib/cfx_dibitmap.h"
 
 CPDF_ImageCacheEntry::CPDF_ImageCacheEntry(CPDF_Document* pDoc,
-                                           const RetainPtr<CPDF_Image>& pImage)
-    : m_pDocument(pDoc), m_pImage(pImage) {}
+                                           RetainPtr<CPDF_Image> pImage)
+    : m_pDocument(pDoc), m_pImage(std::move(pImage)) {}
 
 CPDF_ImageCacheEntry::~CPDF_ImageCacheEntry() = default;
 
diff --git a/core/fpdfapi/render/cpdf_imagecacheentry.h b/core/fpdfapi/render/cpdf_imagecacheentry.h
index 996e110..802da84 100644
--- a/core/fpdfapi/render/cpdf_imagecacheentry.h
+++ b/core/fpdfapi/render/cpdf_imagecacheentry.h
@@ -21,8 +21,7 @@
 
 class CPDF_ImageCacheEntry {
  public:
-  CPDF_ImageCacheEntry(CPDF_Document* pDoc,
-                       const RetainPtr<CPDF_Image>& pImage);
+  CPDF_ImageCacheEntry(CPDF_Document* pDoc, RetainPtr<CPDF_Image> pImage);
   ~CPDF_ImageCacheEntry();
 
   void Reset();
diff --git a/core/fpdfapi/render/cpdf_pagerendercache.cpp b/core/fpdfapi/render/cpdf_pagerendercache.cpp
index 5e376c3..60060b5 100644
--- a/core/fpdfapi/render/cpdf_pagerendercache.cpp
+++ b/core/fpdfapi/render/cpdf_pagerendercache.cpp
@@ -7,6 +7,7 @@
 #include "core/fpdfapi/render/cpdf_pagerendercache.h"
 
 #include <algorithm>
+#include <utility>
 #include <vector>
 
 #include "core/fpdfapi/page/cpdf_image.h"
@@ -73,7 +74,7 @@
 }
 
 bool CPDF_PageRenderCache::StartGetCachedBitmap(
-    const RetainPtr<CPDF_Image>& pImage,
+    RetainPtr<CPDF_Image> pImage,
     const CPDF_RenderStatus* pRenderStatus,
     bool bStdCS) {
   const CPDF_Stream* pStream = pImage->GetStream();
@@ -82,8 +83,8 @@
   if (m_bCurFindCache) {
     m_pCurImageCacheEntry = it->second.get();
   } else {
-    m_pCurImageCacheEntry =
-        std::make_unique<CPDF_ImageCacheEntry>(m_pPage->GetDocument(), pImage);
+    m_pCurImageCacheEntry = std::make_unique<CPDF_ImageCacheEntry>(
+        m_pPage->GetDocument(), std::move(pImage));
   }
   CPDF_DIB::LoadState ret = m_pCurImageCacheEntry->StartGetCachedBitmap(
       m_pPage->GetPageResources(), pRenderStatus, bStdCS);
diff --git a/core/fpdfapi/render/cpdf_pagerendercache.h b/core/fpdfapi/render/cpdf_pagerendercache.h
index e77c81a..b2cbc16 100644
--- a/core/fpdfapi/render/cpdf_pagerendercache.h
+++ b/core/fpdfapi/render/cpdf_pagerendercache.h
@@ -39,7 +39,7 @@
     return m_pCurImageCacheEntry.Get();
   }
 
-  bool StartGetCachedBitmap(const RetainPtr<CPDF_Image>& pImage,
+  bool StartGetCachedBitmap(RetainPtr<CPDF_Image> pImage,
                             const CPDF_RenderStatus* pRenderStatus,
                             bool bStdCS);