summaryrefslogtreecommitdiff
path: root/core/src
AgeCommit message (Collapse)Author
2015-12-09XFA: Revert UTF16LE_Encode changesOliver Chang
Revert "Fix embedder test failures introduced by commit c70b19aad245" This reverts commit 8d89e65897d8b6cf7899e7a82d9d381c3ad327cb. Revert "Fix invalid buffer length set in CFX_WideString::UTF16LE_Encode()" This reverts commit c70b19aad245fb1ed39bf8c264d991555f4c5a58. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1516643002 .
2015-12-08Merge to XFA: Fix rendering with built-in CID fontsJun Fang
The root cause is that FXFONT_SUBST_EXACT is wrongly set even no any subset font was found. It causes m_bCIDIsGID to be wrongly set as TRUE in CPDF_CIDFont::_Load(). BUG=534945 R=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1502083002 . Review URL: https://codereview.chromium.org/1504263002 .
2015-12-06Merge to XFA: fix for stream object readingWei Li
Loosen a check for earlier version of PDF files. When the bytes with specified length are followed by 'endstream' keyword, even if there is no EOL marker before the keyword, it signals the end of stream. BUG=551258 TBR=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1499433002 . (cherry picked from commit 0ff66089c87ab6e3adaaff0ec69728ce7a8d8299) Review URL: https://codereview.chromium.org/1504723002 .
2015-12-04Merge to XFA: Fix an incorrect check in CPDF_DataAvail::CheckHintTables.Oliver Chang
R=tsepez@chromium.org TBR=tsepez@chromium.org BUG=566179 Original Review URL: https://codereview.chromium.org/1504513002 . (cherry picked from commit 2d16308298f236ae81aa11a53f2d4e25b502dfac) Review URL: https://codereview.chromium.org/1501123002 .
2015-12-01Merge to XFA: Add basic checking for RebuildCrossRefWei Li
RebuildCrossRef function returns false when we can not find file trailer or any indirect object. This serves as a basic file format checking. BUG=pdfium:215 TBR=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1476163002 . (cherry picked from commit f14da1d58e8e12633c7a47e6efd5ffe43bb37b4b) Review URL: https://codereview.chromium.org/1486383002 .
2015-11-30Allow building non-XFA (master) on the XFA branch.Tom Sepez
This first pass is GYP-only, will do GN in the next CL. R=ochang@chromium.org Review URL: https://codereview.chromium.org/1480403002 .
2015-11-25Manual fixups to PDF_ENABLE_XFA in core/Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1477663003 .
2015-11-25Inflict PPDF_ENABLE_XFA ifdefs on XFA core/Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1471323004 .
2015-11-25Merge to XFA: Fix two memory leaks from pdfium_unittestsQin Zhao
- remove redundant alloc in fx_codec_jpx_unittest.cpp - free memory allocated by HexDecode calls in fpdf_parser_decode_unittest.cpp BUG=PDFium:239 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1467183006 . (cherry picked from commit 6c2d736011c09266015d3e2a0b9c08aeba1bbf31) Review URL: https://codereview.chromium.org/1477833002 .
2015-11-25Fix invalid buffer length set in CFX_WideString::UTF16LE_Encode()Jun Fang
BUG=pdfium:275 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1443603002 .
2015-11-24Merge to XFA: Fix a NULL pointer crash in the CJBig2_Image copy constructor.Lei Zhang
Also change the copy ctor to take a const ref. BUG=560520 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1472113002 . (cherry picked from commit d03bc01003ae2603dafdc07b901ffef0a509a2b9) Review URL: https://codereview.chromium.org/1478473002 .
2015-11-20Make XFA core/ look like master (part N).Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1463173003 .
2015-11-20Merge to XFA: Change |CCodec_ScanlineDecoder::m_Pitch| to FX_DWORDOliver Chang
This matches the type of the corresponding |CFX_DIBSource::m_Pitch|, where integer overflow is checked for FX_DWORD. This change is propagated to many other places. Also, check for integer overflow in |CCodec_RLScanlineDecoder::Create| during the calculation of |m_Pitch| since it aligns to 4 bytes while overflow was was previously checked without this alignment. TBR=tsepez@chromium.org BUG=555784 Review URL: https://codereview.chromium.org/1460033002 . (cherry picked from commit e7950df70a2fd658f466751b29483436cb31e829) Review URL: https://codereview.chromium.org/1461363002 .
2015-11-20Reduce diffs with master in coreTom Sepez
This week's version. Mostly whitespace, but takes the master version of core/src/fxge/ge/fx_ge_text.cpp verbatim. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1462923004 .
2015-11-19Merge to XFA: Cache object numbers in CPDF_Parser::ParseIndirectObject().Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1458633004 . (cherry picked from commit 0c8e6c1f39f20985a3efb17292e46c476194183a) Review URL: https://codereview.chromium.org/1461693005 .
2015-11-19Merge to XFA: Add more overrides.Lei Zhang
Using Chromium's clang + build options, there's more override warnings. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1453643002 . (cherry picked from commit 126ba519bdd489ec6c285d1410dcae773e8ef673) Review URL: https://codereview.chromium.org/1458373002 .
2015-11-19Merge to XFA: Add a missing setjmp() to CCodec_JpegDecoder::v_GetNextLine().Oliver Chang
If jpeg_read_scanlines() ends up calling the error callback, we longjmp into some undefined state. BUG=558840 TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1463563003 . (cherry picked from commit 06e33aec03f13c76d9eff5c09cb03e142b0c5ef1) Review URL: https://codereview.chromium.org/1462253004 .
2015-11-17Make CPDF_InterForm::AddStandardFont take a non-const document pointer.Lei Zhang
Instead of taking a const pointer, and then casting away the const-ness. Also remove similar, but dead CPDF_InterForm methods. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1456763003 . Review URL: https://codereview.chromium.org/1456823002 . Review URL: https://codereview.chromium.org/1452843005 . (cherry picked from commit 9c62cadff466f26307bd06ed1e9df2c1b5f25a32) (cherry picked from commit 447946588d6bbd4d5bc34477a09dd983285c507e) (cherry picked from commit b2a4c976841863e89804a2643eebccf881c57584) Review URL: https://codereview.chromium.org/1457703002 .
2015-11-17Merge to XFA: Add more fxcrt string sanity tests.Lei Zhang
Sadly I've gotten these to fail with Chromium debug builds. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1447163004 . (cherry picked from commit 191333dbc8889a60ff43a10176cc0ae87dc11d89) Review URL: https://codereview.chromium.org/1453403002 .
2015-11-16Merge to XFA: Reland "Cleanup some numeric code.""Dan Sinclair
This reverts commit 0569ab0b11b723d9bca4ddd642b0cf8828c4bdd1. This changes the various comparisons of char >= '0' && char <= '9' and char < '0' || char > '9' to use std::isdigit checks. It also cleans up a handful of hex to digit conversions to call one common method. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1449873003 . (cherry picked from commit 3f148915d12f54a946a0c0bf526162b79c39d650) Review URL: https://codereview.chromium.org/1452673002 .
2015-11-12Merge to XFA: Remove relative includes.Lei Zhang
That refer to parent directories. TBR=dsinclair@chromium.org Review URL: https://codereview.chromium.org/1434223002 . (cherry picked from commit 22bc4227fbbda5a5e9abad2a2c0a98c04fe7f228) Review URL: https://codereview.chromium.org/1439223003 .
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 .