summaryrefslogtreecommitdiff
path: root/third_party
AgeCommit message (Collapse)Author
2018-09-04Revert "Update libpng from 1.6.22 -> 1.6.34"chromium/3543Lei Zhang
This reverts commit 6b2e2f0ec7c5f629c5270d14c2339197af7392d8. Reason for revert: Broke Chromium integration. Original change's description: > Update libpng from 1.6.22 -> 1.6.34 > > Updates third_party/libpng16 to Chromium's third_party/libpng @ > e87a02987101e2dbe319a4aba6b52470f7624b4a and applies PDFium specific > patches. > > BUG=chromium:880322 > > Change-Id: I6724f55099c70a79da6d6e4863b9c6c9157ec571 > Reviewed-on: https://pdfium-review.googlesource.com/41910 > Reviewed-by: Lei Zhang <thestig@chromium.org> > Commit-Queue: Ryan Harrison <rharrison@chromium.org> TBR=thestig@chromium.org,rharrison@chromium.org Change-Id: I2fd1f78e5d07ca983b2430bf078544185292ee1d No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:880322 Reviewed-on: https://pdfium-review.googlesource.com/41970 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-09-04Update libpng from 1.6.22 -> 1.6.34Ryan Harrison
Updates third_party/libpng16 to Chromium's third_party/libpng @ e87a02987101e2dbe319a4aba6b52470f7624b4a and applies PDFium specific patches. BUG=chromium:880322 Change-Id: I6724f55099c70a79da6d6e4863b9c6c9157ec571 Reviewed-on: https://pdfium-review.googlesource.com/41910 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-08-31Roll third_party/freetype/src/ 96b5e5009..2c8e6279a7b (38 commits)Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/96b5e500909c..2c8e6279a7b $ git log 96b5e5009..2c8e6279a7b --date=short --no-merges --format='%ad %ae %s' 2018-08-28 wl Minor doc fix. 2018-08-26 wl * src/truetype/ttobjs.c (tt_size_read_bytecode): Trace CVT values. 2018-08-26 wl ChangeLog*: s/\t/ /. 2018-08-26 ramakrishnan.nikhil * configure: Copy assets required by docwriter. 2018-08-26 wl * src/pshint/pshalgo.c (psh_hint_overlap): Fix numeric overflow. 2018-08-26 wl Minor tracing adjustments. 2018-08-26 wl [truetype] Avoid nested frames. 2018-08-26 wl Various minor clean-ups. 2018-08-25 wl Add missing ChangeLog entry for the last four commits. 2018-08-25 ramakrishnan.nikhil * builds/*/*: Prepare build system for docwriter. 2018-08-25 ramakrishnan.nikhil * src/tools/docmaker: Remove `docmaker'. 2018-08-25 ramakrishnan.nikhil * docs/reference: Add resources for `docwriter'. 2018-08-24 ramakrishnan.nikhil * include/*.*: Convert comments to markdown. 2018-08-23 wl Add macros for handling over-/underflowing `FT_Int64' values. 2018-08-23 wl ftbitmap.h: Improve documentation. 2018-08-22 wl [truetype] Improve legibility of `glyf' parsing. 2018-08-22 wl Minor formatting and documentation fixes. 2018-08-21 wl * src/sfnt/ttcpal.c (tt_face_load_cpal): Add missing safety check. 2018-08-19 wl Update `CHANGES' file. 2018-08-18 wl [psaux] Avoid slow PS font parsing in case of error. 2018-08-18 wl [cff] Fix heap buffer overflow in old engine. 2018-08-16 yangx92 * builds/mac/ftmac.c (parse_fond): Fix buffer overrun. 2018-08-16 wl * builds/*/ftsystem.c (FT_COMPONENT): Updated also. 2018-08-15 apodtele Revert BDF copyright years. 2018-08-15 apodtele Ouch. BDF copyright year. 2018-08-15 apodtele [bdf] Don't track duplicate encodings. 2018-08-15 wl Don't use `trace_' prefix for FT_COMPONENT arguments. 2018-08-14 wl Use formatting string in FT_TRACEX calls for non-simple arguments. 2018-08-14 apodtele [bdf] Remove unused fields. 2018-08-14 wl [cff] Fix another segv in old engine. 2018-08-14 wl [cff] Fix missing error handling. 2018-08-13 apodtele [bdf] Remove unused overflow storage. 2018-08-14 wl [cff] Fix segv. 2018-08-13 apodtele [bdf] Use unsigned types. 2018-08-13 wl * src/type42/t42parse.c (t42_parse_sfnts): One more format check. 2018-08-12 prince.cherusker Remove deprecated constant in documentation. 2018-08-11 wl * src/base/ftcalc.c (FT_Matrix_Check): Fix integer overflow. 2018-08-10 apodtele * src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Follow specs. Created with: roll-dep third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:1142 Change-Id: If608007688939c06a0734c71457c137419911ad3 Reviewed-on: https://pdfium-review.googlesource.com/41790 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-08-30Add check on CGATS memory allocation in littlecms.Lei Zhang
This pull in the relevant bits from upstream commit 768f70ca. BUG=chromium:872189 Change-Id: I6a970a00ff322768cddc2825e4b6e3e12400d43d Reviewed-on: https://pdfium-review.googlesource.com/41671 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-08-14Roll third_party/freetype/src/ 578bcf103..96b5e5009 (23 commits)chromium/3523Lei Zhang
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/578bcf103a12..96b5e500909c BUG=pdfium:1131,pdfium:1133 TBR=npm@chromium.org Change-Id: I79f2c1d1ee23ddfc183a666137c1a28baabafeee Reviewed-on: https://pdfium-review.googlesource.com/39950 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-08-01Fix assertion in opj_j2k_merge_ppt().Lei Zhang
This patches in: https://github.com/uclouvain/openjpeg/commit/832dfd18 https://github.com/uclouvain/openjpeg/commit/0c913b0a Also clean up a duplicate patch number and update README.pdfium. BUG=chromium:614691 Change-Id: I282abfe227e2f667418e5d9058e96e253b220de7 Reviewed-on: https://pdfium-review.googlesource.com/39352 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-08-01Roll third_party/freetype/src/ b532d7ce7..578bcf103 (28 commits)Lei Zhang
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/b532d7ce708c..578bcf103a12 BUG=pdfium:1125 Change-Id: I6cf423c4e64e54c05c47e7f706039ef2d4ef49dc Reviewed-on: https://pdfium-review.googlesource.com/39350 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-07-18Handle wrong tag element count in littlecms.Lei Zhang
BUG=chromium:864932 Change-Id: I7e87ba6e0fc6e2bdefcee29cbc0b60cb9ec9e316 Reviewed-on: https://pdfium-review.googlesource.com/38270 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-07-18Add pdfium::span::as_bytes() and as_writable_bytes().Tom Sepez
Picks up some enhancements from base/span.h. In turn, also adds the size_bytes() helper. Differs from base version in that it works around C++14 enable_if_t<>, and avoids the dynamic_extent template specialization tricks. Use it in a few places where appropriate. Change-Id: I86f72cf0023f2d4317a7afa351fddee601c8f86c Reviewed-on: https://pdfium-review.googlesource.com/38251 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
2018-07-11Roll third_party/yasm/source/patched-yasm/ b98114e18..720b70524 (1 commit)Lei Zhang
https://chromium.googlesource.com/chromium/deps/yasm/patched-yasm.git/+log/b98114e18d8b..720b70524a44 Created with: roll-dep third_party/yasm/source/patched-yasm TBR=dsinclair@chromium.org Change-Id: Ie8893bfafcb26d8fe88a9c3efa11548043675513 Reviewed-on: https://pdfium-review.googlesource.com/37270 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-07-10Fix duplicate symbols in Chromium builds.Lei Zhang
Commit 43f6bc80 copied over Chromium's base/debug/alias.cc, but that confuses Windows builds and Linux jumbo builds in Chromium. To fix this, wrap PDFium's copy in the pdfium namespace. BUG=chromium:860850 TBR=dsinclair@chromium.org Change-Id: I1ceec28b9ce6c2893bf030a5b6564dce6d6ec376 Reviewed-on: https://pdfium-review.googlesource.com/37430 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-07-09Prevent FX_OutOfMemoryTerminate() from being folded by the linker.Lei Zhang
Copy base::debug::Alias() from Chromium. Use it to prevent ICF from combining FX_OutOfMemoryTerminate() with similar functions. BUG=chromium:860850 Change-Id: Ifccb05c0218f86e44b9bb235847e01383ec36b3f Reviewed-on: https://pdfium-review.googlesource.com/37290 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-07-09Roll third_party/freetype/src/ 125b84800..b532d7ce7 (64 commits)chromium/3487Lei Zhang
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/125b84800a32..b532d7ce708c Created with: roll-dep third_party/freetype/src BUG=pdfium:1116 Change-Id: Iff8a96107a8269a9ff653fa24436df5a2d38f19b Reviewed-on: https://pdfium-review.googlesource.com/36830 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-07-02Add pdfium::Vector2D<>()Tom Sepez
Many of the FX_Alloc's that have not been converted to std::vector are using FX_Alloc2D and the safe math it performs under the covers. Make an equivalent function for returning a vector to avoid burdening callers with the safe math equivalents. Use it in one place. Change-Id: Ie4a280351b7370b755f2a1928f8b2d84fe007c03 Reviewed-on: https://pdfium-review.googlesource.com/36770 Commit-Queue: Tom Sepez <tsepez@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-06-27Update third_party/base/template_util.h.Lei Zhang
Copy over Chromium's base/template_util.h from r538740. Change-Id: I7553570ef14dd5c803edbcd544b08c72b4f7123b Reviewed-on: https://pdfium-review.googlesource.com/34670 Reviewed-by: dsinclair <dsinclair@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-06-01Roll third_party/freetype/src/ d45d4b97e..125b84800 (4 commits)Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/d45d4b97e6a0..125b84800a32 $ git log d45d4b97e..125b84800 --date=short --no-merges --format='%ad %ae %s' 2018-05-31 wl * src/raster/ftraster.c (black_TWorker_): Remove `gTarget' field. 2018-05-30 apodtele Shorten LCD filtering docs. 2018-05-31 wl [sfnt] Get colors from `CPAL' table in right order (#54015). 2018-05-30 wl ftcolor.h: Improve API design, fix typos (#54011, #54014). Created with: roll-dep third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:1100 Change-Id: I5fbf9e4ea21e6443293d79e416b55cf23c23ce9d Reviewed-on: https://pdfium-review.googlesource.com/33534 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-05-30Fix roll-dep path in roll-freetype.shNicolas Pena
This CL removes the 'pdfium' part of the path, because it's not working for me anymore with that. Change-Id: I84008905e368a4bdccc5e53aff2b90f4ae1938d7 Reviewed-on: https://pdfium-review.googlesource.com/33311 Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
2018-05-30Roll third_party/freetype/src/ 9e345c911..d45d4b97e (27 commits)Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/9e345c911714..d45d4b97e6a0 $ git log 9e345c911..d45d4b97e --date=short --no-merges --format='%ad %ae %s' 2018-05-30 prince.cherusker Beautify a3cfed5e87232c933bdc64f43e8ebebcfd18b41b. 2018-05-30 prince.cherusker Fix pointer underflow. 2018-05-30 wl Various minor color fixes. 2018-05-25 ramakrishnan.nikhil [docmaker] Fix missing `Defined in (...)' under Windows/Cygwin. 2018-05-24 apodtele [smooth] Formalize Harmony LCD rendering. 2018-05-22 wl Oops! 2018-05-22 wl [truetype] Reject elements of composites with invalid glyph indices. 2018-05-22 wl * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Trace # of points. 2018-05-20 wl * include/freetype/ftcolor.h: New file. 2018-05-20 apodtele Autoformatting. 2018-05-18 apodtele * include/freetype/internal/ftcalc.h (FT_MSB): Verified `_MSC_VER'. 2018-05-18 wl * include/freetype/internal/ftcalc.h (FT_MSB): Use `_MSC_VER' value. 2018-05-18 wl Minor comment fixes. 2018-05-17 wl s/inline/__inline/ for MSVC. 2018-05-16 wl Add function `FT_Get_GlyphLayers' to access `COLR' table data. 2018-05-15 apodtele [base] Fix mono bitmap presetting (#53896). 2018-05-15 wl [psaux] Fix compiler warning (#53915). 2018-05-15 wl [sfnt] Fix memory leak in handling `COLR' data. 2018-05-15 wl Grammar fixes. 2018-05-15 wl [sfnt] If `COLR' is present, don't assume that all glyphs use it. 2018-05-14 wl * src/base/ftobjs.c (FT_Load_Glyph): Fix signature of `pixel_modes'. 2018-05-14 wl Provide dummy functions if `TT_CONFIG_OPTION_SFNT_NAMES' is not set. 2018-05-13 wl Typo. 2018-05-13 wl * src/base/ftobjs.c (FT_Load_Glyph): Improve tracing. 2018-05-13 shaozhang [sfnt] Preliminary support of coloured layer outlines. 2018-05-12 arkady.shapkin Use MS VC++'s _BitScanReverse to calculate MSB (patch #9636). 2018-05-11 parthwazurkar [pcf]Documentation Typo. Created with: roll-dep third_party/freetype/src R=dsinclair@chromium.org,npm@chromium.org,thestig@chromium.org Bug: pdfium:1099 Change-Id: Id1c2ed07a8c771be282e2aa3b015a6840b443735 Reviewed-on: https://pdfium-review.googlesource.com/33290 Commit-Queue: Nicolás Peña Moreno <npm@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-05-30Remove manual references to exe_and_shlib_depsTom Anderson
After [1], a manual dependency on exe_and_shlib_deps is no longer necessary since it's automatically added. This CL removes all remaining manual references to exe_and_shlib_deps. [1] https://chromium.googlesource.com/chromium/src.git/+/d7ed1f0a9c28c932fddc834ca5de44f28266c7f5 BUG=chromium:845700 R=thestig Change-Id: I5708e7c662b24493d1216f9a802dfce3de5dbea6 Reviewed-on: https://pdfium-review.googlesource.com/33151 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Lei Zhang <thestig@chromium.org>
2018-05-23Move SkFloatToDecimal pow10 inside anonymous namespaceDan Sinclair
This CL moves the pow10 definition inside the pdfium::skia namespace in order to fix conflicts with the skia version of the same file. This comes up due to the code coverage tools. Bug: chromium:845505 Change-Id: Ief53a2bbd15cb9828be23417ff3442461347d146 Reviewed-on: https://pdfium-review.googlesource.com/32893 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: dsinclair <dsinclair@chromium.org>
2018-05-17Update third_party/base/compiler_specific.h.Lei Zhang
Import Chromium's base/compiler_specific.h from r537069. Now that FALLTHROUGH is available via compiler_specific.h, remove FX_FALLTHROUGH. Change-Id: I8b9631a4f007673e10e0c26951dfd61e9dcada30 Reviewed-on: https://pdfium-review.googlesource.com/32639 Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-05-16Add support for PartionRealloc to return nullptrRyan Harrison
Currently the PartitionRealloc code path will only exit, with no option to return nullptr on failure, unlike PartitionAlloc code path. This CL refactors the realloc code path to be similar to alloc code path, following the upstream patch: https://chromium-review.googlesource.com/c/chromium/src/+/1044971 This also changes the version of realloc exposed to third party C libs to have the nullptr behaviour, like the exposed version of alloc. This CL is a redo of https://pdfium-review.googlesource.com/c/pdfium/+/31990 BUG=chromium:783022 Change-Id: Ib1b659079585dfd0423d683b8a2c7b6758a22a01 Reviewed-on: https://pdfium-review.googlesource.com/32613 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: Chris Palmer <palmer@chromium.org>
2018-05-16Update third_party/base/bits.h.Lei Zhang
Pick up https://crrev.com/515947 and https://crrev.com/542972 Change-Id: Idccd388ee2f9cc71ace7ed5f598c820754e87b6e Reviewed-on: https://pdfium-review.googlesource.com/32631 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Ryan Harrison <rharrison@chromium.org>
2018-04-27Fix undefined behavior in AGG.Lei Zhang
BUG=chromium:746232 Change-Id: Id8f22d09bc7768603ea67bd52a5a5b3d87885ea9 Reviewed-on: https://pdfium-review.googlesource.com/31370 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
2018-04-27Updated libtiff 4.0.8->4.0.9Ryan Harrison
Applied 0000-build-config.patch Applied 0006-HeapBufferOverflow-ChopUpSingleUncompressedStrip.patch Applied 0008-HeapBufferOverflow-ChopUpSingleUncompressedStrip.patch Updated and applied 0017-safe_skews_in_gtTileContig.patch Removed 0025-upstream-OOM-gtTileContig.patch, already applied Removed 0026-upstream-null-dereference.patch, already applied Applied 0027-build-config.patch Updated and applied 0028-nstrips-OOM.patch BUG=pdfium:1074 Change-Id: I32510327155213fd6256c5a67fa1be3a54cb975c Reviewed-on: https://pdfium-review.googlesource.com/31550 Reviewed-by: Henrique Nakashima <hnakashima@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
2018-04-25Roll third_party/googletest/src/ a325ad2db..4bd8c4638 (125 commits)Lei Zhang
https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/a325ad2db5de..4bd8c4638ada Created with: roll-dep third_party/googletest/src Change-Id: I963e0b39119ab564754a81d20c38b5641b9230b5 Reviewed-on: https://pdfium-review.googlesource.com/31130 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org>
2018-04-25Roll third_party/freetype/src/ 26ad1acbc..2157d8fa6 (21 commits)chromium/3409Nicolas Pena
https://chromium.googlesource.com/chromium/src/third_party/freetype2.git/+log/26ad1acbcb4c..2157d8fa6f7e $ git log 26ad1acbc..2157d8fa6 --date=short --no-merges --format='%ad %ae %s' 2018-04-24 bungeman [base] Avoid undefined behaviour in lcd filtering code (#53727). 2018-04-22 wl * src/base/ftoutln.c (FT_Outline_Decompose): Improve error tracing. 2018-04-22 apodtele [base] Fix bitmap emboldening. 2018-04-22 wl Revert "[base] Fix bitmap copying where the new pitch is smaller." 2018-04-22 wl [base] Fix bitmap copying where the new pitch is smaller. 2018-04-22 wl Another fix for handling invalid format 2 cmaps. 2018-04-19 apodtele Documentation tweaks. 2018-04-19 wl [autofit] Add support for Georgian Mtavruli characters. 2018-04-19 wl Fix handling of invalid format 2 cmaps. 2018-04-17 wl [truetype] Integer overflow issues. 2018-04-16 wl CHANGES: Mention CVE-2018-6942. 2018-04-16 wl [truetype] Integer overflow issues. 2018-04-15 ankit97dhankhar [docmaker] Make it work with python3. 2018-04-15 apodtele [build] Use `info' function of make 3.81. 2018-04-15 wl [truetype]: Limit `SLOOP' bytecode argument to 16 bits. 2018-04-14 wl [truetype] Integer overflow issues. 2018-04-14 wl [autofit] Update to Unicode 11.0.0. 2018-04-07 madigens Modernize CMake build. 2018-04-09 wl [truetype] Integer overflow issues. 2018-04-06 apodtele [windows, wince] Clean up legacy project files. 2018-04-04 wl [cff, type1] Sanitize `BlueFuzz' and `BlueShift'. Created with: roll-dep third_party/freetype/src Bug: pdfium:1070 Change-Id: I097d77d9f9f4e37524edfdeaa2bc49e261ce4f42 Reviewed-on: https://pdfium-review.googlesource.com/31312 Reviewed-by: Nicolás Peña Moreno <npm@chromium.org> Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
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>