summaryrefslogtreecommitdiff
path: root/core/src
AgeCommit message (Collapse)Author
2015-11-12Merge to XFA: Clear 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 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1406943005 . (cherry picked from commit 182d129bcee8f7731b9bbfde0064295ad3b37271) Review URL: https://codereview.chromium.org/1436153003 .
2015-11-11Merge to XFA: Fix / simplify CFX_FolderFontInfo::GetFontData() behavior.Lei Zhang
The GetFontData() behavior in FPDF_SYSFONTINFO seems reasonable. Also do some code cleanup. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1425023003 . (cherry picked from commit e0c16d7461ca8317433d93835e4c36a84157cbef) Review URL: https://codereview.chromium.org/1438943002 .
2015-11-11Merge to XFA: 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 TBR=tsepez@chromium.org Committed: https://pdfium.googlesource.com/pdfium/+/9b99615806e358fdb396d1cb162ee2e69c2a20ec Review URL: https://codereview.chromium.org/1433423002 . (cherry picked from commit e21fe98d5b5da7da01503b985b07b90c8e811689) Review URL: https://codereview.chromium.org/1441563002 .
2015-11-11Merge to XFA: Cleanup CPDF_ApSettings and CJS_Parameters.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1432863004 . (cherry picked from commit 56e3da27d8bed8a6c03274b7b946e3f6d6ac11f4) Review URL: https://codereview.chromium.org/1436843003 .
2015-11-10Merge to XFA: Fix CalculatePitch32() issues.Tom Sepez
Original Review URL: https://codereview.chromium.org/1432073003 . (cherry picked from commit 46960a43145ab978ca3c90cb6133bb3d5600ad1d) BUG=pdfium:273 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1424473008 .
2015-11-10Merge to XFA: Prevent buffer underflow in CPDF_TextObject::CalcPositionDataOliver Chang
R=tsepez@chromium.org TBR=tsepez@chromium.org BUG=554115 Review URL: https://codereview.chromium.org/1435473004 . (cherry picked from commit 46d2e278f62454ed2392630b6d18d33d380a20eb) Review URL: https://codereview.chromium.org/1436673003 .
2015-11-10Merge to XFA: Cleanup CPDF_Stream:Lei Zhang
- Remove CPDF_Stream::Create() and checks that it might fail. - Remove m_pCryptoHandler that's always a nullptr. - Remove m_FileOffset that's always 0. - Rename file version of InitStream() to InitStreamFromFile(). - Use IsMemoryBased() in more places. TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1415163009 . (cherry picked from commit e6e16954f0cdc324849fca9da883be8f131b3834) Review URL: https://codereview.chromium.org/1418493006 .
2015-11-10Merge to XFA: Use unique_ptr and initializer lists in various render files.Lei Zhang
TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1436573003 . (cherry picked from commit c813e21d261c24867234107f2e2ca72e15cb2534) Review URL: https://codereview.chromium.org/1406933007 .
2015-11-10Merge to XFA: Remove core/src/fpdfapi/fpdf_font/common.h and use stdint types.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1437603002 . (cherry picked from commit 21e079dd982f57daa9d5af0d9e48d58189ce35da) Review URL: https://codereview.chromium.org/1421303006 .
2015-11-10Merge to XFA: Make SDP_Table an array of int16_t.Lei Zhang
Move some functions into an anonymous namespace. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1431253002 . (cherry picked from commit b5d6497946c1117e6f54506eb85b47e0a7e0234c) Review URL: https://codereview.chromium.org/1416113011 .
2015-11-10Merge to XFA: Fix relative includes within core/Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1427633010 . (cherry picked from commit 9fb27cb9797937499c9678bc74cf7846cbf5d2b8) Review URL: https://codereview.chromium.org/1438573002 .
2015-11-10Merge to XFA: Remove CFX_PtrArray usage in fpdfsdk.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1430213002 . (cherry picked from commit 8deeacd23872ecc132a0a678e344a018b5114a3a) Review URL: https://codereview.chromium.org/1416113010 .
2015-11-10Merge to XFA: Use standard true and false to replace 'TRUE' and 'FALSE' in ↵Jun Fang
pdfium_test BUG=446715 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1410073009 . Review URL: https://codereview.chromium.org/1413103007 .
2015-11-10Merge to XFA: Support linearized loadingJun Fang
BUG=446715 R=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1353093003 . Conflicts: core/include/fpdfapi/fpdf_parser.h core/src/fpdfapi/fpdf_parser/fpdf_parser_parser.cpp core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp samples/pdfium_test.cc testing/embedder_test.cpp testing/embedder_test.h Review URL: https://codereview.chromium.org/1412083010 .
2015-11-09Merge to XFA: Fix a leak in CPDF_Type3Font::LoadChar().Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1408063016 . (cherry picked from commit 6d9979dc685e3b67b0a6d9946376e026d75d3e47) Review URL: https://codereview.chromium.org/1418503020 .
2015-11-09Merge to XFA: Fix all relative includes to core.Lei Zhang
Do some IWYU to fix build errors due to files that have no #includes but just happened to work previously because the #includes were in the right order. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1407423004 . (cherry picked from commit 9e7cd8ffb81c564e1102f6c6459ec0942a0b11ea) Review URL: https://codereview.chromium.org/1425163004 .
2015-11-09Merge to XFA: Remove dead code in fx_codec_jbig_enc.cpp.Lei Zhang
TBR=weili@chromium.org Review URL: https://codereview.chromium.org/1420693004 . (cherry picked from commit 37e4a11e58257b757bec2700bc53facc59d0b845) Review URL: https://codereview.chromium.org/1423583005 .
2015-11-09Merge to XFA: Add path service to retrieve test data directory at run time ↵Wei Li
so tests can be 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 . (cherry picked from commit c0e93a9a942fe7d99800502a61d2fbb58cf9276f) Conflicts: core/src/fpdfapi/fpdf_parser/fpdf_parser_parser_embeddertest.cpp fpdfsdk/src/fpdfdoc_embeddertest.cpp testing/embedder_test.cpp testing/embedder_test.h Review URL: https://codereview.chromium.org/1411403012 .
2015-11-09Merge to XFA: Cleanup some fxge font code.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1426403008 . (cherry picked from commit 94a4956f7aadc10fe6dd8451e965bd7447985b76) Review URL: https://codereview.chromium.org/1410683013 .
2015-11-09Merge to XFA: Add some nullptr checks that were missing from commit f7992b39.Lei Zhang
BUG=pdfium:268 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1425293010 . (cherry picked from commit a8f5b7b5e7501bdcfba585fc8af76c4a0fab22cb) Review URL: https://codereview.chromium.org/1418823008 .
2015-11-09Merge to XFA: Fix leaks in CPDF_SyntaxParser::ReadStream.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1419533016 . (cherry picked from commit 2ce28d26ad16e11828b19f602fcc0ff625a23345) Review URL: https://codereview.chromium.org/1414963007 .
2015-11-06XFA: Actually fix all relative includes to third_party.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1413253003 .
2015-11-06Merge to XFA: Fix all relative includes to third_party.Lei 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. - And fix XFA's lack of #includes. BUG=541704 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1425153006 . (cherry picked from commit 34bb6c58fe60206a08dc0a1f37b7cfe83e8c762c) Review URL: https://codereview.chromium.org/1434543003 .
2015-11-05Merge to XFA: The chromium_code whack-a-mole CLs.Lei Zhang
BUG=pdfium:29 TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1411583005 . Review URL: https://codereview.chromium.org/1431563002 . Review URL: https://codereview.chromium.org/1419943006 . Review URL: https://codereview.chromium.org/1415483003 . Review URL: https://codereview.chromium.org/1414073005 . Review URL: https://codereview.chromium.org/1415883010 . (cherry picked from commit 9f4def68601ec75b85b92077c521b9423b4f7f00) (cherry picked from commit 23e20f2d3ce5b416e1c7f7f1c2d68c90ddf2d4ad) (cherry picked from commit a6e2a4eca1be4daf14fae4e2427a6ca76269db43) (cherry picked from commit bfba4cb7f22fc19a5e71559f09f2cde19fbb6a79) (cherry picked from commit 81edc51ef8242205c5a1192bc33bf16d8c96120b) (cherry picked from commit 1630dffdc1d554d8f2319e83cdbd7b12f480362d) Review URL: https://codereview.chromium.org/1421963005 .
2015-11-05Merge to XFA: Add base test for RebuildCrossRef function.Wei Li
This tests whether RebuildCrossRef could handle well-formatted pdf file. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1409013005 . (cherry picked from commit 4544797e8998a31e7bc3f5439a5982f7f66dff26) Review URL: https://codereview.chromium.org/1413343004 .
2015-11-04Merge to XFA: Make checkdeps --resolve-dotdot succeed.Lei Zhang
This is just a straight-forward, partial merge. It does not actually make checkdeps succeed. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1419373005 . (cherry picked from commit 79f5a32175293620abe456554e10efb7c3f4e7c6) Review URL: https://codereview.chromium.org/1409153007 .
2015-11-04Merge to XFA: Enforce input and output dimensionalities for CPDF_StitchFunc.Oliver Chang
Also cleans up some places in the relevant functions since we're here. BUG=551460 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1421783004 . Clean merge. (cherry picked from commit 4f85605cbc652a17bc833f883186e0a68af6006d) Review URL: https://codereview.chromium.org/1405383009 .
2015-11-04Merge to XFA: Remove state from RebuildCrossRef state-machine.Dan Sinclair
The state '12' is only used once. This CL folds the contents of state 12 back into the place where we set our state to 12. This works because all state 12 does is decrement the loop counter so we process the same character again and move us to state 0. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1430643007 . (cherry picked from commit 395fbedc65e1261f1fb9189205501f4856235290) Review URL: https://codereview.chromium.org/1414033010 .
2015-11-04Merge to XFA: Make built-in font table slightly saner.Tom Sepez
Original Review URL: https://codereview.chromium.org/1409243012 . (cherry picked from commit 0142f017d03df17fac98b586487cae23b6be05a6) R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1429183002 .
2015-11-03Merge to XFA: Remove CFontFileFaceInfo.Tom Sepez
Original Review URL: https://codereview.chromium.org/1412243015 . (cherry picked from commit cbd6bba62777131e39e3c4fd2d0028b472fb94c9) TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1416953005 .
2015-11-03Merge to XFA: Add format width and precision tests.Dan Sinclair
This CL adds tests for the numeric conversion done when calculating the format percision and width fields. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1411973005 . (cherry picked from commit c9e76c09b9e7901823ac52a3705da235bd2abe24) Review URL: https://codereview.chromium.org/1421813008 .
2015-11-03Merge to XFA: Add test for CPDF_SyntaxParser::ReadHexString.Dan Sinclair
This CL adds tests for the ReadHexString method of the syntax parser. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1433503002 . (cherry picked from commit 71ad9a0028a183605fba734c48b4756d6caa7754) Review URL: https://codereview.chromium.org/1424923007 .
2015-11-02Merge to XFA: Check fread() return values in CFX_FolderFontInfo::GetFontData().Lei Zhang
Check fseek() return values too. BUG=549998 TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1419793003 . (cherry picked from commit 99818557c8ed64d00fcc23a1e87e1ebf41ed5e85) Review URL: https://codereview.chromium.org/1426263002 .
2015-11-02Merget to XFA: Add test for CPDF_StreamParser::ReadHexString.Dan Sinclair
This CL adds a unit test for the ReadHexString method. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1408213008 . (cherry picked from commit c89c6195373b63e99b9cd432c5a181bfb3ad8dbe) Review URL: https://codereview.chromium.org/1417713003 .
2015-11-02Merge to XFA: Add tests for CMap_GetCode and CMap_GetCodeRange.Dan Sinclair
This CL adds tests for the CMap_GetCode and CMap_GetCodeRange methods. To do so, it moves the methods to be static private members of CPDF_CMapParser and makes the test class a friend. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1414013005 . (cherry picked from commit afca65ac019d2ad4cb8ac8f585809cc1a519ac2b) Review URL: https://codereview.chromium.org/1429943002 .
2015-11-02Merge to XFA: Add a test for the HexDecode method.Dan Sinclair
I moved the declaration to be public, instead of having it implicit in one file and defined in a seperate cpp file. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1410873009 . (cherry picked from commit e948a4ee08b78e27da37bc12244fa1b66d927dc7) Review URL: https://codereview.chromium.org/1432513002 .
2015-11-02Merge to XFA: Remove _FPDF_ByteStringFromHex as it is unusedDan Sinclair
There are no uses of this method, I also checked the XFA branch and there don't appear to be any uses there either. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1427913006 . (cherry picked from commit e65be3a55628294d0f45da456d856b4539f0cb15) Review URL: https://codereview.chromium.org/1415023005 .
2015-11-02Merge to XFA: Add test for StringToCode and StringToWideStringDan Sinclair
This CL adds a test case for the StringToCode and StringToWideString methods in fpdf_font.cpp. In order to do so, it moves the methods to be private methods of CPDF_ToUnicodeMap and make the tests friends of the class. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1428593005 . (cherry picked from commit 52b0b525dca3d982a04b77fa6d0913aff1e5fd9c) Review URL: https://codereview.chromium.org/1425233004 .
2015-10-30Merge to XFA: Clean up CPDF_AnnotList.Lei Zhang
- Remove dead code - Stop using CFX_PtrArray - Mark more things const - Fix style nits TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1425093003 . (cherry picked from commit c88c42f317c0e94c4c7b98949bfe1a495aef07a9) Review URL: https://codereview.chromium.org/1430803003 .
2015-10-30Merge to XFA: Remove external jpeg provider interface.Tom Sepez
(cherry picked from commit 3d59bd9d66d01eb39c30742bce67fa0376cb4ea8) Review URL: https://codereview.chromium.org/1407903005 . Conflicts: core/include/fxcodec/fx_codec_provider.h core/src/fxcodec/codec/codec_int.h core/src/fxcodec/codec/fx_codec_jpeg.cpp R=thestig@chromium.org Review URL: https://codereview.chromium.org/1412713009 .
2015-10-30XFA: Remove null CFX_DIBAttribute default argument.Tom Sepez
Add some consts and overrides along the way. Group some statics together. Tidy some unused vars. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1411683005 .
2015-10-30XFA: bring fx_codec_fax in-line with masterTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1419473006 .
2015-10-30XFA: Take CTTFontDesc::ReleaseFace() changes from master.Tom Sepez
Return true if object destroyed. Also get rid of FXFT_Done_Face() call not present on master. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1426103002 .
2015-10-30XFA: remove unused GdiCombineMode2Gdip() [windows]Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1428713004 .
2015-10-29XFA: Manual merge of Clean up IFX_BidiCharLei Zhang
- Replace IFX_BidiChar with just CFX_BidiChar - Document implementation - Change out parameters to pointers - Remove dead code - Add an enum for bidi directions - Move several externs to a header - Add unit tests Original CL: https://codereview.chromium.org/1197643002 This version does not remove fx_arb.h and fx_arabic.h, as there is code on the XFA branch that still uses parts of it. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1423103002 .
2015-10-29XFA: remove unsafe exif parsing codeTom Sepez
Fortunately, this could only be called with a null buffer, so none of unchecked lengths could be used. The remaining use of the CFX_/IFX_DIBAttributeEx class is as a table, so put one directly in the CFX_DIBAttribute. Fix a "register" warning along the way. R=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1425983002 .
2015-10-29XFA: Remove unused _JpegLoadIccProfile()Tom Sepez
In turn, remove now unused _JpegIsIccMarker(). R=thestig@chromium.org Review URL: https://codereview.chromium.org/1418653008 .
2015-10-28Merge to XFA: Add PDFCharIsLineEnding helperDan Sinclair
This CL adds a helper to check if a given character is a \n or \r. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1418073006 . (cherry picked from commit 4b38229b004b7b6493cb4c4507df450adc6085f6) Review URL: https://codereview.chromium.org/1428763002 .
2015-10-28Merge to XFA: Add a NULL check in pdf_page_colors.cppOliver Chang
TBR=thestig@chromium.org BUG=548714 Clean merge. Review URL: https://codereview.chromium.org/1430653002 . (cherry picked from commit 55ed2880e9d19e79717063b117aa5eee40dd454b) Review URL: https://codereview.chromium.org/1428643005 .
2015-10-28Merge to XFA: Add constants for the path operators.Dan Sinclair
This CL adds constants for some of the path operators to make it more obvious what is being checked. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1413783009 . (cherry picked from commit 5a4af03849c8389872cd6908222df4c4e7f99ca8) Review URL: https://codereview.chromium.org/1415333006 .