diff options
author | Lei Zhang <thestig@chromium.org> | 2015-12-22 14:37:03 -0800 |
---|---|---|
committer | Lei Zhang <thestig@chromium.org> | 2015-12-22 14:37:03 -0800 |
commit | be9095d0b2819cdc88785b0b4fdfccf837eb96a9 (patch) | |
tree | 8c81760b66d1e8da186bddc52d38f350f4e85bf1 /core/src/fpdfapi | |
parent | 2d63eaaa39bb3d402c658b2a6e0eae50a30f1d89 (diff) | |
download | pdfium-be9095d0b2819cdc88785b0b4fdfccf837eb96a9.tar.xz |
Revert "Cleanup: Remove unused CFX_PSRenderer and various encoders it used."
This reverts commit 2d63eaaa39bb3d402c658b2a6e0eae50a30f1d89.
Broke the Windows build, though it is likely the code is unused on
Windows too.
Review URL: https://codereview.chromium.org/1540993004 .
Diffstat (limited to 'core/src/fpdfapi')
5 files changed, 70 insertions, 85 deletions
diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp index 1151c6390e..49ec0bae92 100644 --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_create.cpp @@ -307,11 +307,11 @@ class CPDF_FlateEncoder { public: CPDF_FlateEncoder(); ~CPDF_FlateEncoder(); - bool Initialize(CPDF_Stream* pStream, FX_BOOL bFlateEncode); - bool Initialize(const uint8_t* pBuffer, - FX_DWORD size, - bool bFlateEncode, - bool bXRefStream); + FX_BOOL Initialize(CPDF_Stream* pStream, FX_BOOL bFlateEncode); + FX_BOOL Initialize(const uint8_t* pBuffer, + FX_DWORD size, + FX_BOOL bFlateEncode, + FX_BOOL bXRefStream = FALSE); void CloneDict(); uint8_t* m_pData; FX_DWORD m_dwSize; @@ -334,7 +334,8 @@ void CPDF_FlateEncoder::CloneDict() { m_bCloned = TRUE; } } -bool CPDF_FlateEncoder::Initialize(CPDF_Stream* pStream, FX_BOOL bFlateEncode) { +FX_BOOL CPDF_FlateEncoder::Initialize(CPDF_Stream* pStream, + FX_BOOL bFlateEncode) { m_Acc.LoadAllData(pStream, TRUE); if ((pStream && pStream->GetDict() && pStream->GetDict()->KeyExist("Filter")) || @@ -353,41 +354,36 @@ bool CPDF_FlateEncoder::Initialize(CPDF_Stream* pStream, FX_BOOL bFlateEncode) { m_dwSize = m_Acc.GetSize(); m_pDict = pStream->GetDict(); } - return true; + return TRUE; } - m_pData = nullptr; + m_pData = NULL; m_dwSize = 0; m_bNewData = TRUE; m_bCloned = TRUE; - if (!::FlateEncode(m_Acc.GetData(), m_Acc.GetSize(), &m_pData, &m_dwSize)) - return false; - + ::FlateEncode(m_Acc.GetData(), m_Acc.GetSize(), m_pData, m_dwSize); m_pDict = ToDictionary(pStream->GetDict()->Clone()); m_pDict->SetAtInteger("Length", m_dwSize); m_pDict->SetAtName("Filter", "FlateDecode"); m_pDict->RemoveAt("DecodeParms"); - return true; + return TRUE; } - -bool CPDF_FlateEncoder::Initialize(const uint8_t* pBuffer, - FX_DWORD size, - bool bFlateEncode, - bool bXRefStream) { +FX_BOOL CPDF_FlateEncoder::Initialize(const uint8_t* pBuffer, + FX_DWORD size, + FX_BOOL bFlateEncode, + FX_BOOL bXRefStream) { if (!bFlateEncode) { m_pData = (uint8_t*)pBuffer; m_dwSize = size; - return true; + return TRUE; } m_bNewData = TRUE; - bool ret; if (bXRefStream) { - ret = ::PngEncode(pBuffer, size, &m_pData, &m_dwSize); + ::FlateEncode(pBuffer, size, 12, 1, 8, 7, m_pData, m_dwSize); } else { - ret = ::FlateEncode(pBuffer, size, &m_pData, &m_dwSize); + ::FlateEncode(pBuffer, size, m_pData, m_dwSize); } - return ret; + return TRUE; } - CPDF_FlateEncoder::~CPDF_FlateEncoder() { if (m_bCloned && m_pDict) { m_pDict->Release(); @@ -522,15 +518,11 @@ FX_FILESIZE CPDF_ObjectStream::End(CPDF_Creator* pCreator) { } else { tempBuffer << m_Buffer; CPDF_FlateEncoder encoder; - if (!encoder.Initialize(tempBuffer.GetBuffer(), tempBuffer.GetLength(), - pCreator->m_bCompress, false)) { - return -1; - } + encoder.Initialize(tempBuffer.GetBuffer(), tempBuffer.GetLength(), + pCreator->m_bCompress); CPDF_Encryptor encryptor; - if (!encryptor.Initialize(pHandler, m_dwObjNum, encoder.m_pData, - encoder.m_dwSize)) { - return -1; - } + encryptor.Initialize(pHandler, m_dwObjNum, encoder.m_pData, + encoder.m_dwSize); if ((len = pFile->AppendDWord(encryptor.m_dwSize)) < 0) { return -1; } @@ -776,21 +768,22 @@ FX_BOOL CPDF_XRefStream::GenerateXRefStream(CPDF_Creator* pCreator, } offset += len + 6; } + FX_BOOL bPredictor = TRUE; CPDF_FlateEncoder encoder; - if (!encoder.Initialize(m_Buffer.GetBuffer(), m_Buffer.GetLength(), - pCreator->m_bCompress, true)) { - return FALSE; - } + encoder.Initialize(m_Buffer.GetBuffer(), m_Buffer.GetLength(), + pCreator->m_bCompress, bPredictor); if (pCreator->m_bCompress) { if (pFile->AppendString("/Filter /FlateDecode") < 0) { return FALSE; } offset += 20; - if ((len = pFile->AppendString("/DecodeParms<</Columns 7/Predictor 12>>")) < - 0) { - return FALSE; + if (bPredictor) { + if ((len = pFile->AppendString( + "/DecodeParms<</Columns 7/Predictor 12>>")) < 0) { + return FALSE; + } + offset += len; } - offset += len; } if (pFile->AppendString("/Length ") < 0) { return FALSE; @@ -1009,10 +1002,8 @@ int32_t CPDF_Creator::WriteStream(const CPDF_Object* pStream, FX_DWORD objnum, CPDF_CryptoHandler* pCrypto) { CPDF_FlateEncoder encoder; - if (!encoder.Initialize(const_cast<CPDF_Stream*>(pStream->AsStream()), - pStream == m_pMetadata ? FALSE : m_bCompress)) { - return -1; - } + encoder.Initialize(const_cast<CPDF_Stream*>(pStream->AsStream()), + pStream == m_pMetadata ? FALSE : m_bCompress); CPDF_Encryptor encryptor; if (!encryptor.Initialize(pCrypto, objnum, encoder.m_pData, encoder.m_dwSize)) { @@ -1116,10 +1107,8 @@ int32_t CPDF_Creator::WriteDirectObj(FX_DWORD objnum, break; } CPDF_Encryptor encryptor; - if (!encryptor.Initialize(m_pCryptoHandler, objnum, (uint8_t*)str.c_str(), - str.GetLength())) { - return -1; - } + encryptor.Initialize(m_pCryptoHandler, objnum, (uint8_t*)str.c_str(), + str.GetLength()); CFX_ByteString content = PDF_EncodeString( CFX_ByteString((const FX_CHAR*)encryptor.m_pData, encryptor.m_dwSize), bHex); @@ -1131,17 +1120,11 @@ int32_t CPDF_Creator::WriteDirectObj(FX_DWORD objnum, } case PDFOBJ_STREAM: { CPDF_FlateEncoder encoder; - if (!encoder.Initialize(const_cast<CPDF_Stream*>(pObj->AsStream()), - m_bCompress)) { - return -1; - } - + encoder.Initialize(const_cast<CPDF_Stream*>(pObj->AsStream()), + m_bCompress); CPDF_Encryptor encryptor; CPDF_CryptoHandler* pHandler = m_pCryptoHandler; - if (!encryptor.Initialize(pHandler, objnum, encoder.m_pData, - encoder.m_dwSize)) { - return -1; - } + encryptor.Initialize(pHandler, objnum, encoder.m_pData, encoder.m_dwSize); if ((FX_DWORD)encoder.m_pDict->GetInteger("Length") != encryptor.m_dwSize) { encoder.CloneDict(); diff --git a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp index 386c49d005..2b68a0403f 100644 --- a/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp +++ b/core/src/fpdfapi/fpdf_edit/fpdf_edit_image.cpp @@ -16,12 +16,11 @@ CPDF_Dictionary* CPDF_Image::InitJPEG(uint8_t* pData, FX_DWORD size) { int32_t height; int32_t num_comps; int32_t bits; - bool color_trans; + FX_BOOL color_trans; if (!CPDF_ModuleMgr::Get()->GetJpegModule()->LoadInfo( - pData, size, &width, &height, &num_comps, &bits, &color_trans)) { - return nullptr; + pData, size, width, height, num_comps, bits, color_trans)) { + return NULL; } - CPDF_Dictionary* pDict = new CPDF_Dictionary; pDict->SetAtName("Type", "XObject"); pDict->SetAtName("Subtype", "Image"); diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp index 8832940f80..c855a7c5c2 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode.cpp @@ -540,27 +540,30 @@ CFX_ByteString PDF_EncodeString(const CFX_ByteString& src, FX_BOOL bHex) { result.AppendChar(')'); return result.GetByteString(); } - -bool FlateEncode(const uint8_t* src_buf, +void FlateEncode(const uint8_t* src_buf, FX_DWORD src_size, - uint8_t** dest_buf, - FX_DWORD* dest_size) { + uint8_t*& dest_buf, + FX_DWORD& dest_size) { CCodec_ModuleMgr* pEncoders = CPDF_ModuleMgr::Get()->GetCodecModule(); - return pEncoders && - pEncoders->GetFlateModule()->Encode(src_buf, src_size, dest_buf, - dest_size); + if (pEncoders) { + pEncoders->GetFlateModule()->Encode(src_buf, src_size, dest_buf, dest_size); + } } - -bool PngEncode(const uint8_t* src_buf, - FX_DWORD src_size, - uint8_t** dest_buf, - FX_DWORD* dest_size) { +void FlateEncode(const uint8_t* src_buf, + FX_DWORD src_size, + int predictor, + int Colors, + int BitsPerComponent, + int Columns, + uint8_t*& dest_buf, + FX_DWORD& dest_size) { CCodec_ModuleMgr* pEncoders = CPDF_ModuleMgr::Get()->GetCodecModule(); - return pEncoders && - pEncoders->GetFlateModule()->Encode(src_buf, src_size, dest_buf, - dest_size); + if (pEncoders) { + pEncoders->GetFlateModule()->Encode(src_buf, src_size, predictor, Colors, + BitsPerComponent, Columns, dest_buf, + dest_size); + } } - FX_DWORD FlateDecode(const uint8_t* src_buf, FX_DWORD src_size, uint8_t*& dest_buf, diff --git a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp index 810a633c83..c80770366b 100644 --- a/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp +++ b/core/src/fpdfapi/fpdf_parser/fpdf_parser_decode_embeddertest.cpp @@ -47,14 +47,14 @@ TEST_F(FPDFParserDecodeEmbeddertest, FlateEncode) { for (size_t i = 0; i < FX_ArraySize(flate_encode_cases); ++i) { FlateEncodeCase* ptr = &flate_encode_cases[i]; - unsigned char* buf; - unsigned int buf_size; - EXPECT_TRUE(FlateEncode(ptr->input, ptr->input_size, &buf, &buf_size)); - ASSERT_TRUE(buf); + unsigned char* result; + unsigned int result_size; + FlateEncode(ptr->input, ptr->input_size, result, result_size); + ASSERT_TRUE(result); EXPECT_EQ(std::string((const char*)ptr->expected, ptr->expected_size), - std::string((const char*)buf, buf_size)) + std::string((const char*)result, result_size)) << " for case " << i; - FX_Free(buf); + FX_Free(result); } } diff --git a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp index c107c002c2..0306ff0227 100644 --- a/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp +++ b/core/src/fpdfapi/fpdf_render/fpdf_render_loadimage.cpp @@ -615,11 +615,11 @@ int CPDF_DIBSource::CreateDecoder() { src_data, src_size, m_Width, m_Height, m_nComponents, pParams ? pParams->GetInteger("ColorTransform", 1) : 1); if (!m_pDecoder) { - bool bTransform = false; + FX_BOOL bTransform = FALSE; int comps, bpc; ICodec_JpegModule* pJpegModule = CPDF_ModuleMgr::Get()->GetJpegModule(); - if (pJpegModule->LoadInfo(src_data, src_size, &m_Width, &m_Height, &comps, - &bpc, &bTransform)) { + if (pJpegModule->LoadInfo(src_data, src_size, m_Width, m_Height, comps, + bpc, bTransform)) { if (m_nComponents != comps) { FX_Free(m_pCompData); m_nComponents = comps; |