Age | Commit message (Collapse) | Author |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This CL upgrades LCMS from version 2.6 to 2.8. All changes from LCMS
original version 2.8 are stored in patch files:
- Patch 0: memory management modifications to use PDFium methods. This
was previously not in any patch, so the changes were manually applied.
- Patches 1-5: new patch files corresponding to old changes that can be
seen in the history, but did not previously have patch files.
- Patches 6-25: previous patches (patch numbers shifted by 6). The one
for from16-to-8-overflow.patch was deleted as it was already upstream.
Some patches did not apply cleanly so their .patch files were modified.
- Patch 26: as I just moved files directly, unsupported characters were
moved in unchanged, so I had to fix all of them: e with tilde and
other characters were replaced to allow compilation on Windows.
- Patch 27: Went over the code and re-applied changes that included
comments clearly indicating this was Foxit. These changes are all
already seen in the initial PDFium commit.
Change-Id: Ic1d84e54803ef9e6b280ef7619bbf0b757312fbf
Reviewed-on: https://pdfium-review.googlesource.com/10590
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I5f240cb0779648dc5427fecb5561086e7c0fb16a
Reviewed-on: https://pdfium-review.googlesource.com/10650
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
In a way similar to the existing USE_SYSTEM_ZLIB. The default is of course
still the bundled lcms2.
Change-Id: I219b50854b3c7870b0f4d94574ba39f6cb26f556
Reviewed-on: https://pdfium-review.googlesource.com/5870
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
In a way similar to the existing USE_SYSTEM_LIBJPEG. The default is of
course still the DEPS-based zlib checkout.
Changes in v2:
1) Since Chromium doesn't have //third_party:zlib (AKA a "zlib" target in
//third_party/BUILD.GN) all the targets that depended on //third_party:zlib now
depend on third_party:zlib, which always points to PDFium's
third_party/BUILD.GN. The targets that depended on //third_party:zlib in
third_party/BUILD.GN just depend on :zlib instead.
2) Move the zlib bits out of !build_with_chromium block.
Change-Id: Id73eb07591418ff2ae71b83b87c18af71b49a22a
Reviewed-on: https://pdfium-review.googlesource.com/5030
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
VS does not like to see <, > in the XML nodes of the build files. Work
around this issue by replacing less-than and greater-than characters in
the FreeType custom config include file path definitions with escaped
quotes.
BUG=pdfium:701
Change-Id: I879ade670158ccb4d435b65cde382c6e6b32e002
Reviewed-on: https://pdfium-review.googlesource.com/4330
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This reverts commit 36c5b170e722362d4b5f7cb6e4e0099ed227a307.
Reason for revert: This appears to be blocking the roll into Chromium.
https://chromium-review.googlesource.com/c/476165/
Original change's description:
> core: allow building against system zlib
>
> In a way similar to the existing USE_SYSTEM_LIBJPEG. The default is of
> course still the DEPS-based zlib checkout.
>
> Change-Id: I649e75beb1a19c4cf7abda42fa10ebe5babfe946
> Reviewed-on: https://pdfium-review.googlesource.com/4070
> Reviewed-by: Lei Zhang <thestig@chromium.org>
> Commit-Queue: Lei Zhang <thestig@chromium.org>
>
TBR=thestig@chromium.org,dsinclair@chromium.org,npm@chromium.org,vmiklos@collabora.co.uk,pdfium-reviews@googlegroups.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Change-Id: I1ee6fb002f444ff9b559ce6a69679e63de7ff9cc
Reviewed-on: https://pdfium-review.googlesource.com/4393
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
In a way similar to the existing USE_SYSTEM_LIBJPEG. The default is of
course still the DEPS-based zlib checkout.
Change-Id: I649e75beb1a19c4cf7abda42fa10ebe5babfe946
Reviewed-on: https://pdfium-review.googlesource.com/4070
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Check out libjpeg-turbo via DEPS.
Also checkout yasm via DEPS and copy some yasm build files from
Chromium.
BUG=chromium:541704,pdfium:389
Change-Id: Ic7af415f002a3ca2acd9223ed3474dedf3930b32
Reviewed-on: https://pdfium-review.googlesource.com/3470
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
After moving to a DEPS based FreeType checkout, integration with
Chromium no longer works correctly when pdf_bundle_freetype is set
to true, because relative paths would point to
third_party/pdfium/third_party/freetype, and that no longer exists.
BUG=pdfium:688
TBR=drott@chromium.org,dsinclair@chromium.org,npm@chromium.org
Change-Id: I346072ddc1052d25be58ca1610f6d1c002fc03ef
Reviewed-on: https://pdfium-review.googlesource.com/3556
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
BUG=chromium:541704
Change-Id: I313d8853450ff5940b3baa4054ff441b342c46b7
Reviewed-on: https://pdfium-review.googlesource.com/3350
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
BUG=pdfium:688
Change-Id: I7787b29d0fedc48f1360ab041d43829d0e805462
Change-Id: I7787b29d0fedc48f1360ab041d43829d0e805462
Reviewed-on: https://pdfium-review.googlesource.com/3331
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
This reverts commit 21362ee6370e6ef0f5a8275af5afde3f127887c9.
Reason for revert: Breaks win_clang.
Original change's description:
> Enable Wshift-negative-value in PDFium.
>
> BUG=chromium:507717
>
> Change-Id: If0030640497ce103de7713f8497570602950a2b6
> Reviewed-on: https://pdfium-review.googlesource.com/3270
> Commit-Queue: Nico Weber <thakis@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
>
TBR=thestig@chromium.org,thakis@chromium.org,pdfium-reviews@googlegroups.com
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=chromium:507717
Change-Id: I4d482b6b7dade74373995f6d9cfdc6d1d66431a3
Reviewed-on: https://pdfium-review.googlesource.com/3410
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Add a public config to fxfreetype to make includes visible and provide a
freetype_common group as a public dependency on fxcrt. freetype_common
switches between fxfreetype and //build/config/freetype, which gives
embedders the flexibility to configure the source of FreeType.
BUG=chromium:700926
Change-Id: I73ae26979dcf69a419485def23c7a13dffa2a15d
Reviewed-on: https://pdfium-review.googlesource.com/2971
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
BUG=pdfium:601
Change-Id: I07756cd208cd2221802ff2d331f316b6618a41e0
Reviewed-on: https://pdfium-review.googlesource.com/3120
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I024573f341cba48d9f5d2bc38683a016639b14e2
Reviewed-on: https://pdfium-review.googlesource.com/3119
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
BUG=chromium:507717
Change-Id: If0030640497ce103de7713f8497570602950a2b6
Reviewed-on: https://pdfium-review.googlesource.com/3270
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@chromium.org>
|
|
This is the same version used by Chromium (as
also the latest release of zlib).
BUG=687631
Change-Id: Ia4bcdee3c36443ba01914d157ea795d7fb881a45
Reviewed-on: https://pdfium-review.googlesource.com/3096
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
We'll add callers in a later CL.
BUG=pdfium:678
Change-Id: I98c8b2832c4750df326218e24ee8c1bd33b89b50
Reviewed-on: https://pdfium-review.googlesource.com/3066
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This is a continuation of https://codereview.chromium.org/2346483006/
This removes the need for agg, without providing
full Skia support.
It doesn't work yet, but it does compile and run
for simple PDFs.
R=dsinclair@google.com
Committed: https://pdfium.googlesource.com/pdfium/+/5d223298b26c9b2b6284cba9a51521d3873b6e58
Review-Url: https://codereview.chromium.org/2491693002
|
|
id:180001 of https://codereview.chromium.org/2491693002/ )
Reason for revert:
Breaking the chrome roll.
https://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/306015/steps/generate_build_files%20%28with%20patch%29/logs/stdio
Original issue's description:
> Create a subset of skia support for paths only
>
> This is a continuation of https://codereview.chromium.org/2346483006/
>
> This removes the need for agg, without providing
> full Skia support.
>
> It doesn't work yet, but it does compile and run
> for simple PDFs.
>
> R=dsinclair@google.com
>
> Committed: https://pdfium.googlesource.com/pdfium/+/5d223298b26c9b2b6284cba9a51521d3873b6e58
TBR=dsinclair@google.com,caryclark@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2503883003
|
|
This is a continuation of https://codereview.chromium.org/2346483006/
This removes the need for agg, without providing
full Skia support.
It doesn't work yet, but it does compile and run
for simple PDFs.
R=dsinclair@google.com
Review-Url: https://codereview.chromium.org/2491693002
|
|
Review-Url: https://codereview.chromium.org/2386273004
|
|
Previous attempt: https://codereview.chromium.org/2289263005
It failed for the PDFium inside Chromium use case.
This time the paths are relative.
Review-Url: https://codereview.chromium.org/2308873002
|
|
https://codereview.chromium.org/2289263005/ )
Reason for revert:
Breaking non-standalone builds.
Original issue's description:
> Fix gn gn --check complaints about fxcrt.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/6f9ae19b9b125af868077f4eee80a13e0c29c61e
TBR=dpranke@chromium.org,dsinclair@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2301783002
|
|
Review-Url: https://codereview.chromium.org/2289263005
|
|
TBR=msarett@google.com
Review-Url: https://codereview.chromium.org/2214543003
|
|
Sync up with Chromium's copy of libpng.
Review-Url: https://codereview.chromium.org/2132263002
|
|
This improves build performance somewhat. This does not change the standalone
targets since these don't affect the build time of Chrome and are small enough
for it not to matter anyway.
BUG=http://crbug.com/627637
Review-Url: https://codereview.chromium.org/2164633005
|
|
The Skia Windows build for PDFium differs from the
Skia Chromium build in that it uses FreeType within
PDFium and Direct Write within Chromium. This allows
Chrome to match the UI of Windows, and allows
PDFium to use FreeType to measure and draw.
When PDFium was updated to use gn, the settings
from Chrome were used as the basis for the PDFium
settings. Subsequently, PDFium built with Skia on
Windows drew text incorrectly as it used FreeType to
look up the font glyphs and Direct Write to draw them.
This fixes the gn files, and also fixes an error that
crept into the now less-used gyp files.
R=dsinclair@chromium.org
BUG=
Review-Url: https://codereview.chromium.org/2055353002
|
|
Have different settings for core source code vs third_party code so
it is a bit easier to fine tune settings.
Review-Url: https://codereview.chromium.org/2041053003
|
|
This removes the last vestiges of antigrain from
a Skia-specific build.
R=dsinclair@chromium.org,tsepez@chromium.org,thestig@chromium.org,reed@google.com
Review-Url: https://codereview.chromium.org/1998623002
|
|
Remove several obsolete warnings from GYP build;
Move disabled warning flags closer to the target instead of the
whole package for GYP build;
Use macro undefine instead of disabled warning for libtiff for GN
build.
Review-Url: https://codereview.chromium.org/1962863002
|
|
Chromium defines WIN32_LEAN_AND_MEAN on Windows. Third party library
libtiff also defines it. So we undefine it before compiling libtiff
code for GYP build.
Also, remove _CRT_SECURE_NO_WARNINGS macro since it is redefined in
zlib library as well. Our code no longer needs it.
After fixing the above, re-enable warning flag 4005 which alerts about
"macro redefinition".
For GN build, we disable warning 4005 for compiling libtiff
code before we can figure out another way to do this.
Review-Url: https://codereview.chromium.org/1954773002
|
|
https://codereview.chromium.org/1923333002/ )
Reason for revert:
Blocking the roll
Original issue's description:
> Allow overriding GN build flags
>
> In order to enable XFA from GN builds we need to be able to override
> pdf_enable_xfa. To do this a build_overrides/pdfium.gni file needs to be created
> in Chrome. To use that, we have to create a build_overrides/pdfium.gni file
> in PDFium that just uses the default values.
>
> BUG=chromium:62400
>
> Committed: https://pdfium.googlesource.com/pdfium/+/1ae572e7e35b52ce4897d1715c005a1b0f79526a
TBR=thakis@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:62400
Review-Url: https://codereview.chromium.org/1941563002
|
|
In order to enable XFA from GN builds we need to be able to override
pdf_enable_xfa. To do this a build_overrides/pdfium.gni file needs to be created
in Chrome. To use that, we have to create a build_overrides/pdfium.gni file
in PDFium that just uses the default values.
BUG=chromium:62400
Review-Url: https://codereview.chromium.org/1923333002
|
|
This CL setups up a standalone GN build. You'll need to set gn args similar to:
use_goma = true
clang_use_chrome_plugins = false
pdf_enable_xfa = true
pdf_enable_v8 = true
pdf_is_standalone = true
The third_party/pymock files are needed to make git cl upload work correctly.
BUG=pdfium:106
Review URL: https://codereview.chromium.org/1904563002
|
|
Fixes GN build after 47ca692.
R=tsepez@chromium.org,weili@chromium.org
Review URL: https://codereview.chromium.org/1862773002
|
|
Part of the work required to ship XFA with chrome.
BUG=pdfium:396
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1763493002 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1740103002 .
|
|
These are in third_party libraries so should be fixed upstream. Silencing the
warning in our build.
R=thestig@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1734663002 .
|