summaryrefslogtreecommitdiff
path: root/third_party
AgeCommit message (Collapse)Author
2018-04-13Patch lcms to mark data structures as const.chromium/3397Lei Zhang
BUG=pdfium:1015 Change-Id: I6b49d4a63fa197b489f6ff2a6920b7e65bb1279d Reviewed-on: https://pdfium-review.googlesource.com/30672 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-04-11Fix issues with PDFium third_party/base/span.hTom Sepez
Remove stray const in operator[] that was introduced when downgrading from C++14 to C++11 syntax. Add missing Get() in first() that was introduced when converting to UnownedPtr. Prevent ASAN from flagging spans where the UnownedPtr points to byte N+1 of a N byte object, and the span is empty. This is legal in C for ordinary pointers so long as the pointer isn't de-referenced, but is not allowed per the rules for UnownedPtr. Change-Id: Ic143c5ef4e37c1cf86f0a3e5408be6e2076a85e2 Reviewed-on: https://pdfium-review.googlesource.com/30212 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-04-09Make pdfium::span<> be based off of UnownedPtr<>.Tom Sepez
Because we can get the lifetime check for free if we do this. This requires adding some "constexpr/noexcept" to UnownedPtr to make the types line up with what span.h requires. Change-Id: I45918f8723122082036eed959f769644ab4c509f Reviewed-on: https://pdfium-review.googlesource.com/29672 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-04-06Add span.h from chromium base.chromium/3392Tom Sepez
Allows indexing with better bounds-checking to occur. Some small modifications are required to deal with PDFium being intentionally held at C++11 compliance, not C++14. Use in one place as check on correctness. Change-Id: Id2875cf0a93980112bc536a93c4f9ec5306c0dac Reviewed-on: https://pdfium-review.googlesource.com/29671 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Chris Palmer <palmer@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-04-03Roll pdfium/third_party/freetype/src/ 713d68ee9..7109495c5 (21 commits)Lei Zhang
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/713d68ee9f47..7109495c5e6c $ git log 713d68ee9..7109495c5 --date=short --no-merges --format='%ad %ae %s' 2018-04-01 wl * builds/toplevel.mk (work): Use $(SEP). 2018-03-30 wl [truetype] Fix memory leak (only if tracing is on). 2018-03-26 apodtele Documentation improvement. 2018-03-24 wl Typo. 2018-03-23 kkushal32 Fixing cmake command format 2018-03-23 bungeman [sfnt] Correctly handle missing bitmaps in sbix format (#53404). 2018-03-23 bungeman [truetype] Fix advance of empty glyphs in bitmap fonts (#53393). 2018-03-22 wl Remove `ftlcdfil.c' and `ftfntfmt.c' from build files (#53415). 2018-03-13 wl * src/sfnt/ttcmap.c (tt_cmap2_validate): Fix potential numeric overflow. 2018-03-13 wl Fix cmap format 2 handling (#53320). 2018-03-10 madigens * CMakeLists.txt (BASE_SRCS): Update to changes from 2018-03-05. 2018-03-05 fanchunwei * CMakeLists.txt [win32]: Allow MSVC DLL builds (#53287). 2018-03-08 wl Typo. 2018-03-08 wl CHANGES: Document `--enable-freetype-config'. 2018-03-07 hugh.mcmaster Make installation of `freetype-config' optional (#53093). 2018-03-08 wl Minor: Update `CHANGES' and improve documentation in `modules.cfg'. 2018-03-05 wl Make `ftlcdfil.c' part of the `base' module. 2018-03-05 wl Make `ftfntfmt.c' part of the `base' module. 2018-03-03 wl Minor documentation improvement. 2018-03-01 wl * src/truetype/ttinterp.c (TT_RunIns): Fix tracing arguments. 2018-03-01 wl * builds/unix/configure.raw: Need HarfBuzz 1.3.0 or newer. Created with: roll-dep pdfium/third_party/freetype/src BUG=pdfium:1050 Change-Id: If78351c12589717151718a33db954503bd58922a Reviewed-on: https://pdfium-review.googlesource.com/29590 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-04-02Enable cfi-icall type generalization for libopenjpeg20Vlad Tsyrklevich
BUG=828069 Change-Id: I3bbcb696fcf7e587f1fcfd00454e47ec42a67713 Reviewed-on: https://pdfium-review.googlesource.com/29570 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-03-22Update gtest and gmock to 1.8.x.Lei Zhang
This applies parts of https://crrev.com/469551 and https://crrev.com/471303 to PDFium. Change-Id: Ifbb8e4c300bd276fe3c6fe60d19ebb1618be8936 Reviewed-on: https://pdfium-review.googlesource.com/28791 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-02-22Add namespaces to duplicated Skia code.Jonathan Feinberg
When pdfium is imported into Google's internal repository, the recently copied Skia decimal formatting code causes only-defined-once violations because many Google internal projects depends on Skia through Google's own copy. This patch puts pdfium's private copy of the needed function into a namespace. Change-Id: Id102b17f6f4652e4a50c4ff75825468fc3d90727 Reviewed-on: https://pdfium-review.googlesource.com/27530 Reviewed-by: Hal Canary <halcanary@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-02-16Improve performance of writing path floats.Dan Sinclair
This CL copies the SkPDF code to convert floats into strings when writing back to PDF files. Change-Id: I8f8af3924a07aa67f93b9d951af1eef5d2c705db Reviewed-on: https://pdfium-review.googlesource.com/21990 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org> Reviewed-by: Hal Canary <halcanary@chromium.org>
2018-02-15Fix roll-freetype scriptNicolas Pena
In c3532457d457e868afb8506e047ab353f2651bc0, a cmp was added to the roller script, but it should be cp instead since we want both files to be the same. Change-Id: I12dc32ab1633196267537e4db3a3522058e44a9d Reviewed-on: https://pdfium-review.googlesource.com/26830 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-02-02Remove third_party/build/build_config.h.Lei Zhang
Use build/build_config.h instead. Having two build_config.h files is confusing. Change-Id: I4bd9c76ab6d913ee0aaa8b2f9c17b94bfba2d128 Reviewed-on: https://pdfium-review.googlesource.com/25111 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Chris Palmer <palmer@chromium.org> Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
2018-02-02Add asm.js to third_party/build/build_config.h.Henrique Nakashima
This reflects changes in the build_config.h from chromium/build/src. Bug: chromium:804907 Change-Id: I892bcf3bbf5d260c904f40536fa1f3c9e49a5ac6 Reviewed-on: https://pdfium-review.googlesource.com/25130 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-01-24Support compiling pdfium with emscripten.Henrique Nakashima
Bug: chromium:804907 Change-Id: I3562653fbc26d669d1e0a99894a69da032a0349e Reviewed-on: https://pdfium-review.googlesource.com/23810 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2018-01-16Add support for pdfium use partitionalloc on loongson platform.Wang Qing
Because system pagesize is 4K on general system, such as x86 etc. But Loongson have 16K system pagesize and unable to print pages with use print preview. Therefore, the relevant pagesize places needs to be changed. Also refer to: https://chromium.googlesource.com/chromium/src/+/0752dbc988222d7edef2ef7c4e19555089c35fdf Bug: 801045 R= palmer@chromium.org Change-Id: Icc5ceae7b8a66be0ced1abb448a80c23fa518f34 Reviewed-on: https://pdfium-review.googlesource.com/22735 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2018-01-10[OpenJPEG] Fix integer overflowNicolas Pena
Bug: 796812 Change-Id: I857f037028ea0e74544bdc7c8cd26b4b44e64ec4 Reviewed-on: https://pdfium-review.googlesource.com/22610 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-01-09Add initial jumbo build support.Lei Zhang
Convert a bunch of targets that just work. BUG=pdfium:964 Change-Id: I485be45e9f6c74c2bba88313da176a49b32b9bba Reviewed-on: https://pdfium-review.googlesource.com/21970 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-01-08Reland "[CFI] Enable type generalization for LCMS"Vlad Tsyrklevich
This relands commit 7829b7048d5cf13a4f1a806fed57f2440d1b5dec. This uses a new version of clang with a fix for the LSan issue that caused the previous revert. Original change's description: > [CFI] Enable type generalization for LCMS > > Control Flow Integrity [1] indirect call checking verifies that function > pointers only call valid functions with a matching type signature. This > condition can be too strict, a common form of 'abstraction' relies on > function pointers being cast to generalize argument pointer types to > void*. > > In LCMS these failures occur because of casts of function pointers called > as both _cmsInterpFn16 (cmsInterpFunction.Lerp16) and _cmsOPTeval16Fn (as > an argument to _cmsPipelineSetOptimizationParameters) types making it > difficult to refactor out easily. Instead, enabling the type > generalization build config weakens the type checking performed for > CFI-icall to accomodate this common type of casts. > > [1] https://www.chromium.org/developers/testing/control-flow-integrity > > Bug: 785442 > Change-Id: Ib42fb1b4e152d5042b170698c2707ebb9e0cc1ee > Reviewed-on: https://pdfium-review.googlesource.com/19250 > Commit-Queue: dsinclair <dsinclair@chromium.org> > Reviewed-by: dsinclair <dsinclair@chromium.org> Bug: 785442 Change-Id: Ice696e4f496fa380f8af053577bde7e46c049590 Reviewed-on: https://pdfium-review.googlesource.com/22265 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-01-04Convert usages of pdfium::Optional to OptionalRyan Harrison
Change-Id: I29769f78eaad10c6a8b79e27524336c4f330377e Reviewed-on: https://pdfium-review.googlesource.com/22258 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2017-12-19Fix use_system_freetype=true build when third_party/freetype is missingTom Anderson
BUG=pdfium:733 R=thestig@chromium.org Change-Id: I6beab792c0b8cb0d0e4f5ea8c6e6c3138ccade5f Reviewed-on: https://pdfium-review.googlesource.com/21470 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-12-12Roll pdfium/third_party/freetype/src/ bec14f688..2c048a8a6 (25 commits)chromium/3293Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/bec14f688925..2c048a8a622e $ git log bec14f688..2c048a8a6 --date=short --no-merges --format='%ad %ae %s' 2017-12-11 wl Fix compiler warning (#52640). 2017-12-09 azzuro * builds/windows/vc2010/freetype.vcxproj: Adjust output directory. 2017-12-09 wl Fix `make setup dos', second try (#52622). 2017-12-08 wl Documentation fixes for the last few commits. 2017-12-08 wl [docmaker] Fix code section parsing. 2017-12-08 wl New `ftdriver.h' file, covering all driver modules. 2017-12-08 wl Move `ftdriver.h' to `ftdrv.h'. 2017-12-08 wl Fix access to uninitalized memory (#52613). 2017-12-08 wl Fix `make setup dos' (#52622). 2017-12-07 wl .mailmap: Add Ewald. 2017-12-07 wl Use ASCII only in public header files (#50858). 2017-12-07 wl Fix C++ compilation. 2017-12-07 wl Fix `make multi'. 2017-12-07 wl * include/freetype/config/ftheader.h: Some clean-up. 2017-12-06 wl * builds/symbian/bld.inf: Updated. 2017-12-06 wl New header file `ftparams.h' that collects all parameter tags. 2017-12-05 wl Improve tracing messages by using singular and plural forms. 2017-12-04 wl Update or fix links to use the https protocol instead of http. 2017-12-04 wl [truetype] Allow shared points in `cvar' table (#52532). 2017-11-28 wl [truetype] Improving tracing of composite glyphs. 2017-11-27 wl Allow (again) encoding vectors with more than 256 elements (#52464). 2017-11-27 jan.steffens Fix last commit (#52522). 2017-11-24 wl [unix] Install a massaged `ftoption.h' file (#51780). 2017-11-23 wl Minor. 2017-11-23 tor.andersson Silence unused function warnings. Created with: roll-dep pdfium/third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:961 Change-Id: I6ada047f9a06a755c85544fca4e3b0d6c56d3bbc Reviewed-on: https://pdfium-review.googlesource.com/21010 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2017-11-30Run clang-tidy modernize-use-nullptr on //third_party/pdfiumDan Sinclair
See the bugs and cxx post for justification and details: https://groups.google.com/a/chromium.org/forum/#!topic/cxx/RkOHzIK6Tq8 This change was done using clang-tidy as described here: https://chromium.googlesource.com/chromium/src/+/lkcr/docs/clang_tidy.md Bug: chromium:778942 Change-Id: I5d94299404647d231c0dc8ef8b75a6c0539f378c Reviewed-on: https://pdfium-review.googlesource.com/19972 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-11-30Run clang-tidy modernize-use-bool-literals on //third_party/pdfiumDan Sinclair
See the bugs and cxx post for justification and details: https://groups.google.com/a/chromium.org/forum/#!topic/cxx/RkOHzIK6Tq8 This change was done using clang-tidy as described here: https://chromium.googlesource.com/chromium/src/+/lkcr/docs/clang_tidy.md Bug: chromium:778955 Change-Id: Ib037ed749539e4380fb336fc6fa85648fc506118 Reviewed-on: https://pdfium-review.googlesource.com/19990 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-30Run clang-tidy modernize-use-auto on //third_party/pdfiumDan Sinclair
See the bugs and cxx post for justification and details: https://groups.google.com/a/chromium.org/forum/#!topic/cxx/RkOHzIK6Tq8 This change was done using clang-tidy as described here: https://chromium.googlesource.com/chromium/src/+/lkcr/docs/clang_tidy.md Bug: chromium:776257 Change-Id: I1f6637cde8b3e41825993a736bed6763dd7beacb Reviewed-on: https://pdfium-review.googlesource.com/19971 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-30Run clang-tidy modernize-use-equals-{delete,default} on //third_party/pdfiumDan Sinclair
See the bugs and cxx post for justification and details: https://groups.google.com/a/chromium.org/forum/#!topic/cxx/RkOHzIK6Tq8 This change was done using clang-tidy as described here: https://chromium.googlesource.com/chromium/src/+/lkcr/docs/clang_tidy.md In some cases the the tool leaves behind a string of commas where it replaced a member initializer list (https://bugs.llvm.org/show_bug.cgi?id=35051). They were cleaned up with: git diff --name-only | \ xargs sed -E -i 's/(^\s*|\)\s*):[ ,]*= default/\1 = default/' Bug: chromium:778959, chromium:778957 Change-Id: I23e60d3d6c8bc9e8574d425710a0441cb5510d6b Reviewed-on: https://pdfium-review.googlesource.com/19970 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-29Allow building pdfium against the system version of libpng.Andrew Weintraub
Bug: Change-Id: I0c930ca30637f58af3b60ed8f1383bd9234a1723 Reviewed-on: https://pdfium-review.googlesource.com/19850 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-11-29Revert "[CFI] Enable type generalization for LCMS"dsinclair
This reverts commit 7829b7048d5cf13a4f1a806fed57f2440d1b5dec. Reason for revert: Breaking the waterfall build. Looks like it's finding a leak it wasn't before? https://build.chromium.org/p/client.pdfium/builders/linux_xfa_asan_lsan/builds/2376/steps/embeddertests/logs/stdio Original change's description: > [CFI] Enable type generalization for LCMS > > Control Flow Integrity [1] indirect call checking verifies that function > pointers only call valid functions with a matching type signature. This > condition can be too strict, a common form of 'abstraction' relies on > function pointers being cast to generalize argument pointer types to > void*. > > In LCMS these failures occur because of casts of function pointers called > as both _cmsInterpFn16 (cmsInterpFunction.Lerp16) and _cmsOPTeval16Fn (as > an argument to _cmsPipelineSetOptimizationParameters) types making it > difficult to refactor out easily. Instead, enabling the type > generalization build config weakens the type checking performed for > CFI-icall to accomodate this common type of casts. > > [1] https://www.chromium.org/developers/testing/control-flow-integrity > > Bug: 785442 > Change-Id: Ib42fb1b4e152d5042b170698c2707ebb9e0cc1ee > Reviewed-on: https://pdfium-review.googlesource.com/19250 > Commit-Queue: dsinclair <dsinclair@chromium.org> > Reviewed-by: dsinclair <dsinclair@chromium.org> TBR=tsepez@chromium.org,dsinclair@chromium.org,vtsyrklevich@chromium.org Change-Id: Ib9c26eb017733d2bf02035415221475bfbfe55c9 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 785442 Reviewed-on: https://pdfium-review.googlesource.com/19730 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-11-29[CFI] Enable type generalization for LCMSVlad Tsyrklevich
Control Flow Integrity [1] indirect call checking verifies that function pointers only call valid functions with a matching type signature. This condition can be too strict, a common form of 'abstraction' relies on function pointers being cast to generalize argument pointer types to void*. In LCMS these failures occur because of casts of function pointers called as both _cmsInterpFn16 (cmsInterpFunction.Lerp16) and _cmsOPTeval16Fn (as an argument to _cmsPipelineSetOptimizationParameters) types making it difficult to refactor out easily. Instead, enabling the type generalization build config weakens the type checking performed for CFI-icall to accomodate this common type of casts. [1] https://www.chromium.org/developers/testing/control-flow-integrity Bug: 785442 Change-Id: Ib42fb1b4e152d5042b170698c2707ebb9e0cc1ee Reviewed-on: https://pdfium-review.googlesource.com/19250 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-11-23Roll pdfium/third_party/freetype/src/ 8f5568bfc..bec14f688 (5 commits)chromium/3278Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/8f5568bfc4fd..bec14f688925 $ git log 8f5568bfc..bec14f688 --date=short --no-merges --format='%ad %ae %s' 2017-11-22 ewaldhew * src/psaux/psft.c (cf2_setGlyphWidth): Check format before setting. 2017-11-22 ewaldhew [psaux] Fix CFF advance widths. (#52466) 2017-11-15 vtsyrklevich * include/freetype/ftrender.h: Fix `FT_Renderer_RenderFunc' type. 2017-11-14 madigens Use Adobe hinting engine for `light' hinting of both CFF and Type 1. 2017-11-09 yuri_levchenko * CMakeLists.txt: Add `DISABLE_FORCE_DEBUG_PREFIX' option. Created with: roll-dep pdfium/third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:941 Change-Id: I00579a3e26d9cabce7032e0b538de95a1029bac7 Reviewed-on: https://pdfium-review.googlesource.com/19310 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2017-11-07Fix PartitionAlloc cookies for small in-place reallocs.Lei Zhang
This ports the non-test portion of Chromium commit r514411 to PDFium. BUG=chromium:781473 Change-Id: Iab203edf3cb49a491aca5e524815a15e74f47581 Reviewed-on: https://pdfium-review.googlesource.com/17990 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-07Roll pdfium/third_party/freetype/src/ 91015cb41..8f5568bfc (5 commits)Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/91015cb41d8f..8f5568bfc4fd $ git log 91015cb41..8f5568bfc --date=short --no-merges --format='%ad %ae %s' 2017-11-06 apodtele * src/base/ftobjs.c (FT_Load_Glyph): Relocate condition. 2017-11-06 apodtele * src/smooth/ftgrays.c (gray_set_cell): Fix uninitialized variables. 2017-10-21 ewaldhew [psaux] Fix PostScript interpreter rewinding in Type 1 mode. (#52251) 2017-11-03 mpsuzuki [truetype] Add more tricky fonts. 2017-11-01 apodtele [smooth] Fix complex rendering at high ppem. Created with: roll-dep pdfium/third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:931 Change-Id: I304839c1a51e49284800de468d0f5f9389db8388 Reviewed-on: https://pdfium-review.googlesource.com/17982 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2017-11-07Prevent an OOM error in libtiff.Lei Zhang
BUG=chromium:781582 Change-Id: I17711956884d1902cbd86f2163155b256402ecda Reviewed-on: https://pdfium-review.googlesource.com/17891 Reviewed-by: Chris Palmer <palmer@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-03Remove flags param from FXMEM_DefaultAlloc() and friends.Lei Zhang
Change-Id: I24404be0065156a1cfdec31bafdf72c27fa70142 Reviewed-on: https://pdfium-review.googlesource.com/17792 Reviewed-by: Chris Palmer <palmer@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2017-11-02Only use the yield instruction on architectures that support it.Andrew Weintraub
This is a downstream patch of https://crrev.com/502028. Change-Id: Ib78784093332a81a7afd6959c66f5e266540f6d3 Reviewed-on: https://pdfium-review.googlesource.com/17350 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-11-02Remove use of deprecated 'register' keywordHans Wennborg
Bug: chromium:780692 Change-Id: I16e7d071b1375e8a31e785141a8af5b4c103f81b Reviewed-on: https://pdfium-review.googlesource.com/17390 Commit-Queue: Lei Zhang <thestig@chromium.org> Commit-Queue: Hans Wennborg <hans@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2017-10-24Roll pdfium/third_party/freetype/src/ ae7dc1f62..91015cb41 (35 commits)Henrique Nakashima
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/ae7dc1f62d82..91015cb41d8f $ git log ae7dc1f62..91015cb41 --date=short --no-merges --format='%ad %ae %s' 2017-10-21 apodtele [smooth] Improve complex rendering at high ppem. 2017-10-20 apodtele [base] Improve tracing in FT_Load_Glyph, FT_*_Size. 2017-10-18 apodtele [base] Improve tracing in FT_Render_Glyph. 2017-10-16 ewaldhew [cff] Fix segfault on missing `psaux' (#52218) 2017-10-15 apodtele [base, cff] Fix MSVC warnings. 2017-10-14 apodtele [base] Netpbm image tracing. 2017-10-14 apodtele * builds/windows/ftdebug.c (FT_Message): Print to stderr. 2017-10-14 behdad [afshaper] Delay creating `hb_set' objects until needed. 2017-10-12 ewaldhew * devel/ftoption.h: Enable T1_CONFIG_OPTION_OLD_ENGINE by default. 2017-10-12 ewaldhew [type1, cid] Add hinting engine switch. 2017-10-12 ewaldhew Add T1_CONFIG_OPTION_OLD_ENGINE configuration option. 2017-10-12 ewaldhew Extract width parsing from Type 1 parser. 2017-10-12 wl [autofit] Better visualize table tracing in source code. 2017-10-09 wl * src/base/ftoutln.c (FT_Outline_Translate): Fix integer overflow. 2017-10-08 wl * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Integer overflows. 2017-10-08 wl Document global size metrics needed for native bytecode hinting (#52165). 2017-10-08 wl Prevent creation of an incorrect documentation entry. 2017-10-07 wl [sfnt] Adjust behaviour of PS font names for variation fonts. 2017-10-07 wl [cff, truetype] Adjust behaviour of named instances. 2017-10-07 wl Make `FT_Set_Named_Instance' work. 2017-10-07 wl Make `FT_FACE_FLAG_VARIATION' work. 2017-10-07 wl New function `FT_Set_Named_Instance'. 2017-10-07 wl Add macros for checking whether a font variation is active. 2017-10-07 wl Add framework for setting named instance in MM service. 2017-10-07 wl [type1] Minor code shuffling. 2017-10-05 wl * src/base/ftobjs.c (ft_glyphslot_preset_bitmap): Fix integer overflow. 2017-10-05 wl Fix compiler warnings. 2017-10-04 John.Tytgat [cff] Add support for `FSType'. 2017-10-02 wl CHANGES: Formatting. 2017-10-01 wl [smooth,type1] Formatting, whitespace. 2017-10-01 wl [psaux] Formatting, minor fixes, whitespace, copyright notices. 2017-09-30 wl [base,cff,cid] Whitespace, formatting. 2017-09-30 wl [include] Whitespace. 2017-09-30 apodtele Signedness fixes in bitmap presetting. 2017-09-29 apodtele Bitmap metrics presetting [2/2]. Created with: roll-dep pdfium/third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:918 Change-Id: I51ec11a612e54b88ddac40b64428cfaabfaec448 Reviewed-on: https://pdfium-review.googlesource.com/16650 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
2017-10-23Upgrade LibopenJPEG to 2.3chromium/3249Nicolas Pena
Bug: Change-Id: I4c968a4e5f41037d80e5dc64a1297cd2cbda31b1 Reviewed-on: https://pdfium-review.googlesource.com/16350 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2017-10-05Create FreeType roll scriptNicolas Pena
Change-Id: Ie93f74b683d35e859cc0e3a1dd5899fb073d8864 Reviewed-on: https://pdfium-review.googlesource.com/15570 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2017-10-02Remove extraneous ;sDan Sinclair
Bug: pdfium:912 Change-Id: Iea61260ccc972627950b470a44ab21dbd2b4045b Reviewed-on: https://pdfium-review.googlesource.com/15170 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-09-27Enable PRINTF_FORMAT for clangDan Sinclair
This ports https://chromium-review.googlesource.com/c/chromium/src/+/599127 from Chromium to PDFium. Because VC++ does not have format-string checking for user-defined functions during normal compiles, because clang-cl had its format-string checking disabled, because some files are only compiled on Windows, and because VC++'s /analyze doesn't build all targets, and because VC++'s format-string checking is more lenient than clang's... 50 warnings about format-string mismatches crept in to Chromium's build. Seven of these were somewhat serious, with four being wchar_t*/char* mismatches because of base::FilePath and the other three being size_t/%d mismatches. Now that all of the mismatches are corrected this change enables PRINTF_FORMAT checking with clang-cl so that these bugs never return. Bug: pdfium:909 Change-Id: I683592f5015b31b4dd04dfe81e6866389b544efe Reviewed-on: https://pdfium-review.googlesource.com/14834 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-09-27Remove FX_CPU=FX_WIN64 build flagDan Sinclair
The FX_WIN64 flag is a FX_OS flag, so comparing against FX_CPU doesn't make sense. Removed check. Bug: pdfium:906 Change-Id: I029de8cf89ade590f705556351416f4759bca87a Reviewed-on: https://pdfium-review.googlesource.com/14812 Commit-Queue: Nicolás Peña Moreno <npm@chromium.org> Reviewed-by: Nicolás Peña Moreno <npm@chromium.org>
2017-09-27Cleanup FX macrosDan Sinclair
This CL renames the FX_OS defines to have _OS_ in their names and drops the _DESKTOP suffix. The FXM defines have been changed to just FX. Change-Id: Iab172fba541713b5f6d14fb8098baf68e3364c74 Reviewed-on: https://pdfium-review.googlesource.com/14833 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2017-09-20Get system lcms2 config using pkg-config.Lei Zhang
BUG=chromium:765914 Change-Id: I187507cd87ff5d88be37ce07216ffa3d7ff7bb83 Reviewed-on: https://pdfium-review.googlesource.com/14411 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-09-18Roll DEPS for build to e659d43.Lei Zhang
Add third_party/eu-strip, which is now required to build on Android. Since third_party/eu-strip is small and rarely updated, just check in a copy. Change-Id: Iba016d8d69c8426f1dacbeeef36b30ca743c46f0 Reviewed-on: https://pdfium-review.googlesource.com/13411 Commit-Queue: (000 09-08 - 09-18) dsinclair <dsinclair@chromium.org> Reviewed-by: (000 09-08 - 09-18) dsinclair <dsinclair@chromium.org>
2017-09-11Use the right allocate and free functions in OpenJPEG.Chris Palmer
This patch was authored by Ke Liu of Tencent's Xuanwu Lab. BUG=762374 Change-Id: Icb3ee98fb4c399b871ccf11e9920af7caf51be11 Reviewed-on: https://pdfium-review.googlesource.com/13610 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Chris Palmer <palmer@chromium.org>
2017-09-05Upgrade OpenJPEG to 2.2.0Nicolas Pena
This CL upgrades OpenJPEG by copying the files from 2.2.0 and then applying patches. Patch files that are no longer relevant are deleted. The relevant ones are applied manually due to changes in formatting in OpenJPEG. Patch 34 is added to account for opj_malloc changes in PDFium. Bug: chromium:718731 Change-Id: I3d316893eab5e235c9f71222a6818b8ae0c98383 Reviewed-on: https://pdfium-review.googlesource.com/12770 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-08-31Remove fx_basic.hDan Sinclair
This CL removes the fx_basic.h header and fixes up includes as needed. Change-Id: I49af32a8327bdbcda40c50a61ffbd75d06609040 Reviewed-on: https://pdfium-review.googlesource.com/12670 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
2017-08-25Do not QuickFloor on cmsintrpNicolas Pena
In this CL, the flag CMS_DONT_USE_FAST_FLOOR is set to true because quickfloor could cause heap-buffer-overflow due to flooring errors. In the testcase for the bug, Input[2] is a number very close but smaller than 1 such that quickfloor returned 1 (whereas Input[2] >= 1.0 was false). Bug: chromium:752725 Change-Id: Ibb1763aa120a600e86602f1a46c4cd6d0d6bebd5 Reviewed-on: https://pdfium-review.googlesource.com/11310 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña <npm@chromium.org>
2017-08-23Reject oversized iCCP profile length in libpng.chromium/3195Lei Zhang
cherry-pick of https://github.com/glennrp/libpng/commit/92a7c79db2c962d04006b35e2603ba9d5ce75541 BUG=chromium:729673 Change-Id: I907b4920ed6d276a075a30269be1744aff678069 Reviewed-on: https://pdfium-review.googlesource.com/11690 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2017-08-22Add pdfium::Optional to third_party/baseRyan Harrison
It is intended to use this class instead of the std::pair<bool, Foo*> pattern that has been used for guarded pointer returns in PDFium. Change-Id: Id3e305d6cdb329c84e1d827c855423d3efae42c0 Reviewed-on: https://pdfium-review.googlesource.com/11610 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2017-08-21Roll yasm to 1.3.0.Lei Zhang
This basically copies https://chromium-review.googlesource.com/608869 Change-Id: I95acc3018e99a7822b9aaee7f83bc6080c0b3ec0 Reviewed-on: https://pdfium-review.googlesource.com/11336 Commit-Queue: dsinclair <dsinclair@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>