Age | Commit message (Collapse) | Author |
|
This CL removes the core/include/fpdfdoc/fpdf_vt.h file. The IPDF_VariableText
class was removed in favour of the only concrete class of CPD_VariableText.
CPVT_Provider was moved to CPDF_VariableText::Provider and
CPDF_VariableText_Iterator was moved to CPDF_VariableText::Iterator.
The IFX_Edit_FontMap interface was merged into the IPVT_FontMap interface so
there is only one.
Other classes were split out as needed in order to keep things compiling.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1860063002
|
|
This CL moves the IPDF_VariableText_Provider and IPDF_VariableText_Iterator
classes to be nested sub-classes of IPDF_VariableText.
BUG=pdfium:455
Review URL: https://codereview.chromium.org/1855403002
|
|
Reuse the Skia typeface on sucessive text draw calls.
This reduces the SKP size by 100x for some documents.
Note that this does not use a smart pointer for the
Skia typeface object. The downside of doing so is that
it requires all clients that include fx_font.h to also
have access to Skia.
In this specific case, it is preferable to have a
forward declared class to isolate Skia from the rest of PDFium.
R=dsinclair,tsepez@chromium.org
Review URL: https://codereview.chromium.org/1837113004
|
|
This CL splits the fpdf_ap.h file apart into individual pieces and moves the
implementations to their own CPP files.
Review URL: https://codereview.chromium.org/1840413002
|
|
This makes pdfium code on Linux and Mac sign-compare warning free.
The warning flag will be re-enabled after checking on windows clang build.
BUG=pdfium:29
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1841643002 .
|
|
Review URL: https://codereview.chromium.org/1832173003
|
|
To draw paths that are stroked and filled with a pair of colors,
reduce the fill by the width of the stroke. This is implemented
with path ops subtracting the resolved stroke shape from the
fill shape. This permits rendering the result without requiring
an offscreen bitmap.
The implementation for stroke+fill requires a new entry into
the graphics engine, so a bit was added to device caps for that.
Extract the gradient information out of the axial gradient
function descriptions, and when possible, use Skia to draw
the linear gradient directly. This requires making the function
descriptions non-opaque, and adding a bit to device caps for
another entry into the graphics engine.
BUG=
Review URL: https://codereview.chromium.org/1828283002
|
|
First step to getting rid of FX_DWORD.
R=ochang@chromium.org
Review URL: https://codereview.chromium.org/1832113003 .
|
|
Patch by forshaw.
This patch adds bounds checking to the names buffer passed to GetNameFromTT.
There are observed crashes in this function where data is read outside of
the bounds allocated and passed to GetNameFromTT. There's no reason that
this function should ever try and read outside of the allocated bounds.
BUG=583037
TBR=forshaw@chromium.org
patch from issue 1829013002 at patchset 40001 (http://crrev.com/1829013002#ps40001)
Review URL: https://codereview.chromium.org/1830243003 .
|
|
This CL splits apart the core/include/fpdfapi/fpdf_resource.h file and places
the classes into individual files.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1824033002 .
|
|
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 .
|
|
Add a few missing consts and remove a few extra externs.
R=ochang@chromium.org
Review URL: https://codereview.chromium.org/1817283002 .
|
|
It isn't buying us anthing, and it looks strange in
a struct when other uint types are already present.
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1821043003 .
|
|
Remove some tables from .h file (risk of duplication).
R=ochang@chromium.org
Review URL: https://codereview.chromium.org/1814233005 .
|
|
The only one that is ever used is FXDIB_PALETTE_loc, so remove
the option entirely. In turn, this allows deleting about 2KB
of unused constant tables.
R=ochang@chromium.org
Review URL: https://codereview.chromium.org/1809943007 .
|
|
This CL splits the file into individual classes and moves them into
core/fpdfapi/fpdf_page as needed.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1811053002 .
|
|
Saves a few bytes here and there because the tables need
only 16 bits but wchar is 32 bits (except on windows).
R=ochang@chromium.org
Review URL: https://codereview.chromium.org/1815313003 .
|
|
This CL splits the fpdf_page.h header into the individual classes and moves
them to the correct core/fpdfapi locations.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1805663002 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1797423002 .
|
|
This Cl moves a bunch of the files from core/include/fpdfapi to their correct
location outside the core/include tree.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1805603002 .
|
|
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1783933003 .
|
|
This is a first-cut at supporting bitmaps.
Also added a --skp option to pdfium_test to generate
a Skia picture file. The picture file can be loaded
in Skia's SampleApp, debugger, or skiaserver to
examine the generated picture.
(This also includes fixes suggested in the prior Skia CL.
My apologies for fat-fingers abandoning that one.)
R=dsinclair@chromium.org, tsepez@chromium.org, dsinclair
Review URL: https://codereview.chromium.org/1776313002 .
|
|
This CL moves the two files and breaks fpdf_text.h apart into individual pieces.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1801973002 .
|
|
This CL moves the files in fpdfsdk/src/ up one level to fpdfsdk/ and fixes
up the include paths, include guards and build files.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1799773002 .
|
|
Alterntive to part of https://codereview.chromium.org/1785943002/
BUG=589724
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1802553004 .
|
|
Mainly change the code to avoid the warnings; in a few cases we have
to use explicit casts.
BUG=pdfium:29
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1783023002 .
|
|
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1776913007 .
|
|
Also remove unnecessary casts.
BUG=pdfium:29
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1783933002 .
|
|
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1778173002 .
|
|
CPDF_CryptoHandler was always a pure-virtual class, now it
is named as IPDF_ to indicate this.
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1782673002 .
|
|
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 .
|
|
It's not used anywhere in fpdfapi, and can become restricted
to fpdfoc/.
R=ochang@chromium.org
Review URL: https://codereview.chromium.org/1776713004 .
|
|
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1781593003 .
|
|
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1773103003 .
|
|
This CL goes through the remaining list of list warnings and records why they
are currently blacklisted, or fixes and enables them.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1773733002 .
|
|
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1780503002 .
|
|
This reverts commit 06fae28d307fe051f0c7e890344cd487c2260910.
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1775023003 .
|
|
This reverts commit d50095fb151688e119a7097aabce11e4b3d36244.
Reason for revert: build broken.
TBR=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1774293002 .
|
|
BUG=
R=dsinclair@chromium.org
Review URL: https://codereview.chromium.org/1774753002 .
|
|
This reverts commit 594912241cd7d409b5f58a48ccffdc1904d844b2.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1769273002 .
|
|
The current cast confused runtime/casting. Update to use static_cast and enable
the lint warning.
BUG=pdfium:426
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1770253003 .
|
|
It isn't sub-classed. Making GetNextChar() non-virtual
may save a virtual fn call per character if the compilers
aren't able to do so themselves.
Make members private, not protected.
BUG=
R=ochang@chromium.org
Review URL: https://codereview.chromium.org/1772973002 .
|
|
This reverts commit c582c0ddfea8ba01c8449ed7841cdb33c12e0a98.
TBR=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1769263002 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1772543003 .
|
|
This Cl combines the two StrToInt implementations. In doing so I had to add
some more overrides to toDecimalDigit() and add a isDecimalDigit().
BUG=pdfium:423
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1757283002 .
|
|
This CL fixes up chromium-style warnings in fpdf_object.h Specifically, the
warnings fixed were:
* Complex constructor has an inlined body.
* Complex destructor has an inline body.
* virtual methods with non-empty bodies shouldn't be declared inline.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1764793002 .
|
|
Despite what the c++11 spec says, std::list::size() is
still O(n), not O(1).
R=dsinclair@chromium.org, ochang@chromium.org
Review URL: https://codereview.chromium.org/1763443003 .
|
|
Currently, there is a check that an object number is <= 0x1000000. If that
check fails, we end up putting the parser into a bad state and fail to load
documents. The object does not need to be in the XRef table, or referenced
from the document, just be in the document.
This Cl removes the size check and updates the various atoi calls to use a
uint32_t instead of an int32_t so we don't end up getting strange values when
converting from a string.
BUG=455199
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1755273002 .
|
|
The CFX_GrowOnlyPool class is never used, removed.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1757043002 .
|
|
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1751753002 .
|