summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi/fpdf_render
AgeCommit message (Collapse)Author
2015-12-18CPDF_ImageLoader::Load() unused.Tom Sepez
Rename a few other things along the way: CPDF_ProgressiveImageLoaderHandle becomes ImageLoaderHandle, since its the only kind, and stop casting it to void*. CPDF_ImageLoader::StartLoadImage() becomes Start(), since the rest is redundant. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1535243002 .
2015-12-18Merge to master: Remove CFX_MapPtrToPtr in CFX_PageRenderCacheTom Sepez
Orignal Review URL: https://codereview.chromium.org/1539983002 . (cherry picked from commit 0fa6fee0e48af8681f0cd50f6a9471ecc0a46c11) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1536123002 .
2015-12-18CPDF_QuickStretcher unused.Tom Sepez
Apart from it never being initialized, note that m_status is never set to 1, so the only path that references this class can't be reached. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1537103002 .
2015-12-17Tidy CPDF_RenderContextTom Sepez
- Remove unused Clear() method. - Replace Create() with actual ctors. - Avoid const casts. - Protect members. - Add missing const in adjacent code. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1536623004 .
2015-12-14Get rid of most instance of 'foo == NULL'Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1520063002 .
2015-12-14Get rid of most instance of 'foo != NULL'Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1512763013 .
2015-12-14Remove FX_BSTRC.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1521563002 .
2015-12-14Fix a memory leak in FPDFPageFuncEmbeddertest.chromium/2595chromium/2594chromium/2593Lei Zhang
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1514283002 .
2015-12-10Fix integer and bounds issues in sycc4{22,44}_to_rgb.Oliver Chang
Also clean up while we're here. BUG=557223 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1512833008 .
2015-12-10Replace several more CFX_MapPtrToPtr with std::set or std::mapTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1520643002 .
2015-12-10Remove CFX_AffineMatrix/CPDF_MatrixTom Sepez
These are synonyms for CFX_Matrix. Nothing but sed and manual deletion of 2 #defines in fpdf_parser.h and fx_coordinates.h R=thestig@chromium.org Review URL: https://codereview.chromium.org/1513363002 .
2015-12-10Cleanup CPDF_DIBSource::LoadColorInfo() and ValidateDictParam().Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1507043004 .
2015-12-09Get rid of most uses of CFX_PtrArray.Tom Sepez
I didn't go whole hog and replace these with std::vector, but in the mean time, it is silly to cast a typedef for a template instantiated against void* when we can just instantiate the template against the actual type. The ones that remain are actual heterogeneous arrays with wacky casting. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1518593002 .
2015-11-12Remove relative includes.Lei Zhang
That refer to parent directories. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1434223002 .
2015-11-12Clear decoders after the image decoder in the /Filter array.Oliver Chang
During decoding, when an image decoder is encountered, any subsequent decoders are ignored, but remain in the array. However, later on CPDF_DIBSource::ValidateDictParam expects the image decoder to be the last in the array, causing issues. A check is also added in CPDF_DIBSource::GetScanline to ensure that the calculated pitch value is <= the (4-aligned) pitch value in the cached bitmap to prevent future issues. Also cleans up some NULL usages. BUG=552046 R=jun_fang@foxitsoftware.com, tsepez@chromium.org Review URL: https://codereview.chromium.org/1406943005 .
2015-11-11(Reland) Fix extraction of colour components in ↵Oliver Chang
CPDF_DIBSource::DownSampleScanline32Bit Previously, if |m_bpc| was < 8 (e.g. 4), this function may still try to access the source components as if |m_bpc| == 8. Even when it fell into the codepath that tried to do the right thing in this case, it was wrong. BUG=554151 R=tsepez@chromium.org, thestig@chromium.org Committed: https://pdfium.googlesource.com/pdfium/+/9b99615806e358fdb396d1cb162ee2e69c2a20ec Review URL: https://codereview.chromium.org/1433423002 .
2015-11-11Revert "Fix extraction of colour components in ↵Oliver Chang
CPDF_DIBSource::DownSampleScanline32Bit" This reverts commit 9b99615806e358fdb396d1cb162ee2e69c2a20ec. Broke Windows build. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1437963003 .
2015-11-11Fix extraction of colour components in CPDF_DIBSource::DownSampleScanline32BitOliver Chang
Previously, if |m_bpc| was < 8 (e.g. 4), this function may still try to access the source components as if |m_bpc| == 8. Even when it fell into the codepath that tried to do the right thing in this case, it was wrong. BUG=554151 R=tsepez@chromium.org, thestig@chromium.org Review URL: https://codereview.chromium.org/1433423002 .
2015-11-10Fix CalculatePitch32() issues.Tom Sepez
See bug for details. BUG=pdfium:273 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1432073003 .
2015-11-10Use unique_ptr and initializer lists in various render files.Lei Zhang
R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1436573003 .
2015-11-10Fix relative includes within core/Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1427633010 .
2015-11-09Fix a leak in CPDF_Type3Font::LoadChar().Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1408063016 .
2015-11-09Add path service to retrieve test data directory at run time so tests can be ↵Wei Li
run from any directory. Previously the tests which read test files assume the current directory is under pdfium. Running from any other directory will break the build. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1408003014 .
2015-11-05Fix all relative includes to third_party.chromium/2560chromium/2559chromium/2558chromium/2557Lei Zhang
- In non-standalone builds, use the provided jpeg library. - Run gn format over all the GN files. - Also roll DEPS for buildtools to c2f2598. BUG=541704 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1425153006 .
2015-10-27Give names to the shading typesDan Sinclair
Currently the shading types are referenced by number. This Cl creates and enum and updates the code to use the enum names instead of magic numbers. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1418623011 .
2015-10-27Type check the m_pShadingObj before assuming it's a stream.Dan Sinclair
The m_pShadingObj can be a stream or a dictionary depending on how it's used. This CL adds some simple type checking to make sure that the type of the object matches what we expect. BUG=chromium:547706 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1421973004 .
2015-10-26Revert "Make m_pShadingObj a CPDF_Stream instead of CPDF_Object."Dan Sinclair
There appear to be a bunch of corpus tests which fail with this change such as FAILURE: shading1.pdf This reverts commit 85361b227ad6786d2aeef8409b79a8d077a26ee9. Make m_pShadingObj a CPDF_Stream instead of CPDF_Object. This object is required to be a stream and was being converted as such. With the new type checking this caused us to pass a nullptr where previously we'd have, incorrectly, cast a CPDF_Dictionary to a CPDF_Stream. This CL changes the m_pShadingObj to always be a CPDF_Stream. Then, we never go down the bad code path because we check if m_pShadingObj is nullptr earlier and bail out. BUG=chromium:547706 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1414283003 .
2015-10-26Make m_pShadingObj a CPDF_Stream instead of CPDF_Object.Dan Sinclair
This object is required to be a stream and was being converted as such. With the new type checking this caused us to pass a nullptr where previously we'd have, incorrectly, cast a CPDF_Dictionary to a CPDF_Stream. This CL changes the m_pShadingObj to always be a CPDF_Stream. Then, we never go down the bad code path because we check if m_pShadingObj is nullptr earlier and bail out. BUG=chromium:547706 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1426713002 .
2015-10-23One line whitespace change for fpdf_render.cpp (clang format)Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1420873003 .
2015-10-22Add type cast definitions for CPDF_Stream.Dan Sinclair
This Cl adds ToStream, CPDF_Object::AsStream and CPDF_Object::IsStream and updates the src to use them as needed. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1402413004 .
2015-10-22Add type cast definitions for CPDF_Array.Dan Sinclair
This Cl adds ToArray, CPDF_Object::AsArray and CPDF_Object::IsArray and updates the src to use them as needed. BUG=pdfium:201 R=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1417893003 .
2015-10-21Add type cast definitions for CPDF_Name.Dan Sinclair
This Cl adds ToName, CPDF_Object::AsName and CPDF_Object::IsName and updates the src to use them as needed. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1417823005 .
2015-10-20Revert "Revert "Add type cast definitions for CPDF_Dictionary.""Dan Sinclair
This reverts commit 937840e1722d1f2b77d80575d6e710d760662c9c. Add type cast definitions for CPDF_Dictionary. This CL adds ToCPDFDictionary type definitions and updates one file to use instead of straight casts. I had to fix two places where we'd casted off the constness of the original pointer. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1420583003 .
2015-10-20Revert "Add type cast definitions for CPDF_Dictionary."Dan Sinclair
This reverts commit 4816432671eef6467354aa252f22bb80acc315b7. Reason, broke the javascript_test Rendering PDF file /mnt/data/b/build/slave/linux/build/pdfium/out/Debug/gen/pdfium/testing/javascript/document_methods.pdf. Non-linearized path... FAILURE: document_methods.in; Command '['/mnt/data/b/build/slave/linux/build/pdfium/out/Debug/pdfium_test', '/mnt/data/b/build/slave/linux/build/pdfium/out/Debug/gen/pdfium/testing/javascript/document_methods.pdf']' returned non-zero exit status -11 BUG=pdfium:201 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1412413002 .
2015-10-20Add type cast definitions for CPDF_Dictionary.Dan Sinclair
This CL adds ToCPDFDictionary type definitions and updates one file to use instead of straight casts. I had to fix two places where we'd casted off the constness of the original pointer. BUG=pdfium:201 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1399233003 .
2015-10-19Sanity check the values of TRUE and FALSE.Lei Zhang
Get rid of cond ? TRUE : FALSE. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1405723003 .
2015-10-08Fix a bunch of sign mismatch warnings.Lei Zhang
Also remove some gotos and move code into an anonymous namespace. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1356373003 .
2015-10-09Various changes to JBig2 cache:David Lattimore
- Makes the cache be per-document - Keys the cache on ObjNum and stream offset instead of keying on a pointer to the data (which can result in false cache hits). - Makes it so the cache is only used for the globals stream. - Reenable the cache. R=thestig@chromium.org BUG=pdfium:207 Review URL: https://codereview.chromium.org/1380243004 .
2015-10-01Clean up some image decoder classes:Lei Zhang
- Use std::vector<uint8_t> instead of raw uint8_t* - Make ICodec_ScanlineDecoder::GetScanline() return const uint8_t* - Add FxFreeDeleter, use it in CCodec_ImageDataCache. - Make CCodec_ImageDataCache encapsulate its data members. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1361053002 .
2015-09-29Fix blank page issue caused by too strict correction on bpcchromium/2523Jun Fang
For bit per component (bpc), PDF spec mentions that a RunLengthDecode or DCTDecode filter shall always deliver 8-bit samples. However, some PDF files don't follow this rule. We can find that filter is RunLengthDecode but bpc is 1 in the provided test file. In this case, pdfium will correct bpc to 8 but the actual bpc is 1. It causes a failure because the data is much more than the expected. To handle this case, pdfium doesn't correct bpc to 8 when the original bpc is 1. BUG=512557 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1328213002 .
2015-09-02Reapply Foxit's libopenjpeg modifications.Lei Zhang
They were lost in commit d53e6fd. BUG=pdfium:168 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1196523002 .
2015-09-01Cleanup dead code in CPDF_DIBSource::LoadJpxBitmap() and friends.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1310603006 .
2015-08-20Fix some -Wmaybe-uninitialized errors.Lei Zhang
- Break up CPDF_DIBSource::DownSampleScanline() into smaller functions. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1287843004 .
2015-08-19Extern in .cpp file is a code smell, part 2.Tom Sepez
Fixes the remaining issues, except for JBIG2/Skia ... R=thestig@chromium.org Review URL: https://codereview.chromium.org/1298393003 .
2015-08-18Cleanup CFX_Font a bit.Lei Zhang
- Make methods const. - Make variables non-public. - Remove LoadFile() method. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1293973002 .
2015-08-17CFX_MapByteStringToPtr considered harmful.Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1297723002 .
2015-08-14Don't bother checking pointers before delete[] and FX_Free().Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1297713003 .
2015-08-14Use override in more classes in core/Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1292613003 .
2015-08-04clang-format all pdfium code.Nico Weber
No behavior change. Generated by: find . -name '*.cpp' -o -name '*.h' | \ grep -E -v 'third_party|thirdparties|lpng_v163' | \ xargs ../../buildtools/mac/clang-format -i See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion. BUG=none R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1265503005 .
2015-07-27Revert "FX Bool considered harmful, part 3"Tom Sepez
This reverts commit ff46aaf499edcf153ee2f57c7016587aa96dcfa0. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1255293002 .