Rename CCodec_FlateModule to fxcodec::FlateModule. BUG=pdfium:1311 Change-Id: Ifd5c29c0ac6785845d6fc2db77fc232960f02de2 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/55832 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/parser/fpdf_parser_decode.cpp b/core/fpdfapi/parser/fpdf_parser_decode.cpp index 9cf68d5..57ae853 100644 --- a/core/fpdfapi/parser/fpdf_parser_decode.cpp +++ b/core/fpdfapi/parser/fpdf_parser_decode.cpp
@@ -18,8 +18,8 @@ #include "core/fpdfapi/parser/cpdf_dictionary.h" #include "core/fpdfapi/parser/fpdf_parser_utility.h" #include "core/fxcodec/codec/ccodec_faxmodule.h" -#include "core/fxcodec/codec/ccodec_flatemodule.h" #include "core/fxcodec/codec/ccodec_scanlinedecoder.h" +#include "core/fxcodec/codec/flatemodule.h" #include "core/fxcodec/fx_codec.h" #include "core/fxcrt/fx_extension.h" #include "core/fxcrt/fx_safe_types.h" @@ -335,9 +335,9 @@ if (!CheckFlateDecodeParams(Colors, BitsPerComponent, Columns)) return nullptr; } - return CCodec_FlateModule::CreateDecoder(src_span, width, height, nComps, bpc, - predictor, Colors, BitsPerComponent, - Columns); + return FlateModule::CreateDecoder(src_span, width, height, nComps, bpc, + predictor, Colors, BitsPerComponent, + Columns); } uint32_t FlateOrLZWDecode(bool bLZW, @@ -360,9 +360,9 @@ if (!CheckFlateDecodeParams(Colors, BitsPerComponent, Columns)) return FX_INVALID_OFFSET; } - return CCodec_FlateModule::FlateOrLZWDecode( - bLZW, src_span, bEarlyChange, predictor, Colors, BitsPerComponent, - Columns, estimated_size, dest_buf, dest_size); + return FlateModule::FlateOrLZWDecode(bLZW, src_span, bEarlyChange, predictor, + Colors, BitsPerComponent, Columns, + estimated_size, dest_buf, dest_size); } bool PDF_DataDecode(pdfium::span<const uint8_t> src_span, @@ -585,13 +585,13 @@ bool FlateEncode(pdfium::span<const uint8_t> src_span, std::unique_ptr<uint8_t, FxFreeDeleter>* dest_buf, uint32_t* dest_size) { - return CCodec_FlateModule::Encode(src_span.data(), src_span.size(), dest_buf, - dest_size); + return FlateModule::Encode(src_span.data(), src_span.size(), dest_buf, + dest_size); } uint32_t FlateDecode(pdfium::span<const uint8_t> src_span, std::unique_ptr<uint8_t, FxFreeDeleter>* dest_buf, uint32_t* dest_size) { - return CCodec_FlateModule::FlateOrLZWDecode(false, src_span, false, 0, 0, 0, - 0, 0, dest_buf, dest_size); + return FlateModule::FlateOrLZWDecode(false, src_span, false, 0, 0, 0, 0, 0, + dest_buf, dest_size); }
diff --git a/core/fxcodec/BUILD.gn b/core/fxcodec/BUILD.gn index 0464d0d..dc3201a 100644 --- a/core/fxcodec/BUILD.gn +++ b/core/fxcodec/BUILD.gn
@@ -14,8 +14,6 @@ "codec/ccodec_basicmodule.h", "codec/ccodec_faxmodule.cpp", "codec/ccodec_faxmodule.h", - "codec/ccodec_flatemodule.cpp", - "codec/ccodec_flatemodule.h", "codec/ccodec_scanlinedecoder.cpp", "codec/ccodec_scanlinedecoder.h", "codec/cfx_codec_memory.cpp", @@ -24,6 +22,8 @@ "codec/cjpx_decoder.h", "codec/codec_int.h", "codec/codec_module_iface.h", + "codec/flatemodule.cpp", + "codec/flatemodule.h", "codec/fx_codec.cpp", "codec/iccmodule.cpp", "codec/iccmodule.h",
diff --git a/core/fxcodec/codec/ccodec_flatemodule.cpp b/core/fxcodec/codec/flatemodule.cpp similarity index 90% rename from core/fxcodec/codec/ccodec_flatemodule.cpp rename to core/fxcodec/codec/flatemodule.cpp index 47bf80a..f49c668 100644 --- a/core/fxcodec/codec/ccodec_flatemodule.cpp +++ b/core/fxcodec/codec/flatemodule.cpp
@@ -4,7 +4,7 @@ // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com -#include "core/fxcodec/codec/ccodec_flatemodule.h" +#include "core/fxcodec/codec/flatemodule.h" #include <algorithm> #include <limits> @@ -39,6 +39,8 @@ } // extern "C" +namespace fxcodec { + namespace { static constexpr uint32_t kMaxTotalOutSize = 1024 * 1024 * 1024; // 1 GiB @@ -568,14 +570,14 @@ return PredictorType::kNone; } -class CCodec_FlateScanlineDecoder : public CCodec_ScanlineDecoder { +class FlateScanlineDecoder : public CCodec_ScanlineDecoder { public: - CCodec_FlateScanlineDecoder(pdfium::span<const uint8_t> src_buf, - int width, - int height, - int nComps, - int bpc); - ~CCodec_FlateScanlineDecoder() override; + FlateScanlineDecoder(pdfium::span<const uint8_t> src_buf, + int width, + int height, + int nComps, + int bpc); + ~FlateScanlineDecoder() override; // CCodec_ScanlineDecoder: bool v_Rewind() override; @@ -588,12 +590,11 @@ std::unique_ptr<uint8_t, FxFreeDeleter> const m_pScanline; }; -CCodec_FlateScanlineDecoder::CCodec_FlateScanlineDecoder( - pdfium::span<const uint8_t> src_span, - int width, - int height, - int nComps, - int bpc) +FlateScanlineDecoder::FlateScanlineDecoder(pdfium::span<const uint8_t> src_span, + int width, + int height, + int nComps, + int bpc) : CCodec_ScanlineDecoder(width, height, width, @@ -604,9 +605,9 @@ m_SrcBuf(src_span), m_pScanline(FX_Alloc(uint8_t, m_Pitch)) {} -CCodec_FlateScanlineDecoder::~CCodec_FlateScanlineDecoder() = default; +FlateScanlineDecoder::~FlateScanlineDecoder() = default; -bool CCodec_FlateScanlineDecoder::v_Rewind() { +bool FlateScanlineDecoder::v_Rewind() { m_pFlate.reset(FlateInit()); if (!m_pFlate) return false; @@ -615,28 +616,27 @@ return true; } -uint8_t* CCodec_FlateScanlineDecoder::v_GetNextLine() { +uint8_t* FlateScanlineDecoder::v_GetNextLine() { FlateOutput(m_pFlate.get(), m_pScanline.get(), m_Pitch); return m_pScanline.get(); } -uint32_t CCodec_FlateScanlineDecoder::GetSrcOffset() { +uint32_t FlateScanlineDecoder::GetSrcOffset() { return FlateGetPossiblyTruncatedTotalIn(m_pFlate.get()); } -class CCodec_FlatePredictorScanlineDecoder final - : public CCodec_FlateScanlineDecoder { +class FlatePredictorScanlineDecoder final : public FlateScanlineDecoder { public: - CCodec_FlatePredictorScanlineDecoder(pdfium::span<const uint8_t> src_buf, - int width, - int height, - int comps, - int bpc, - PredictorType predictor, - int Colors, - int BitsPerComponent, - int Columns); - ~CCodec_FlatePredictorScanlineDecoder() override; + FlatePredictorScanlineDecoder(pdfium::span<const uint8_t> src_buf, + int width, + int height, + int comps, + int bpc, + PredictorType predictor, + int Colors, + int BitsPerComponent, + int Columns); + ~FlatePredictorScanlineDecoder() override; // CCodec_ScanlineDecoder: bool v_Rewind() override; @@ -657,7 +657,7 @@ std::vector<uint8_t> m_PredictRaw; }; -CCodec_FlatePredictorScanlineDecoder::CCodec_FlatePredictorScanlineDecoder( +FlatePredictorScanlineDecoder::FlatePredictorScanlineDecoder( pdfium::span<const uint8_t> src_span, int width, int height, @@ -667,7 +667,7 @@ int Colors, int BitsPerComponent, int Columns) - : CCodec_FlateScanlineDecoder(src_span, width, height, comps, bpc), + : FlateScanlineDecoder(src_span, width, height, comps, bpc), m_Predictor(predictor) { ASSERT(m_Predictor != PredictorType::kNone); if (BitsPerComponent * Colors * Columns == 0) { @@ -685,18 +685,17 @@ m_PredictRaw.resize(m_PredictPitch + 1); } -CCodec_FlatePredictorScanlineDecoder::~CCodec_FlatePredictorScanlineDecoder() = - default; +FlatePredictorScanlineDecoder::~FlatePredictorScanlineDecoder() = default; -bool CCodec_FlatePredictorScanlineDecoder::v_Rewind() { - if (!CCodec_FlateScanlineDecoder::v_Rewind()) +bool FlatePredictorScanlineDecoder::v_Rewind() { + if (!FlateScanlineDecoder::v_Rewind()) return false; m_LeftOver = 0; return true; } -uint8_t* CCodec_FlatePredictorScanlineDecoder::v_GetNextLine() { +uint8_t* FlatePredictorScanlineDecoder::v_GetNextLine() { if (m_Pitch == m_PredictPitch) GetNextLineWithPredictedPitch(); else @@ -704,7 +703,7 @@ return m_pScanline.get(); } -void CCodec_FlatePredictorScanlineDecoder::GetNextLineWithPredictedPitch() { +void FlatePredictorScanlineDecoder::GetNextLineWithPredictedPitch() { switch (m_Predictor) { case PredictorType::kPng: FlateOutput(m_pFlate.get(), m_PredictRaw.data(), m_PredictPitch + 1); @@ -723,7 +722,7 @@ } } -void CCodec_FlatePredictorScanlineDecoder::GetNextLineWithoutPredictedPitch() { +void FlatePredictorScanlineDecoder::GetNextLineWithoutPredictedPitch() { size_t bytes_to_go = m_Pitch; size_t read_leftover = m_LeftOver > bytes_to_go ? bytes_to_go : m_LeftOver; if (read_leftover) { @@ -762,7 +761,7 @@ } // namespace // static -std::unique_ptr<CCodec_ScanlineDecoder> CCodec_FlateModule::CreateDecoder( +std::unique_ptr<CCodec_ScanlineDecoder> FlateModule::CreateDecoder( pdfium::span<const uint8_t> src_span, int width, int height, @@ -774,16 +773,16 @@ int Columns) { PredictorType predictor_type = GetPredictor(predictor); if (predictor_type == PredictorType::kNone) { - return pdfium::MakeUnique<CCodec_FlateScanlineDecoder>(src_span, width, - height, nComps, bpc); + return pdfium::MakeUnique<FlateScanlineDecoder>(src_span, width, height, + nComps, bpc); } - return pdfium::MakeUnique<CCodec_FlatePredictorScanlineDecoder>( + return pdfium::MakeUnique<FlatePredictorScanlineDecoder>( src_span, width, height, nComps, bpc, predictor_type, Colors, BitsPerComponent, Columns); } // static -uint32_t CCodec_FlateModule::FlateOrLZWDecode( +uint32_t FlateModule::FlateOrLZWDecode( bool bLZW, pdfium::span<const uint8_t> src_span, bool bEarlyChange, @@ -837,11 +836,10 @@ } // static -bool CCodec_FlateModule::Encode( - const uint8_t* src_buf, - uint32_t src_size, - std::unique_ptr<uint8_t, FxFreeDeleter>* dest_buf, - uint32_t* dest_size) { +bool FlateModule::Encode(const uint8_t* src_buf, + uint32_t src_size, + std::unique_ptr<uint8_t, FxFreeDeleter>* dest_buf, + uint32_t* dest_size) { *dest_size = src_size + src_size / 1000 + 12; dest_buf->reset(FX_Alloc(uint8_t, *dest_size)); unsigned long temp_size = *dest_size; @@ -851,3 +849,5 @@ *dest_size = (uint32_t)temp_size; return true; } + +} // namespace fxcodec
diff --git a/core/fxcodec/codec/ccodec_flatemodule.h b/core/fxcodec/codec/flatemodule.h similarity index 76% rename from core/fxcodec/codec/ccodec_flatemodule.h rename to core/fxcodec/codec/flatemodule.h index 9f16193..522fd9c 100644 --- a/core/fxcodec/codec/ccodec_flatemodule.h +++ b/core/fxcodec/codec/flatemodule.h
@@ -4,8 +4,8 @@ // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com -#ifndef CORE_FXCODEC_CODEC_CCODEC_FLATEMODULE_H_ -#define CORE_FXCODEC_CODEC_CCODEC_FLATEMODULE_H_ +#ifndef CORE_FXCODEC_CODEC_FLATEMODULE_H_ +#define CORE_FXCODEC_CODEC_FLATEMODULE_H_ #include <memory> @@ -15,7 +15,9 @@ class CCodec_ScanlineDecoder; -class CCodec_FlateModule { +namespace fxcodec { + +class FlateModule { public: static std::unique_ptr<CCodec_ScanlineDecoder> CreateDecoder( pdfium::span<const uint8_t> src_buf, @@ -45,9 +47,13 @@ std::unique_ptr<uint8_t, FxFreeDeleter>* dest_buf, uint32_t* dest_size); - CCodec_FlateModule() = delete; - CCodec_FlateModule(const CCodec_FlateModule&) = delete; - CCodec_FlateModule& operator=(const CCodec_FlateModule&) = delete; + FlateModule() = delete; + FlateModule(const FlateModule&) = delete; + FlateModule& operator=(const FlateModule&) = delete; }; -#endif // CORE_FXCODEC_CODEC_CCODEC_FLATEMODULE_H_ +} // namespace fxcodec + +using FlateModule = fxcodec::FlateModule; + +#endif // CORE_FXCODEC_CODEC_FLATEMODULE_H_
diff --git a/fpdfsdk/fpdf_view.cpp b/fpdfsdk/fpdf_view.cpp index fe5cbb7..5adb561 100644 --- a/fpdfsdk/fpdf_view.cpp +++ b/fpdfsdk/fpdf_view.cpp
@@ -55,7 +55,7 @@ #if defined(OS_WIN) #include "core/fxcodec/codec/ccodec_basicmodule.h" #include "core/fxcodec/codec/ccodec_faxmodule.h" -#include "core/fxcodec/codec/ccodec_flatemodule.h" +#include "core/fxcodec/codec/flatemodule.h" #include "core/fxcodec/codec/jpegmodule.h" #include "core/fxge/cfx_windowsrenderdevice.h" #include "core/fxge/win32/cfx_psrenderer.h" @@ -85,7 +85,7 @@ #if defined(OS_WIN) constexpr EncoderIface kEncoderIface = { CCodec_BasicModule::A85Encode, CCodec_FaxModule::FaxEncode, - CCodec_FlateModule::Encode, JpegModule::JpegEncode, + FlateModule::Encode, JpegModule::JpegEncode, CCodec_BasicModule::RunLengthEncode}; #endif // defined(OS_WIN)
diff --git a/xfa/fxfa/parser/cxfa_localemgr.cpp b/xfa/fxfa/parser/cxfa_localemgr.cpp index 1220dab..4198a5f 100644 --- a/xfa/fxfa/parser/cxfa_localemgr.cpp +++ b/xfa/fxfa/parser/cxfa_localemgr.cpp
@@ -11,7 +11,7 @@ #include <memory> #include <utility> -#include "core/fxcodec/codec/ccodec_flatemodule.h" +#include "core/fxcodec/codec/flatemodule.h" #include "fxjs/xfa/cjx_object.h" #include "third_party/base/ptr_util.h" #include "xfa/fxfa/parser/cxfa_acrobat.h" @@ -1071,8 +1071,8 @@ std::unique_ptr<uint8_t, FxFreeDeleter> output; uint32_t dwSize; - CCodec_FlateModule::FlateOrLZWDecode(false, src_span, true, 0, 0, 0, 0, 0, - &output, &dwSize); + FlateModule::FlateOrLZWDecode(false, src_span, true, 0, 0, 0, 0, 0, &output, + &dwSize); if (!output) return nullptr;