Remove CPDF_StreamAcc::GetData().
Merge implementation into GetSpan(). Also implement GetSize() using
GetSpan().
Change-Id: I6be94964dba58dfaa5a65e335d4ec6e7930556d1
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/99693
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/parser/cpdf_stream_acc.cpp b/core/fpdfapi/parser/cpdf_stream_acc.cpp
index 7ee963f..247d2a0 100644
--- a/core/fpdfapi/parser/cpdf_stream_acc.cpp
+++ b/core/fpdfapi/parser/cpdf_stream_acc.cpp
@@ -68,23 +68,16 @@
return m_pImageParam;
}
-const uint8_t* CPDF_StreamAcc::GetData() const {
- if (is_owned())
- return absl::get<DataVector<uint8_t>>(m_Data).data();
- return (m_pStream && m_pStream->IsMemoryBased())
- ? m_pStream->GetInMemoryRawData().data()
- : nullptr;
-}
-
uint32_t CPDF_StreamAcc::GetSize() const {
- if (is_owned())
- return absl::get<DataVector<uint8_t>>(m_Data).size();
- return (m_pStream && m_pStream->IsMemoryBased()) ? m_pStream->GetRawSize()
- : 0;
+ return GetSpan().size();
}
pdfium::span<const uint8_t> CPDF_StreamAcc::GetSpan() const {
- return {GetData(), GetSize()};
+ if (is_owned())
+ return absl::get<DataVector<uint8_t>>(m_Data);
+ if (m_pStream && m_pStream->IsMemoryBased())
+ return m_pStream->GetInMemoryRawData();
+ return {};
}
uint64_t CPDF_StreamAcc::KeyForCache() const {
@@ -93,7 +86,8 @@
ByteString CPDF_StreamAcc::ComputeDigest() const {
uint8_t digest[20];
- CRYPT_SHA1Generate(GetData(), GetSize(), digest);
+ pdfium::span<const uint8_t> span = GetSpan();
+ CRYPT_SHA1Generate(span.data(), span.size(), digest);
return ByteString(digest, 20);
}
diff --git a/core/fpdfapi/parser/cpdf_stream_acc.h b/core/fpdfapi/parser/cpdf_stream_acc.h
index 22c1825..a88fa32 100644
--- a/core/fpdfapi/parser/cpdf_stream_acc.h
+++ b/core/fpdfapi/parser/cpdf_stream_acc.h
@@ -51,7 +51,6 @@
void LoadAllData(bool bRawAccess, uint32_t estimated_size, bool bImageAcc);
void ProcessRawData();
void ProcessFilteredData(uint32_t estimated_size, bool bImageAcc);
- const uint8_t* GetData() const;
// Returns the raw data from `m_pStream`, or no data on failure.
DataVector<uint8_t> ReadRawStream() const;