Chromium Code Reviews| Index: core/fpdfapi/page/cpdf_image.cpp |
| diff --git a/core/fpdfapi/page/cpdf_image.cpp b/core/fpdfapi/page/cpdf_image.cpp |
| index a17222e3430d39ccf58afc1809d2d9ae436a0909..f4b28724301ffb1fd34bd0a4226f2426741437b1 100644 |
| --- a/core/fpdfapi/page/cpdf_image.cpp |
| +++ b/core/fpdfapi/page/cpdf_image.cpp |
| @@ -117,7 +117,8 @@ std::unique_ptr<CPDF_Dictionary> CPDF_Image::InitJPEG(uint8_t* pData, |
| } |
| void CPDF_Image::SetJpegImage( |
| - const CFX_RetainPtr<IFX_SeekableReadStream>& pFile) { |
| + const CFX_RetainPtr<IFX_SeekableReadStream>& pFile, |
| + bool inlineImage) { |
|
Wei Li
2016/12/14 19:01:19
|inlineImage| is no longer needed
|
| uint32_t size = pdfium::base::checked_cast<uint32_t>(pFile->GetSize()); |
| if (!size) |
| return; |
| @@ -140,6 +141,23 @@ void CPDF_Image::SetJpegImage( |
| m_pStream->InitStreamFromFile(pFile, std::move(pDict)); |
| } |
| +void CPDF_Image::SetJpegImageInline( |
| + const CFX_RetainPtr<IFX_SeekableReadStream>& pFile) { |
| + uint32_t size = pdfium::base::checked_cast<uint32_t>(pFile->GetSize()); |
| + if (!size) |
| + return; |
| + |
| + std::vector<uint8_t> data(size); |
| + if (!pFile->ReadBlock(data.data(), 0, size)) |
| + return; |
| + |
| + std::unique_ptr<CPDF_Dictionary> pDict = InitJPEG(data.data(), size); |
| + if (!pDict) |
| + return; |
| + |
| + m_pStream->InitStream(&(data[0]), size, std::move(pDict)); |
| +} |
| + |
| void CPDF_Image::SetImage(const CFX_DIBitmap* pBitmap) { |
| int32_t BitmapWidth = pBitmap->GetWidth(); |
| int32_t BitmapHeight = pBitmap->GetHeight(); |