summaryrefslogtreecommitdiff
path: root/core/src/fpdfapi
AgeCommit message (Collapse)Author
2015-10-19Merge to XFA: Refactor progressive renderer.Tom Sepez
Hand-application of diffs from https://codereview.chromium.org/1233453014/. This was an oversight, and was too old (pre-reformat) to apply cleanly. Checked against origin/master, only diffs are xfa related. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1416793002 .
2015-10-19Merge to XFA: Sanity check the values of TRUE and FALSE.Lei Zhang
Get rid of cond ? TRUE : FALSE. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1405723003 . (cherry picked from commit aff4635dad81bc319266d9d84b81552580cd2b65) Review URL: https://codereview.chromium.org/1412793003 .
2015-10-19Merge to XFA: Remove some checks for object creation failures. They cannot fail.Lei Zhang
Also reduce nesting in if statements, remove CFX_SmartPointer, and use more unique_ptrs. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1393303004 . (cherry picked from commit 6101a5f98b27888f1736ae74982ed4d409d83be0) Review URL: https://codereview.chromium.org/1413223002 .
2015-10-19Merge to XFA: Unrevert commit a398ca6 and apply the proper fix.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1401493002 . (cherry picked from commit 894d1cd3f56b1c8c33c5a60ebfec14384e5002d0) Review URL: https://codereview.chromium.org/1413213002 .
2015-10-16Merge to XFA: Don't bother passing -1 as the length to the CFX_ByteString ctor.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1406363002 . (cherry picked from commit 316e482630d5f5d9084edd9725f98a0d89a5bbdf) Review URL: https://codereview.chromium.org/1406303006 .
2015-10-16Merge to XFA: Fix a bunch of sign mismatch warnings.Lei Zhang
Also remove some gotos and move code into an anonymous namespace. And then do the partial revert to avoid size_t going negative. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1356373003 . Review URL: https://codereview.chromium.org/1400723002 . (cherry picked from commit d03ba8d1a5928e8f3f6bd7da063b53b0bc40abfd) (cherry picked from commit a398ca611d1925182ff6a4e8b2b43c277c364dc0) Review URL: https://codereview.chromium.org/1406373002 .
2015-10-16Merge to XFA: Declare PDF_GetStandardFontName() in the header.Lei Zhang
R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1410043003 . (cherry picked from commit 3d7d1d2f29e5fb099367a40822684d31f684fd62) Review URL: https://codereview.chromium.org/1415453002 .
2015-10-16Merge to XFA: Loosen checking on the bytes following 'stream'Jun Fang
PDF specs say that end of line markers shall follow the keyword "stream". But a white space before end of line markers follows this keyword in the test pdf files. BUG=543018 R=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1401923005 .
2015-10-15Merge to XFA: Plug a leak in CPDF_StreamParser::ReadInlineStreamOliver Chang
R=tsepez@chromium.org, thestig@chromium.org BUG=pdfium:212 Review URL: https://codereview.chromium.org/1405203002 . (cherry picked from commit fb3c41e5324671bce0b0ec025f4e94ae0b20906e) Review URL: https://codereview.chromium.org/1406103002 .
2015-10-15Merge to XFA: Return result of GetRBG instead of TRUEdan sinclair
Propagate the return value of GetRBG to the callers instead of forcing the return of TRUE. BUG=pdfium:44 TBR=thestig@chromium.org, tsepez@chromium.org Review URL: https://codereview.chromium.org/1398633008 . (cherry picked from commit b456ba7f62fa416f456ef78750c18fd2bdf837be) Review URL: https://codereview.chromium.org/1411443003 .
2015-10-08Merge to XFA: Various changes to JBig2 cache:Lei Zhang
- 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=dml@google.com TBR=dml@google.com BUG=pdfium:207 Review URL: https://codereview.chromium.org/1380243004 . (cherry picked from commit f1b88e76134808f36f16b9e53a2e9dd89b12c8fd) Review URL: https://codereview.chromium.org/1394373002 .
2015-10-08Merge to XFA: Relax the check on 0 length streams.Lei Zhang
CPDF_SyntaxParser::ReadStream() originally created stream objects when the length is 0. Commit 2526930 tightened the constraint and returned NULL. This has some adverse affects, as seen in Chromium's print preview of PDFs. Instead, relax the constraint a little so when the length is 0, return a CPDF_Stream with NULL data and size 0. BUG=531835 Review URL: https://codereview.chromium.org/1394743002 . (cherry picked from commit 4fa0e27ba39f49ba92fb4c160ab836a6f1dd2893) Review URL: https://codereview.chromium.org/1400613002 .
2015-10-02Merge to XFA: Get rid of gotos in CPDF_SyntaxParser and FlateUncompress().Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1360103002 . (cherry picked from commit b8a074711108baf04017d86207e08c19ff327d8e) Review URL: https://codereview.chromium.org/1384123002 .
2015-10-02Merge to XFA: Fix a leak in PDF_DataDecode() on failure.Lei Zhang
Found using the test examples from https://crbug.com/537780 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1376413003 . (cherry picked from commit 63d0a52a6af7d327fdb5792f520cc8d93fe2f1bb) Review URL: https://codereview.chromium.org/1378303006 .
2015-10-01Merge to XFA: Clean 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. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1361053002 . (cherry picked from commit 022da0014faa103901ec107ed6a33e5ab00c7931) Review URL: https://codereview.chromium.org/1372993003 .
2015-09-29Merge to XFA: Fix blank page issue caused by too strict correction on bpcJun 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-28Merge to XFA: Cleanup some fx_codec_fax.cpp code.Lei Zhang
R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1367633005 . (cherry picked from commit 39cd934a4705f69c30e1bbf13eab347f66999020) Review URL: https://codereview.chromium.org/1370273002 .
2015-09-25Merge to XFA: Fix the issue that pdfium swallows 'fi' or 'ff' in some pdf filesLei Zhang
Pdfium swallows 'fi' or 'ff' in some tested files because it doesn't load the embedded font file correctly. The root cause is that there is incorrect keyword like 'ngendstream' in the stream of the embedded font file. Pdfium tries to find another correct keyword but uses wrong offset rather than accumulated offset. BUG=524043 TBR=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1307353005 . (cherry picked from commit 9bd18183ba8210c91d71c3060146235750a4c71c) Review URL: https://codereview.chromium.org/1365253003 .
2015-09-22Merge to XFA: Change nonstd::unique_ptr to take a custom deleter.Lei Zhang
Code is mostly stolen from Chromium's scoped_ptr. - Add unit tests. - Use this to fix a leak. BUG=chromium:531408 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1351383004 . (cherry picked from commit cef2a9c51bee4b987fc813013d45dad6535a9a46) Review URL: https://codereview.chromium.org/1358163003 .
2015-09-17Merge to XFA: Fix a #include in fpdf_page_func.cpp.Lei Zhang
Not sure why building with gyp was working despite the missing '../' but it wasn't working in stricter build systems. TBR=dml@google.com Review URL: https://codereview.chromium.org/1321293003. (cherry picked from commit fa31d9630aadfe101d3b35e26ce0fc926ec1505b) Review URL: https://codereview.chromium.org/1345313003 .
2015-09-15Merge to XFA: Cleanup casting of FX_Alloc() return values.Lei Zhang
Also convert some FX_AllocOrDie() calls to FX_Alloc(). TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1332173002 . (cherry picked from commit 6aca3e209ff6148f1d77b86b8b97d3bdf18e3eba) Review URL: https://codereview.chromium.org/1344233002 .
2015-09-08Merge to XFA: Remove unneeded checks for CPDF_Object::GetDict() return values.Lei Zhang
CPDF_Object::GetDict() always returns a valid pointer for dictionaries. R=tsepez@chromium.org TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1317733007 . (cherry picked from commit 2f740a8bd61c1c198796dd5e2124d007267f9c1a) Review URL: https://codereview.chromium.org/1323263006 .
2015-09-03Merge to XFA: Turn a failing assert into an actual check.Lei Zhang
BUG=522131 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1327913002 . (cherry picked from commit 640c395fa9b76552383ccd0c5f4668ea698089f6) Review URL: https://codereview.chromium.org/1309263006 .
2015-09-03Merge to XFA: Reapply Foxit's libopenjpeg modifications.Lei Zhang
They were lost in commit d53e6fd. BUG=pdfium:168 TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1196523002 . (cherry picked from commit 870b5b6793fa261f0c6f31f026010d2d715968bf) Review URL: https://codereview.chromium.org/1301323007 .
2015-09-03Merge to XFA: Cleanup dead code in CPDF_DIBSource::LoadJpxBitmap() and friends.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1310603006 . (cherry picked from commit 097297325e0d3d00556d67885547750a2e9d4b32) Review URL: https://codereview.chromium.org/1305223010 .
2015-08-31Merge to XFA: Fix two issues shown by bug 489995Tom Sepez
(cherry picked from commit 6e369c2ebb4769a42736b32154c0de12b73df45d) Original Review URL: https://codereview.chromium.org/1327473002 . BUG=489995 R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1325743002 .
2015-08-30Merge to XFA: Fix infinite loop for objects that reference themselves.Lei Zhang
BUG=pdfium:193 R=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1306793002 . (cherry picked from commit 0c9f1d8f6dd6bb8b9c3eba73e4ffd0bb2ca4fd97) Review URL: https://codereview.chromium.org/1314573004 .
2015-08-20Merge to XFA: Remove unused code warnings found by clang.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1297593005 . (cherry picked from commit bcfcc4619017b7f70c84a582196763894cc72d24) Review URL: https://codereview.chromium.org/1306673002 .
2015-08-20Merge to XFA: Fix 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 . (cherry picked from commit 9ae9ae2a68439cbc84a719c0dacf6984703e77cb) Review URL: https://codereview.chromium.org/1304873002 .
2015-08-19Merge to XFA: Extern in .cpp file is a code smell, part 2.Tom Sepez
(cherry picked from commit c3f4894a6862c74b9ab32b4ec38c531de6ecd83c) Original Review URL: https://codereview.chromium.org/1298393003 . Fixed IWYU in core/src/fpdftext/text_int.h exposed by new inclusion. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1294933008 .
2015-08-19Merge to XFA: Extern in .cpp files is a code smell, part 1.Tom Sepez
(cherry picked from commit 71c15a5e6652952a94ba3a3ef7ac0392e3a06962) Original Review URL: https://codereview.chromium.org/1299963002 . R=thestig@chromium.org TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1301073003 .
2015-08-19Merge to XFA: FX_CMapDwordToDword considered harmful.Tom Sepez
(cherry picked from commit 85d5c4af4a9546970b34dd413c473d10fef8534b) Original Review URL: https://codereview.chromium.org/1289703003 . TBR=thestig@chromium.org Conflicts: core/include/fxcrt/fx_basic.h BUG= Review URL: https://codereview.chromium.org/1302783003 .
2015-08-19Merge to XFA: CFX_MapByteStringToPtr considered harmful (combo patch).Tom Sepez
New manual edits: two unused members deleted, one adapted. fde_csscache.cpp fde_csscache.h fpdfxfa_doc.h fx_ge_fontmap.cpp (cherry picked from commit 1d9dbd53b205b2b4d9e75a7eeb95e80837917ea3) (cherry picked from commit cb4d0ea68308e3c51a6ba9551b393bb2f639afc4) (cherry picked from commit 9cf44c2ed09a8b2ff243eb6dbb72a8cceae1b5ff) (cherry picked from commit 2a2a6aa7f51352fc481e78f6ad9d41f2738bcc48) (cherry picked from commit ce4ffb8183af3fa2bb5133f0f7370a88e064c516) Original Review URL: https://codereview.chromium.org/1297723002 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1301793002 .
2015-08-17Merge to XFA: Cleanup CFX_UnicodeEncoding and remove IFX_FontEncoding.Lei Zhang
Similarly, Clean up CFX_UnicodeEncodingEx and remove IFX_FontEncodingEx. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1296753003 . (cherry picked from commit 52a48aadc19b2dee8abeb702269bb168eb6b6999) Review URL: https://codereview.chromium.org/1297083002 .
2015-08-14Merge to XFA: Cleanup: Fix some unneeded semi-colons and bad spacing.Lei Zhang
TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1284193005 . (cherry picked from commit 632b807b386878afdb42322f0037f8998306f4a9) Review URL: https://codereview.chromium.org/1301453002 .
2015-08-14Merge to XFA: Don't bother checking pointers before delete[] and FX_Free().Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1297713003 . (cherry picked from commit cb62e7657b3a9a04142028a4e6614029a08e894b) Review URL: https://codereview.chromium.org/1287053005 .
2015-08-14Merge to XFA: Use override in more classes in core/Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1292613003 . (cherry picked from commit c2c3f7b5f0396409451a9d344f35ec1929a76e9f) Review URL: https://codereview.chromium.org/1296043002 .
2015-08-14Merge to XFA: Cleanup: Remove unused CPDF_Metadata::m_pDoc.Lei Zhang
Also remove unused kAddinNameCJK variable. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1296513003 . (cherry picked from commit c6540e037ed1a9546d5a90455bf440a24b181ab4) Review URL: https://codereview.chromium.org/1283183007 .
2015-08-14Merge to XFA: CPDF_ModuleMgr::m_SecurityHandlerMap only used by dead code.Tom Sepez
(cherry picked from commit f372567fdb84df1c8b2cd3735575d6d9881e7871) Original Review URL: https://codereview.chromium.org/1289693008 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1293913002 .
2015-08-11Merge to XFA: Fix a small leak in CPDF_DataAvail::CheckTrailer().Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1278713003 . (cherry picked from commit e42e23f34f0a685d6765ba547a26cc2e601efefd) Review URL: https://codereview.chromium.org/1272743005 .
2015-08-10Merge to XFA: Cleanup: Mark methods with the override keyword.Lei Zhang
- Delete unneeded CFFL_ComboBox::CanCopy() and friends. - Delete unneeded CFFL_FormFiller::CanCopy() and friends. - Delete unneeded CFFL_TextField::CanCopy() and friends. - Delete unneeded FormFiller::DoCopy() and friends. - Rename CFFL_FormFiller::On{Set,Kill}Focus to avoid conflicts. BUG=pdfium:185 TBR=thakis@chromium.org Review URL: https://codereview.chromium.org/1283493004 . (cherry picked from commit 3a3849176aa6e2db8baf2f9367b2d96c71815319) Review URL: https://codereview.chromium.org/1279123006 .
2015-08-06XFA: clang-format all pdfium code, again.Nico Weber
Also add a presubmit that checks for this so I don't have to keep doing it. No behavior change. Generated by: find . -name '*.cpp' -o -name '*.h' | \ grep -E -v 'third_party|thirdparties|lpng_v163|tiff_v403' | \ xargs ../../buildtools/mac/clang-format -i Then manually merged https://codereview.chromium.org/1269223002/ See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion. BUG=none R=thestig@chromium.org Review URL: https://codereview.chromium.org/1277043002 .
2015-08-05Merge to XFA: Early object closing in PDF via premature 'endobj' keywordJUN FANG
Adobe acrobat defines keywords "\nendstream\n" and "\nendobj\n" in object's stream. However, Pdfium searches "endstream" and "endobj" as the keywords in the streams of objects. Some words like "(endstream)" are wrongly treated as keywords in pdfium. This fix follows Adobe's solution. BUG=493126 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1219133005 .
2015-08-05Merge to XFA: CPDF_Parser shouldnt be in the business of opening filesTom Sepez
(cherry picked from commit 2b9178181eb82a3611bee5c9435ea5956def24be) Orignal Review URL: https://codereview.chromium.org/1269073003 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1278533002 .
2015-08-05Merge to XFA: FPDF_Creator can only create file through callbacks.Tom Sepez
(cherry picked from commit 5cd398545141226f082b2f757f23c73303058a83) Original Review URL: https://codereview.chromium.org/1264423003 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1275623002 .
2015-08-04XFA: clang-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|tiff_v403' | \ xargs ../../buildtools/mac/clang-format -i Then manually merged https://codereview.chromium.org/1269223002/ See thread "tabs vs spaces" on pdfium@googlegroups.com for discussion. BUG=none
2015-07-27Merge to XFA: Fix FX_BOOL compilation errors under windowsTom Sepez
(cherry picked from commit a25b4bca69ab26d174edb8cefbdcfc1a0353915a) Original Review URL: https://codereview.chromium.org/1254973004 . TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1252943010 .
2015-07-23Merge to XFA: FX_BOOL combo patch.Tom Sepez
Original Review URL: https://codereview.chromium.org/1257503002 Original Review URL: https://codereview.chromium.org/1253603002 Manual merge for: core/include/fxge/fx_font.h core/src/fxcodec/codec/codec_int.h fpdfsdk/src/javascript/PublicMethods.cpp R=thestig@chromium.org Review URL: https://codereview.chromium.org/1248153004 .
2015-07-23Merge to XFA - else after returns.Tom Sepez
(cherry picked from commit 3c012fef2bb72c8ec1faa73e11ee35539b2559d6) Original Review URL: https://codereview.chromium.org/1243953004 . R=thestig@chromium.org Review URL: https://codereview.chromium.org/1239313005 .
2015-07-22Merge to XFA: Remove dead code found by Scythe.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1249643003 . (cherry picked from commit b05f1fd710496dea44b001bb905fa1c16a39bb28) Review URL: https://codereview.chromium.org/1250433003 .