summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2015-08-05Early 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-05Remove the unused IFX_StreamRead::SetRange() mechanism.Tom Sepez
This, in turn make m_bUseRange always false, so remove it. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1274883002 .
2015-08-05CPDF_Parser shouldnt be in the business of opening filesTom Sepez
Move that operation closer to the embedder's call. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1269073003 .
2015-08-05FPDF_Creator can only create file through embedder-supplied callback.Tom Sepez
Hence, some of the routines taking filename strings are unused. This, in turn allows us to get rid of some other fopen-ishy looking things inside the library. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1264423003 .
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-31Kill FX_HFILETom Sepez
FX_HFILE, and the routines that operate on it, are unused. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1259123008 .
2015-07-31Name IFX_SysFontInfo subclasses consistently.Tom Sepez
Nearly a naming-only change, but add one argument to constructor. grep now shows: class CFX_AndroidFontInfo : public IFX_SystemFontInfo class CFX_Win32FontInfo final : public IFX_SystemFontInfo class CFX_ExternalFontInfo final : public IFX_SystemFontInfo class CFX_FolderFontInfo : public IFX_SystemFontInfo class CFX_MacFontInfo : public CFX_FolderFontInfo class CFX_LinuxFontInfo : public CFX_FolderFontInfo R=thestig@chromium.org Review URL: https://codereview.chromium.org/1257743005 .
2015-07-31Kill IFX_FontMapperTom Sepez
The design envisioned two kinds of font mappers: internal (of type CFX_FontMapper), and external, both of which implement a common interface. But there isn't any means of making an external one, so the interface is redundant. IFX_FontMapper also appears in an apple-specific struct, but was never non-null or used in any way. The CFX_FontMapper class provides its own mechanism to include platform-specific features, as it turns out. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1259123005 .
2015-07-30Fix return check in CFX_FolderFontInfo::ScanFile() fread.Tom Sepez
If you want to check the number of bytes read, you need to change the order of arguments. TEST=testing/corpus/fx/mulobj/1/1_10_watermark.pdf.0.png R=thestig@chromium.org Review URL: https://codereview.chromium.org/1262453006 .
2015-07-28Missing bExact -> iExact conversionsTom Sepez
This is the cause of the mac embeddertest failure when fx_bool is replaced by bool (an incorrect overload). The types still match on master, prior to the conversion, so it's not noticed. Find other instances as well. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1262683003 .
2015-07-27Fix FX_BOOL compilation errors under windowsTom Sepez
- Bool functions should not return -1 for error. - Bool variables should not be assigned 2 - Bool / int32_t prototypes should match. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1254973004 .
2015-07-27Kill CFX_ArchiveLoader / CFX_ArchiveSaver and subclassesTom Sepez
These are unused until we get to XFA. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1255113003 .
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 .
2015-07-27FX Bool considered harmful, part 3Tom Sepez
Try to reland this patch after fixing underlying issues that caused it to be reverted. fx_system.h is the only manual edit. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1258093002 .
2015-07-23FX_BOOL not always 0 or 1 in CPDF_PageObjects::m_ParserStateTom Sepez
This fixes part of the failure encountered at 320b2313d198. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1257503002 .
2015-07-23Revert "FX_BOOL considered harmful, part 2."Tom Sepez
This reverts commit 320b2313d19869333ed453af546e61a9fc2b81c9. Reason for revert: build failure. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1255693002 .
2015-07-23FX_BOOL considered harmful, part 2.Tom Sepez
Fully automatic change, execpt for cleanup in fx_system.h R=thestig@chromium.org Review URL: https://codereview.chromium.org/1254703002 .
2015-07-23Fix FX_BOOL type mismatches.Tom Sepez
Extracted from https://codereview.chromium.org/1252613002/ R=thestig@chromium.org Review URL: https://codereview.chromium.org/1253603002 .
2015-07-22Re-land else-after-returnsTom Sepez
Revert "Revert "Fix else-after-returns throughout pdfium."" This reverts commit 4eb4d7f6c707cc2c23c806aa540d055c8832b55d. Fix one naming conflict. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1243953004 .
2015-07-22Revert "Fix else-after-returns throughout pdfium."Tom Sepez
This reverts commit 7cc97521db1e52d5927f5605de5f9a7102f8af40.
2015-07-22Fix else-after-returns throughout pdfium.Tom Sepez
Driven by CS search for pcre:yes file:third_party/pdfium/ -file:pdfium/third_party/ \breturn\b[^;]*;\s*\n*\s*\}*\s*\n*\r*else Note: Care is required to ensure the preceding block is not an else-if. As usual, removed any tabs I saw. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1243883003 .
2015-07-22Remove dead code found by Scythe.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1249643003 .
2015-07-22Merge to master: _FETAL => _FATAL.Tom Sepez
(cherry picked from commit 8a0a834d2aea61fc92590839b86471ac73daa967) Original Review URL: https://codereview.chromium.org/1247213002 . Note: inadvertantly landed on XFA first. TBR=thestig@chromium.org Review URL: https://codereview.chromium.org/1252013002 .
2015-07-21Move extern fpdf_font_charset.cpp function prototypes to header.Tom Sepez
Make others static while we're at it. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1241173004 .
2015-07-17Refactor progressive renderer class.chromium/2467chromium/2466chromium/2465chromium/2464chromium/2463chromium/2462chromium/2461Tom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1233453014 .
2015-07-16Cleanup: Do not check pointers before deleting them, part 2.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1195363002 .
2015-07-15Make ContentStreamParser members private, fix constructorTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1219683007 .
2015-07-15Add a null pointer check to CPDF_CalRGB::v_Load().Lei Zhang
BUG=492055 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1241923005 .
2015-07-14Move extern cmap declarations from .cpp files into new .h files.Tom Sepez
That way, the compiler can check them against the definitions rather than just relying on the linker to line things up. Make the types of the declarations and definitions match exactly, instead of being synonym typedefs of each other. Fix some IWYU and use FX_ArraySize where possible. BUG=https://code.google.com/p/pdfium/issues/detail?id=178 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1221503005 .
2015-07-14Move FPDFAPI_FlateInit() prototype and friends to .h fileTom Sepez
R=thestig@chromium.org Review URL: https://codereview.chromium.org/1240713004 .
2015-07-14Tighten up DEPS include rules.Tom Sepez
Allows the following command to return only legitimate warnings: buildtools/checkdeps/checkdeps.py --resolve-dotdot The remaining warnings consist of: - fx_parser_filters.cpp, due to inclusion of third_party/zlib_v128/zlib.h, showing the lack of a header and some prototypes in that .cpp file. - third_party/*, due to inclusion of fx_system.h and the like, indicating adulterated libraries that should be restored to their pristine state. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1233583004 .
2015-07-13Fix a crashier due to incorrect type conversionJUN FANG
BUG=issue179 R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1217093006 .
2015-07-10Make CJBig2_Object::operator delete accept nullptrchromium/2455Vitaly Buka
Standard delete operator should do noting for nullptr. Overloaded CJBig2_Object::operator delete de-referenced provided pointer causing crashes after https://codereview.chromium.org/1192743004/ TBR=thestig BUG=508197 Review URL: https://codereview.chromium.org/1230763007 .
2015-07-04Remove a superfluous qualifier. No behavior change.Nico Weber
BUG=505296 R=brucedawson@chromium.org Review URL: https://codereview.chromium.org/1221673007.
2015-07-02Add parentheses around && within ||.chromium/2453chromium/2452chromium/2451chromium/2450chromium/2449chromium/2448Nico Weber
BUG=504699 R=raymes@chromium.org, thakis@chromium.org Review URL: https://codereview.chromium.org/1213433005.
2015-07-01Revert "Revert "Redo range check in CPDF_SampledFunc::v_Call().""Tom Sepez
This reverts commit 327080bacabb3d90094144e66ae57037d4a8d8e6. This re-lands the patch, but removes the tests which would require 512MB buffers to be reliably allocatable on small bots. It also adds small fixes accumulated while diagnosing it. R=sanqingsong@gmail.com Review URL: https://codereview.chromium.org/1214403002.
2015-07-01Fix some clang warnings with -Wmissing-braces in pdfium.Nico Weber
Clang warns if there are missing braces around a subobject initializer. The most common idiom that triggers this is: STRUCT s = {0}; if the first field of STRUCT is itself a struct. This can be more simply written as: STRUCT s = {}; which also prevents the warning from firing. Other instances of the warning have been fixed by adding braces where appropriate. R=brucedawson@chromium.org Review URL: https://codereview.chromium.org/1213523004.
2015-06-30Fix a clang warning about a dangling else.chromium/2447chromium/2446Tom Sepez
BUG=none R=brucedawson@chromium.org Review URL: https://codereview.chromium.org/1223433002.
2015-06-30Revert "Redo range check in CPDF_SampledFunc::v_Call()."Tom Sepez
This reverts commit 74742a75ac7a07c08cf36fe6f4eaa91bed8236a3.
2015-06-30Redo range check in CPDF_SampledFunc::v_Call().Tom Sepez
The current |bitpos1| calculation protects the passed argument to _GetBits32(): |bitpos.ValueOrDie() + j * m_nBitsPerSample|, but doesn't account for adding in the sample length in that routine. Also bound bits per sample to something reasonable to avoid undefined behaviour on the shift to compute the max value. BUG=471990 R=jun_fang@foxitsoftware.com Review URL: https://codereview.chromium.org/1219663003.
2015-06-22Cleanup: Get rid of CPDF_Reference::Create().Lei Zhang
Just call new CPDF_Reference instead. R=jam@chromium.org Review URL: https://codereview.chromium.org/1194343002.
2015-06-19Cleanup: Remove dead CPDF_InlineImages code.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1192413007.
2015-06-19Replace CFX_MapPtrTemplate with std::map.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1181593003.
2015-06-19Cleanup: Do not check pointers before deleting them.Lei Zhang
R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1192743004.
2015-06-19Small cleanup of CPDF_TextObject and other CPDF_PageObject subclasses.Lei Zhang
- Add overrides - Remove empty overrides - Remove dead friends - Cleanup bad formatting R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1199563002.
2015-06-19Disintermediation.Tom Sepez
Removed several header files that simply proxy other headers. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1199553002.
2015-06-19Move zlib to third_party/Tom Sepez
Remove some fx_* files that simply included other files along the way. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1197693003.
2015-06-18Move libopenjpeg to third_party/Tom Sepez
We get to delete a whole bunch of fx_foo.c files that did nothing but #include "foo.c" after defining _CRT_SECURE_NO_WARNINGS. Do this from the .gyp/.gn files instead. Also sort some "config"s in .gn file. R=thestig@chromium.org Committed: https://pdfium.googlesource.com/pdfium/+/c7a17bf9cdb0d646aa8b653e6ab2678a1837ed6a Review URL: https://codereview.chromium.org/1185373010.
2015-06-18Fix CPDF_ICCBasedCS::GetDefaultValue heap-buffer-overflow.Tom Sepez
Introduced in ea44bd0. Re-animating the dead (code) usually turns out badly, and this is no exception. Make both of the uncallable methods go away. BUG=501889 R=thestig@chromium.org Review URL: https://codereview.chromium.org/1179773007.
2015-06-17Revert "Move libopenjpeg to third_party/"Tom Sepez
This reverts commit c7a17bf9cdb0d646aa8b653e6ab2678a1837ed6a.