Age | Commit message (Collapse) | Author |
|
Review-Url: https://codereview.chromium.org/2226003003
|
|
There were several overflows detected by the PDF from the linked bug. This
Cl fixes up the base causes of each of them.
BUG=chromium:635473
Review-Url: https://codereview.chromium.org/2226023002
|
|
This is the second CL in an attempt to split up the classes in fxge/include/fx_ge.h into their own files. CFX_ClipRgn is moved to core/fxge/ge because it is only used in core/fxge. The header for CFX_PathData is left in core/fxge/include since it is used elsewhere.
Review-Url: https://codereview.chromium.org/2216853004
|
|
This is the first CL in an attempt to split up the classes in fxge/include/fx_ge.h into their own files.
Review-Url: https://codereview.chromium.org/2217663002
|
|
Review-Url: https://codereview.chromium.org/2218433002
|
|
Move CFX_FolderFontInfo, CFX_FontMgr, and CFX_FontMapper into their own
classes. There are namespaces in each of the new files, having methods
from the original namespace in fx_ge_fontmap, according to what each
class needs.
Review-Url: https://codereview.chromium.org/2185533006
|
|
This macro isn't buying us anything and reduces transparency.
Review-Url: https://codereview.chromium.org/2179953002
|
|
For the class owned member variables, use std::unique_ptr or
std::vector for memory management.
BUG=pdfium:518
Review-Url: https://codereview.chromium.org/2169793002
|
|
Add back one function which is only used by Skia code. And make a couple small
fixes.
Review-Url: https://codereview.chromium.org/2167383002
|
|
Use unique_ptr for class owned member variables. Also clean up some
style issues such as removing unused functions and casting to raw pointer.
BUG=pdfium:518
Review-Url: https://codereview.chromium.org/2163103002
|
|
This permits PDFium to build on the Mac with Skia as the backend. It builds on Linux and Windows as well.
R=dsinclair@chromium.org,bungeman@google.com
Review-Url: https://codereview.chromium.org/1995003002
|
|
Move the singleton instances into their namespaces, and use
get()/getInstance() for uniform accesses.
Review-Url: https://codereview.chromium.org/2154843002
|
|
The dash parameters where not copied; the copy
could point at random data and cause corpus
tests to hang when testing Skia.
PDFium measures text directly by calling FreeType.
Turn off hinting altogether in Skia so that drawn
text matches the metrics that PDFium measures.
Premultiply bits retrieved from images, and check
to see that the device bits are always
premultiplied.
Look for null graphics state and matrices.
R=thestig@chromium.org,dsinclair@chromium.org
BUG=pdfium:532
Review-Url: https://codereview.chromium.org/2120353004
|
|
Review-Url: https://codereview.chromium.org/2075383002
|
|
Fix nits along the way.
Review-Url: https://codereview.chromium.org/2083943003
|
|
Move ifx_renderdevicedriver class to its own file to share with
multiple devices to reduce code duplication.
Review-Url: https://codereview.chromium.org/2078783002
|
|
Review-Url: https://codereview.chromium.org/2077243002
|
|
- Clean up CFX_GEModule.
- Remove duplicate #defines in fx_ge.h
- Remove IsFontStyleFromCharCode() that always returns true.
- Mark a FXTEXT_CHARPOS field as Mac only.
Review-Url: https://codereview.chromium.org/2075333002
|
|
This change contains files in core directory which were not covered
in part I. This is part of the efforts to make PDFium code compilable
by Clang chromium style plugins.
The changes are mainly the following:
-- move inline constructor/destructor of complex class/struct out-of-line;
-- add constructor/destructor of complex class/struct if not
explicitly defined;
-- add explicit out-of-line copy constructor when needed;
-- move inline virtual functions out-of-line;
-- Properly mark virtual functions with 'override';
-- some minor cleanups;
BUG=pdfium:469
Review-Url: https://codereview.chromium.org/2060913003
|
|
Review-Url: https://codereview.chromium.org/2059883004
|
|
Update Skia to the last revision that passed the Chrome DEPS roll.
This will help green the Skia tree so that future changes to Skia
that break PDFium can be detected.
R=rmistry@google.com,dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2042403004
|
|
Explicitly invoke GetObject() method instead. This avoids
having code where it looks like non-pointers are assigned to
pointers but works due to the cast operator.
Review-Url: https://codereview.chromium.org/2045083003
|
|
Review-Url: https://codereview.chromium.org/2032613003
|
|
CFX_PSRenderer, IFX_PSOutput, CPSOutput, CPSPrinterDriver.
Also reland commit 2d63eaa.
Review-Url: https://codereview.chromium.org/2019603002
|
|
When there are duplicate variable declarations, the inner names shadow the
outter ones. This is error prone and harder to read. Remove all the
instances found by /analyze.
BUG=chromium:613623, chromium:427616
Review-Url: https://codereview.chromium.org/2027273002
|
|
So everyone can avoid doing Byte to WideString conversions.
Also remove CFX_GEFont::GetPsName() and deduplicate a couple of
GetPsName() calls.
Review-Url: https://codereview.chromium.org/2019173002
|
|
Review-Url: https://codereview.chromium.org/2004313007
|
|
Remove unused dithering code.
Review-Url: https://codereview.chromium.org/2010813003
|
|
Review-Url: https://codereview.chromium.org/2011943004
|
|
Review-Url: https://codereview.chromium.org/2009803003
|
|
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
|
|
Review-Url: https://codereview.chromium.org/1990583002
|
|
Some Freetype implementations (like the one packaged with Fedora) do
not support hinting due to patents 6219025, 6239783, 6307566, 6225973,
6243070, 6393145, 6421054, 6282327, and 6624828; the latest one expires
10/7/19. This makes LCD antialiasing very ugly, so we instead fall back
on NORMAL antialiasing.
A before/after on Fedora: https://bugs.chromium.org/p/chromium/issues/detail?id=479400#c31
BUG=479400
Review-Url: https://codereview.chromium.org/1982263004
|
|
Add missing helper function to CFX_ByteTextBuf to avoid the
anti-pattern CFX_ByteString(sBuf.AsStringC()), using the name
"Make" to indicate there's an allocation going on in this case.
Change some method arguments to take pre-existing ByteStrings where
possible.
Review-Url: https://codereview.chromium.org/1977093002
|
|
Investigate results of:
git grep -ni 'return [(]*[a-z0-9_]* &[^&]'
git grep -ni 'BOOL.*= [(]*[a-z0-9_]* &[^&]'
Review-Url: https://codereview.chromium.org/1951653002
|
|
Do more cleanup in modified files.
Review-Url: https://codereview.chromium.org/1938613003
|
|
Do the same for CFX_WideTextBuf as well.
The name is confusing because these return CFX_ByteStringC,
not CFX_ByteString. The AsStringC naming gives parallelism with
the string types themselves, and may help to indicate that
the result is only good for the lifetime of the object being
operated upon.
Review URL: https://codereview.chromium.org/1886263003
|
|
BUG=
Review URL: https://codereview.chromium.org/1885973002
|
|
The signed/unsigned comparison is causing the chromium windows GN build
broken.
Review URL: https://codereview.chromium.org/1884773002
|
|
All of the ICodec_* interfaces had a single implementation. This CL removes
the interfaces and uses the concrete classes in their place.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1876023003
|
|
Attempting to open bug_434.pdf on my Linux box would fail with:
../../xfa/fxfa/app/xfa_fwltheme.cpp:96: virtual FWL_ERR
CXFA_FWLTheme::Initialize(): Assertion `__null != m_pCalendarFont' failed.
I tracked the regression back to [1].
The issue seems to be in CFX_FontManager::AddInstalledFont we will only add
one font for a given Charset. In my case I end up loading 6 charsets, but the
fonts are all strange ones. When I open the PDF, it fails to find 'Arial'
because I've registered these other fonts.
To fix this I changed the m_FaceArray into a struct of {name, chraset}. Then
we record all fonts into this list and search over that list for the charset
when needed. This allows bug_434.pdf to open and the test to pass successfully.
1- https://pdfium.googlesource.com/pdfium/+/fe73e7849b8b4ce49408d2f52f3fc29b370b82b5
Review URL: https://codereview.chromium.org/1874433002
|
|
- Using |-skew| to get positive index, which doesn't work when skew is
INT_MIN
- Incorrect logic when determining when to use |-skew| as an index.
R=tsepez@chromium.org,weili@chromium.org
BUG=chromium:601362
Review URL: https://codereview.chromium.org/1875673004
|
|
BUG=
Review URL: https://codereview.chromium.org/1868293002
|
|
The naming is redundant given the base type, and will stand
in the way of consolidating Byte and Wide code.
BUG=
Review URL: https://codereview.chromium.org/1862123003
|
|
Shuffled the order of methods in fx_basic_wstring.cpp to
match those in fx_basic_bstring.cpp. The way to review
this patch is to diff those two files against each other.
They are beginning to converge.
Re-ordered some parameters in Concat() so that the string
comes before its length. It feels wrong otherwise.
Review URL: https://codereview.chromium.org/1846793002
|
|
Interface is never implemented.
BUG=pdfium:468
Review URL: https://codereview.chromium.org/1864893003
|
|
Review URL: https://codereview.chromium.org/1864153002
|
|
This CL is a straight move of the fxge includes into core/fxge/include.
Review URL: https://codereview.chromium.org/1868533002
|
|
Having this happen implicitly can be dangerous because the lifetime
has to be considered; we should have caught the "red bots" in
https://codereview.chromium.org/1847333004/#ps60001 at compile time.
Review URL: https://codereview.chromium.org/1853233002
|
|
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
|