diff --git a/core/fpdfapi/parser/cpdf_crypto_handler.cpp b/core/fpdfapi/parser/cpdf_crypto_handler.cpp
index ead94cb..d0335fc 100644
--- a/core/fpdfapi/parser/cpdf_crypto_handler.cpp
+++ b/core/fpdfapi/parser/cpdf_crypto_handler.cpp
@@ -343,7 +343,7 @@
         decrypt_result &= DecryptFinish(context, decrypted_buf);
         if (decrypt_result) {
           const uint32_t decrypted_size = decrypted_buf.GetSize();
-          stream->SetData(decrypted_buf.DetachBuffer(), decrypted_size);
+          stream->TakeData(decrypted_buf.DetachBuffer(), decrypted_size);
         } else {
           // Decryption failed, set the stream to empty
           stream->SetData({});
diff --git a/core/fpdfapi/parser/cpdf_stream.cpp b/core/fpdfapi/parser/cpdf_stream.cpp
index 65fd624..4b042d9 100644
--- a/core/fpdfapi/parser/cpdf_stream.cpp
+++ b/core/fpdfapi/parser/cpdf_stream.cpp
@@ -36,7 +36,7 @@
                          uint32_t size,
                          std::unique_ptr<CPDF_Dictionary> pDict)
     : m_pDict(std::move(pDict)) {
-  SetData(std::move(pData), size);
+  TakeData(std::move(pData), size);
 }
 
 CPDF_Stream::~CPDF_Stream() {
@@ -134,11 +134,11 @@
     data_copy.reset(FX_Alloc(uint8_t, pData.size()));
     memcpy(data_copy.get(), pData.data(), pData.size());
   }
-  SetData(std::move(data_copy), pData.size());
+  TakeData(std::move(data_copy), pData.size());
 }
 
-void CPDF_Stream::SetData(std::unique_ptr<uint8_t, FxFreeDeleter> pData,
-                          uint32_t size) {
+void CPDF_Stream::TakeData(std::unique_ptr<uint8_t, FxFreeDeleter> pData,
+                           uint32_t size) {
   m_bMemoryBased = true;
   m_pFile = nullptr;
   m_pDataBuf = std::move(pData);
diff --git a/core/fpdfapi/parser/cpdf_stream.h b/core/fpdfapi/parser/cpdf_stream.h
index 4f1eb05..e446c85 100644
--- a/core/fpdfapi/parser/cpdf_stream.h
+++ b/core/fpdfapi/parser/cpdf_stream.h
@@ -42,8 +42,11 @@
 
   // Copies span into internally-owned buffer.
   void SetData(pdfium::span<const uint8_t> pData);
-  void SetData(std::unique_ptr<uint8_t, FxFreeDeleter> pData, uint32_t size);
+
+  void TakeData(std::unique_ptr<uint8_t, FxFreeDeleter> pData, uint32_t size);
+
   void SetDataFromStringstream(std::ostringstream* stream);
+
   // Set data and remove "Filter" and "DecodeParms" fields from stream
   // dictionary.
   void SetDataAndRemoveFilter(pdfium::span<const uint8_t> pData);
