Age | Commit message (Collapse) | Author |
|
TBR=tsepez@chromium.org
Remove another potential stale CJS_Timer usage
Fix memory ownership model for PDFium timers.
The |app| class owns the CJS_Timer as part of its vector<unique_ptr>
to them.
The CJS_Timer "owns" its slot in the global ID to timer map, and
removes itself when it is destroyed. Nothing else deletes
from the global map. Deleting from the global map is
accompanied by a callback to the embedder to clear its
resources.
Next, the proper way to remove a CJS_Timer is by going
through the app, and having the app erase its unique ptr,
which then deletes the CJS_Timer, which in turn cleans up the
global map. Provide a CJS_Timer::Cancel static method to
do this conveniently.
There is a alternate path to the CJS_timer via JS and its
CJS_TimerObj. CJS_TimerObj owns a TimerObj that currently
points to the CJS_Timer. If the timer fires, and cleans
itself up, this can go stale.
Make the TimerObj maintain a weak reference via global
timer ID rather than a direct pointer to the CJS_Timer, so
that if the timer fires and is destroyed, future attempts
to cancel find nothing.
There is another path, where if the JS timer object is GC'd, then we
just clean up its CJS_TimerObj without touching
the actual CJS_Timers. We could make this match the spec
by calling into the new cancel routine as described above,
but it seems weird to have a timer depend on whether a gc
happened or not.
A subsequent CL will rename these objects to more closely
match the conventions used by the other JS wrappers.
BUG=634716
Review-Url: https://codereview.chromium.org/2221513002
(cherry picked from commit 8ca63de14d522d3d259d74fa43b28b05b02728e8)
openjpeg: Prevent negative x, y values in opj_tcd_init_tile
BUG=632622
Review-Url: https://codereview.chromium.org/2223303002
(cherry picked from commit b6befb2ed2485a3805cddea86dc7574510178ea9)
Review URL: https://codereview.chromium.org/2251703003 .
|
|
R=thestig@chromium.org
Add bounds checks to CWeightTable::Calc() and friends.
BUG=624514
Review-Url: https://codereview.chromium.org/2204773003
(cherry picked from commit 766901f5ec79b3c3ccd1e872f699642d771a89c5)
openjpeg: Prevent overflows when using opj_aligned_malloc()
BUG=628304
Review-Url: https://codereview.chromium.org/2218783002
(cherry picked from commit b20ab6c7acb3be1393461eb650ca8fa4660c937e)
openjpeg: Prevent integer overflows during calculation of |l_nb_code_blocks_size|
BUG=628890
Review-Url: https://codereview.chromium.org/2212973002
(cherry picked from commit ff74356915d4c7f7c6eb16de1e9f403da4ecb6d5)
Review URL: https://codereview.chromium.org/2227743004 .
|
|
Based on suggested patch by reporter.
BUG=629919
TBR=thestig@chromium.org
Original Review-Url: https://codereview.chromium.org/2182683002
(cherry picked from commit d8cc503575463ff3d81b22dad292665f2c88911e)
Review URL: https://codereview.chromium.org/2204003002 .
|
|
|l_nb_precinct_size|
TBR=thestig@chromium.org
BUG=625541
Original Review-Url: https://codereview.chromium.org/2124073003
(cherry picked from commit 2f6d1480a1be2b1f82c94219c2d99e67d7e0660d)
Review URL: https://codereview.chromium.org/2151113004 .
|
|
BUG=chromium:619405
R=ochang@chromium.org
Review-Url: https://codereview.chromium.org/2071773002
|
|
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
|
|
BUG=618164
Review-Url: https://codereview.chromium.org/2054993002
|
|
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
|
|
Cherry-picked from upstream commit 6da55e0b51124b795b707d318c0e03252222ba06
BUG=chromium:616253
Review-Url: https://codereview.chromium.org/2034123003
|
|
BUG=chromium:613160
Review-Url: https://codereview.chromium.org/2001663002
|
|
BUG=603895
Review-Url: https://codereview.chromium.org/1992893003
|
|
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
|
|
Define and use chromium_code to be used in standalone PDFium GYP
build so that PDFium code can have more stringent warning level.
This is also enabled on GN build by default so that GYP and GN
builds can have consistent compilation results.
Also enable chromium_code for PDFium compilation in Chromium
since most of the warnings are cleared. The left ones are clearly
marked and will be addressed soon.
A few more clean-ups for the build:
-- Remove the suppression of sign-compare warnings for Clang since
the code is clean and the warning can be re-enabled.
-- Re-enable "treat warning as errors" on Mac
-- Add a flag to make GCC build works as well.
BUG=pdfium:29, pdfium:475
Review-Url: https://codereview.chromium.org/1985843002
|
|
ChromeOS still compile pdfium with GCC. Fix the code to be ready
to have workable GCC standalone build. The build file change will
be in a follow-up CL.
One warning is about maybe using uninitialized variable, the other is
about enum and non-enum in a conditional statement.
Review-Url: https://codereview.chromium.org/1981593002
|
|
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
|
|
BUG=pdfium:466
Review URL: https://codereview.chromium.org/1861963002
|
|
Fixes GN build after 47ca692.
R=tsepez@chromium.org,weili@chromium.org
Review URL: https://codereview.chromium.org/1862773002
|
|
Use FreeType instead of Direct Write on Windows. Since PDFium
currently uses the graphics engine to draw but not to measure,
the graphics engine needs to always use FreeType to get
consistent metrics.
Add a translation from PDF's blend modes to Skia's xfer modes.
Turn on subpixel positioning for text to get more precise
glyph placement.
Pass the alpha through to get proper bitmap transparency.
Address earlier nits.
R=dsinclair@chromium.org, tsepez@chromium.org, dsinclair
Review URL: https://codereview.chromium.org/1812263002 .
|
|
This file should not exist and causes issues with gclient.
|
|
This CL moves the fxcrt code into the core/fxcrt directory. The only exception
was fx_bidi.h which was moved into core/fxcrt as it is not used outside of
core/.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1825953002 .
|
|
BUG=pdfium:29
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1821423002 .
|
|
When building with clang-cl and not passing /FIintrin.h, the
__attribute__ defined to nothing, which confuses the compiler
(see bug).
Since nothing seems to require the __attribute__ redefinition,
just remove it.
Reported upstream here: https://github.com/uclouvain/openjpeg/issues/727
BUG=592745
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1810373002 .
|
|
This CL fixes up build issues with pdfium_use_skia=1 on windows.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1810063002 .
|
|
This Cl moves and splits apart the fx_graphics.h file into individual classes.
The .cpp files are renamed to match the .h files. pre.h was removed at the
same time and its contents moved to the correct places as needed.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1810563002 .
|
|
Enabling of XFA-Forms in crrev.com/1775173002 broke VS 2015 builds
because of a conflict between the lfind declaration in libtiff\tiffiop.h
and the one that ships with VS 2015. Defining HAVE_SEARCH_H for VS 2015
builds fixes this problem
BUG=440500,593996
R=thakis@chromium.org, tsepez@chromium.org
Review URL: https://codereview.chromium.org/1781043005 .
|
|
Fixes 32-bit clang-cl build.
These intrinsics require addresses with 16-byte alignment, which doesn't
cause issues for 64-bit builds because of allocator alignment. MSVC
doesn't recognise the __SSE__, __SSE2__ defines, which is why this problem
never surfaced before.
R=tsepez@chromium.org
BUG=pdfium:433
Review URL: https://codereview.chromium.org/1783813003 .
|
|
Also move ScopedFileStream, since it isn't specific to the
parser, and belongs with the fxcrt object it manipulates.
R=ochang@chromium.org
Review URL: https://codereview.chromium.org/1780063003 .
|
|
R=thakis@chromium.org, tsepez@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1774123005 .
|
|
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 .
|
|
This is a wrapper which does (a) * (b) / (c). Inline the operations.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1726893002 .
|
|
This is just a wrapper for (a) / (b). Inline the divide.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1727793002 .
|
|
R=tsepez@chromium.org
BUG=587227
Review URL: https://codereview.chromium.org/1726843002 .
|
|
This define just multiples the two parameters together. Inline the *'s.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1729613003 .
|
|
Fix IWYU in stl_util.h
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1672283002 .
|
|
R=tsepez@chromium.org
BUG=584223
Review URL: https://codereview.chromium.org/1672163002 .
|
|
Unfortunately, it is still used on the xfa/ side, so
exclude it only for non-xfa builds.
Original Review URL: https://codereview.chromium.org/1618273004 .
(cherry picked from commit c64e4007ee4561ec2ed3ce986191caf9b024ef55)
TBR=ochang@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1631863003 .
|
|
This is to avoid a compilation warning.
R=thakis@chromium.org
TBR=thestig@chromium.org
Review URL: https://codereview.chromium.org/1607053003 .
|
|
Otherwise this conflicts with Chromium's copy if the include paths just
happens to be in the wrong order. Since the two copies of libpng are of
different versions, we cannot use Chromium's copy.
TBR=tsepez@chromium.org,ochang@chromium.org
Review URL: https://codereview.chromium.org/1599513004 .
|
|
opj_pi_update_decode_poc().
R=tsepez@chromium.org
TBR=tsepez@chromium.org
BUG=571480
Original Review URL: https://codereview.chromium.org/1583233008 .
(cherry picked from commit 7a0f441e1410b3a0d97374c00c4007552d7dd27a)
Review URL: https://codereview.chromium.org/1594603004 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1591483003 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1591563002 .
|
|
This was causing pdfium_diff to fail to link on ARM/linux
due to missing neon-specifc symbols. Ideally we could
add the missing symbols (and update the latest version
of libpng), but that can happen in a separate CL.
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1585403003 .
|
|
functions.
TBR=thestig@chromium.org
BUG=571479
Original Review URL: https://codereview.chromium.org/1585243003 .
(cherry picked from commit 0b56371b1e9683676cf191f2d9d41d40d47c3726)
Review URL: https://codereview.chromium.org/1590593002 .
|
|
Otherwise there are errors like:
../../third_party/pdfium/third_party/libtiff/tif_jpeg.c:344
error: undefined reference to 'chromium_ijg_jpeg_read_header'
R=thestig@chromium.org
Review URL: https://codereview.chromium.org/1582613003 .
|