summaryrefslogtreecommitdiff
path: root/core/fpdfapi/page
diff options
context:
space:
mode:
Diffstat (limited to 'core/fpdfapi/page')
-rw-r--r--core/fpdfapi/page/cpdf_docpagedata.cpp4
-rw-r--r--core/fpdfapi/page/cpdf_iccprofile.cpp12
-rw-r--r--core/fpdfapi/page/cpdf_iccprofile.h5
3 files changed, 10 insertions, 11 deletions
diff --git a/core/fpdfapi/page/cpdf_docpagedata.cpp b/core/fpdfapi/page/cpdf_docpagedata.cpp
index 49d44b3368..6744e0f6a7 100644
--- a/core/fpdfapi/page/cpdf_docpagedata.cpp
+++ b/core/fpdfapi/page/cpdf_docpagedata.cpp
@@ -442,8 +442,8 @@ RetainPtr<CPDF_IccProfile> CPDF_DocPageData::GetIccProfile(
if (it_copied_stream != m_IccProfileMap.end())
return it_copied_stream->second;
}
- auto pProfile = pdfium::MakeRetain<CPDF_IccProfile>(
- pProfileStream, pAccessor->GetData(), pAccessor->GetSize());
+ auto pProfile =
+ pdfium::MakeRetain<CPDF_IccProfile>(pProfileStream, pAccessor->GetSpan());
m_IccProfileMap[pProfileStream] = pProfile;
m_HashProfileMap[bsDigest] = pProfileStream;
return pProfile;
diff --git a/core/fpdfapi/page/cpdf_iccprofile.cpp b/core/fpdfapi/page/cpdf_iccprofile.cpp
index ef1b9ef434..94270b110b 100644
--- a/core/fpdfapi/page/cpdf_iccprofile.cpp
+++ b/core/fpdfapi/page/cpdf_iccprofile.cpp
@@ -12,23 +12,23 @@
namespace {
-bool DetectSRGB(const uint8_t* pData, uint32_t dwSize) {
- return dwSize == 3144 && memcmp(pData + 0x190, "sRGB IEC61966-2.1", 17) == 0;
+bool DetectSRGB(pdfium::span<const uint8_t> span) {
+ return span.size() == 3144 &&
+ memcmp(span.data() + 0x190, "sRGB IEC61966-2.1", 17) == 0;
}
} // namespace
CPDF_IccProfile::CPDF_IccProfile(const CPDF_Stream* pStream,
- const uint8_t* pData,
- uint32_t dwSize)
- : m_bsRGB(DetectSRGB(pData, dwSize)), m_pStream(pStream) {
+ pdfium::span<const uint8_t> span)
+ : m_bsRGB(DetectSRGB(span)), m_pStream(pStream) {
if (m_bsRGB) {
m_nSrcComponents = 3;
return;
}
auto* pIccModule = CPDF_ModuleMgr::Get()->GetIccModule();
- m_Transform = pIccModule->CreateTransform_sRGB(pData, dwSize);
+ m_Transform = pIccModule->CreateTransform_sRGB(span);
if (m_Transform)
m_nSrcComponents = m_Transform->components();
}
diff --git a/core/fpdfapi/page/cpdf_iccprofile.h b/core/fpdfapi/page/cpdf_iccprofile.h
index a5c9f6dbfe..a9e11700f1 100644
--- a/core/fpdfapi/page/cpdf_iccprofile.h
+++ b/core/fpdfapi/page/cpdf_iccprofile.h
@@ -11,6 +11,7 @@
#include "core/fxcrt/retain_ptr.h"
#include "core/fxcrt/unowned_ptr.h"
+#include "third_party/base/span.h"
class CLcmsCmm;
class CPDF_Stream;
@@ -28,9 +29,7 @@ class CPDF_IccProfile : public Retainable {
uint32_t GetComponents() const { return m_nSrcComponents; }
private:
- CPDF_IccProfile(const CPDF_Stream* pStream,
- const uint8_t* pData,
- uint32_t dwSize);
+ CPDF_IccProfile(const CPDF_Stream* pStream, pdfium::span<const uint8_t> span);
~CPDF_IccProfile() override;
const bool m_bsRGB;