Fix retained argument TODOs, part 6.

Update CPDF_Function, CPDF_GeneralState, CPDF_DocRenderData,
CPDF_RenderStatus, and CPDF_ViewerPreferences.

Change-Id: Ia75e99a4888281a9d903f910dc149fb25e327a66
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/98618
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/fpdfsdk/fpdf_thumbnail.cpp b/fpdfsdk/fpdf_thumbnail.cpp
index c09ac2d..71c5c26 100644
--- a/fpdfsdk/fpdf_thumbnail.cpp
+++ b/fpdfsdk/fpdf_thumbnail.cpp
@@ -17,7 +17,7 @@
 
 namespace {
 
-const CPDF_Stream* CPDFStreamForThumbnailFromPage(FPDF_PAGE page) {
+RetainPtr<const CPDF_Stream> CPDFStreamForThumbnailFromPage(FPDF_PAGE page) {
   const CPDF_Page* p_page = CPDFPageFromFPDFPage(page);
   if (!p_page)
     return nullptr;
@@ -26,8 +26,7 @@
   if (!page_dict->KeyExist("Type"))
     return nullptr;
 
-  // TODO(tsepez): return retained objects.
-  return page_dict->GetStreamFor("Thumb").Get();
+  return page_dict->GetStreamFor("Thumb");
 }
 
 }  // namespace
@@ -36,7 +35,8 @@
 FPDFPage_GetDecodedThumbnailData(FPDF_PAGE page,
                                  void* buffer,
                                  unsigned long buflen) {
-  const CPDF_Stream* thumb_stream = CPDFStreamForThumbnailFromPage(page);
+  RetainPtr<const CPDF_Stream> thumb_stream =
+      CPDFStreamForThumbnailFromPage(page);
   if (!thumb_stream)
     return 0u;
 
@@ -47,7 +47,8 @@
 FPDFPage_GetRawThumbnailData(FPDF_PAGE page,
                              void* buffer,
                              unsigned long buflen) {
-  const CPDF_Stream* thumb_stream = CPDFStreamForThumbnailFromPage(page);
+  RetainPtr<const CPDF_Stream> thumb_stream =
+      CPDFStreamForThumbnailFromPage(page);
   if (!thumb_stream)
     return 0u;
 
@@ -57,7 +58,7 @@
 FPDF_EXPORT FPDF_BITMAP FPDF_CALLCONV
 FPDFPage_GetThumbnailAsBitmap(FPDF_PAGE page) {
   RetainPtr<const CPDF_Stream> thumb_stream =
-      pdfium::WrapRetain(CPDFStreamForThumbnailFromPage(page));
+      CPDFStreamForThumbnailFromPage(page);
   if (!thumb_stream)
     return nullptr;