Change CFX_PSRenderer::WritePSBinary() parameter to a span.

Then just pass the span along in one branch.

Change-Id: Ie7bf6bc7eebb24fc54da8e119821ecd50febd50a
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/83959
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/win32/cfx_psrenderer.cpp b/core/fxge/win32/cfx_psrenderer.cpp
index 066cdf2..bab804a 100644
--- a/core/fxge/win32/cfx_psrenderer.cpp
+++ b/core/fxge/win32/cfx_psrenderer.cpp
@@ -359,7 +359,7 @@
       buf << "false 1 colorimage\n";
 
     WriteToStream(&buf);
-    WritePSBinary(output_buf.get(), output_size);
+    WritePSBinary({output_buf.get(), output_size});
   } else {
     CFX_DIBExtractor source_extractor(pSource);
     RetainPtr<CFX_DIBBase> pConverted = source_extractor.GetBitmap();
@@ -429,7 +429,7 @@
     buf << " colorimage\n";
     WriteToStream(&buf);
 
-    WritePSBinary(output_buf, output_size);
+    WritePSBinary({output_buf, output_size});
     FX_Free(output_buf);
   }
   m_pStream->WriteString("\nQ\n");
@@ -660,14 +660,13 @@
   }
 }
 
-void CFX_PSRenderer::WritePSBinary(const uint8_t* data, int len) {
+void CFX_PSRenderer::WritePSBinary(pdfium::span<const uint8_t> data) {
   std::unique_ptr<uint8_t, FxFreeDeleter> dest_buf;
   uint32_t dest_size;
-  if (m_pEncoderIface->pA85EncodeFunc({data, static_cast<size_t>(len)},
-                                      &dest_buf, &dest_size)) {
+  if (m_pEncoderIface->pA85EncodeFunc(data, &dest_buf, &dest_size)) {
     m_pStream->WriteBlock(dest_buf.get(), dest_size);
   } else {
-    m_pStream->WriteBlock(data, len);
+    m_pStream->WriteBlock(data.data(), data.size());
   }
 }
 
diff --git a/core/fxge/win32/cfx_psrenderer.h b/core/fxge/win32/cfx_psrenderer.h
index 8e22045..e61fb31 100644
--- a/core/fxge/win32/cfx_psrenderer.h
+++ b/core/fxge/win32/cfx_psrenderer.h
@@ -19,6 +19,7 @@
 #include "core/fxcrt/retain_ptr.h"
 #include "core/fxcrt/unowned_ptr.h"
 #include "core/fxge/cfx_graphstatedata.h"
+#include "third_party/base/span.h"
 
 class CFX_DIBBase;
 class CFX_GlyphCache;
@@ -119,7 +120,7 @@
                       uint8_t** output_buf,
                       uint32_t* output_size,
                       const char** filter) const;
-  void WritePSBinary(const uint8_t* data, int len);
+  void WritePSBinary(pdfium::span<const uint8_t> data);
   void WriteToStream(std::ostringstream* stringStream);
 
   bool m_bInited = false;