Age | Commit message (Collapse) | Author |
|
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>
|
|
build_revision: a634e44
buildtools_revision: e6b510a
clang_revision: c55112f
TBR=thakis@chromium.org
Change-Id: I0b69740c2c744a7b4e2c7c7963e4fbdaf2cc0a82
Reviewed-on: https://pdfium-review.googlesource.com/3332
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: 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>
|
|
Change-Id: Ic3a72eb73afe86624dea406948b95dea70192e47
Reviewed-on: https://pdfium-review.googlesource.com/3296
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
BUG=chromium:701057
Change-Id: I601b9763b2fddec953f769ec012cd7920806265a
Reviewed-on: https://pdfium-review.googlesource.com/3330
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
This pattern is widely used in chrome.
Change-Id: I64229b2ce298bf78773fe47c68d19be59411a76a
Reviewed-on: https://pdfium-review.googlesource.com/3293
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Nothing in fxbarcode/ depends on XFA code. This CL moves xfa/fxbarcode
to be fxbarcode/ and creates a static_library for fxbarcode which is
depend on by the xfa library.
Change-Id: I0b708737b07efb94b769a5238d92af92bc62880d
Reviewed-on: https://pdfium-review.googlesource.com/3291
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This Cl moves the CFX_DateTime, CFX_Decimal and IFX_Locale files into
core/fxcrt and builds only for XFA. The CFX_FormatString code is moved
info fgas/crt and renamed CFGAS_FormatString to match the fgas naming.
Change-Id: I8d9061195d2225da0389cbc9d018fcbd2e9a3c0c
Reviewed-on: https://pdfium-review.googlesource.com/3257
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
Bug: chromium:655535
Change-Id: I114a9447a9af107e6056e6056e7514ba789e282b
Reviewed-on: https://pdfium-review.googlesource.com/3294
Commit-Queue: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This Cl renames the files to match their contents and splits out headers
where needed.
Change-Id: Ibe2e90ca969a9d05ee73bb956ffa59a63c7ab076
Reviewed-on: https://pdfium-review.googlesource.com/3256
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Having move to partition alloc, string buffers are no longer
automatically pre-zero'd (nor should they because CFX strings
are implemented without this cycle-wasting assumption in mind).
BUG=705912
Change-Id: Ia0de263076c2a792ab546bd10c37a06b4251e7e2
Reviewed-on: https://pdfium-review.googlesource.com/3292
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
The name Unitime did not give any indication of what the class
contained. This Cl renames to DateTime to more accurately refect the
class holds a date and time.
Change-Id: I95f96224822f46a7da46ae39c71d2e23fc16f7d5
Reviewed-on: https://pdfium-review.googlesource.com/3255
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
This Cl splits the xfa_object.h into individual class header files and
fixes the needed includes.
Change-Id: Ia011ee9bc5deee5e44b8a956fa54bc2c3849cff0
Reviewed-on: https://pdfium-review.googlesource.com/3254
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL fixes the only caller to TIFFReadDirEntryData with potentially large
size so that we avoid big mallocs when we know we will fail. It does this as
follows:
- Avoid the unnecessary computations if datasize is very small. We don't want
to be slower in this case.
- If !isMapped(tif), we will Seek and Read. Check that ending position is
reachable. In the other case, do a simple check for out of bounds.
Bug: chromium:681311
Change-Id: Ia172d8b4d401753b7c8d5455dc1ada5335f6fa6b
Reviewed-on: https://pdfium-review.googlesource.com/3253
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
This CL updates the IFX_Locale code and subclasses to return
CFX_WideStrings instead of taking out params.
Change-Id: Id03499c68161e809607e73b9d8ec778e24631845
Reviewed-on: https://pdfium-review.googlesource.com/3252
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@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>
|
|
Add override option for embedders.
BUG=pdfium:143
Change-Id: If8e97fddf46127ba387e4165a973b78a8a642028
Reviewed-on: https://pdfium-review.googlesource.com/3190
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
This Cl renames several of the files in xfa/fxfa/parser to match the
name of the contained classes. Files with multiple clasess are split
apart when renamed.
Change-Id: Ice8a1279072ee13c2f62a81946be7f42f9ba6007
Reviewed-on: https://pdfium-review.googlesource.com/3250
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I1d074a7023a3906c96626f3ebfa7955e3d3d67f7
Reviewed-on: https://pdfium-review.googlesource.com/3192
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Add a test for one of our types that fails unless this is the case.
Mark all our other move ctors as |noexcept|.
Change-Id: Ib106f219183d5abf94504af420a43c94b8f40e22
Reviewed-on: https://pdfium-review.googlesource.com/3251
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I10040b6504cf237f2e3e1f6075ae6a0612570461
Reviewed-on: https://pdfium-review.googlesource.com/3249
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The complete_static_lib will cause all of the various
libraries generated during the build to get bundled into
a single libpdfium.a. This makes linking a lot easier
for external applications as they just -lpdfium instead
of trying to get the correct link order.
See https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/reference.md#complete_static_lib
for more information.
Note, this just does pdfium at the moment, the V8 and
XFA libs will need to get changed in the future if they're
needed.
BUG=pdfium:451
Change-Id: Id1f2d999652e2f951bcd77591f2514641371324e
Reviewed-on: https://pdfium-review.googlesource.com/3220
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This is now the last usage in pdfium, types to be removed
in a follow-on CL.
Change-Id: I16f67eb3eb99f21bb231829168203be125129ad7
Reviewed-on: https://pdfium-review.googlesource.com/3247
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This step is no longer necessary after https://codereview.chromium.org/2775913002/
Bug: 705072
Change-Id: I3b293fabad8a6e6044098da1251a206417f3aed7
Reviewed-on: https://pdfium-review.googlesource.com/3217
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: Ib52f537b6acfbd6573e7ad1be988e6199ca3b7f9
Reviewed-on: https://pdfium-review.googlesource.com/3248
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I0956ecff82a11376a3d7b9176b4a13ee4e707cc3
Reviewed-on: https://pdfium-review.googlesource.com/3241
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Remove some unused arrays from helper functions while we're
at it.
Change-Id: I7cf9efaeb269df8b9c32b128fc9595682102f0e1
Reviewed-on: https://pdfium-review.googlesource.com/3240
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Currently when the BitStream runs out of bits it pretends that it
still has content and will continue to return the last byte over and
over again. This Cl updates the jbig decoder to detect that the bit
stream is complete and returns a decode error.
Bug: chromium:665056
Change-Id: I61ca75713e677a2c280e80374b8dcfd48bee67d8
Reviewed-on: https://pdfium-review.googlesource.com/3244
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Due to the partition alloc change we need to initialize the PDFium
library in the fuzzers now. This will initialize the needed partitions.
Without this, we fail in various places when attempting to create items
into the partitions
Bug: pdfium:687
Change-Id: I1c40ae3f442cb781cfdb7545b022ee1f4e64e264
Reviewed-on: https://pdfium-review.googlesource.com/3246
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Add test for reading past end of buffer and successful read of bits.
Bug: chromium:672176
Change-Id: Ibe2d818185cdb2260011d3fc8cad94ebb16984b7
Reviewed-on: https://pdfium-review.googlesource.com/3233
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This reverts commit 31b08d4cdaa17d7a03f35e087096a77036af98ec.
Re-landing the patch after fixing skia build issue.
Change-Id: Ie7039890088b803a6ec5ce365d70f57277459b48
Reviewed-on: https://pdfium-review.googlesource.com/3245
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This reverts commit 0004f29bf6ee3c6060a272c79f14993e92e053c7.
Reason for revert: Breaks build with skia_paths enabled (which will break the chrome roll).
../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:1858:38: error: no member named 'get' in 'CFX_RetainPtr<CFX_DIBitmap>'
../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:1861:42: error: no member named 'get' in 'CFX_RetainPtr<CFX_DIBitmap>'
../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:2987:15: error: no viable overloaded '='
../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:2991:18: error: no viable overloaded '='
../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:2999:17: error: no viable overloaded '='
../../third_party/pdfium/core/fxge/skia/fx_skia_device.cpp:3001:43: error: no member named 'GetObject' in 'CFX_RetainPtr<CFX_DIBitmap>'
Original change's description:
> Refcount all CFX_DIBSources (and subclasses) all the time.
>
> There are currently several ownership models for these objects,
> including ad-hoc logic for sharing and deletion, and the
> now-redundant CFX_DIBitmapRef externally-counted handle to the DIBs.
>
> Replace them all with the internal refcount scheme.
>
> Change-Id: I2db399dfc19219eda384f94cc989353b78ce2872
> Reviewed-on: https://pdfium-review.googlesource.com/3166
> Reviewed-by: dsinclair <dsinclair@chromium.org>
> Commit-Queue: dsinclair <dsinclair@chromium.org>
>
TBR=thestig@chromium.org,tsepez@chromium.org,dsinclair@chromium.org,pdfium-reviews@googlegroups.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Change-Id: I678b1fbc5e666cf7a19372ebaff3270fb115ba5e
Reviewed-on: https://pdfium-review.googlesource.com/3243
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: Ie59ed4172c2da7afe0b60d1d0e94d204ec4b9004
Reviewed-on: https://pdfium-review.googlesource.com/3238
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I93ae474434a2867af9e9da96668b1834267bbef3
Reviewed-on: https://pdfium-review.googlesource.com/3237
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I8cb6f016403febc47df1df21e9b68c8a6348e647
Reviewed-on: https://pdfium-review.googlesource.com/3236
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
There are currently several ownership models for these objects,
including ad-hoc logic for sharing and deletion, and the
now-redundant CFX_DIBitmapRef externally-counted handle to the DIBs.
Replace them all with the internal refcount scheme.
Change-Id: I2db399dfc19219eda384f94cc989353b78ce2872
Reviewed-on: https://pdfium-review.googlesource.com/3166
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I68f317b9fb9b162a5d99cdacc619c85f96a5bf52
Reviewed-on: https://pdfium-review.googlesource.com/3239
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Simplify two more methods.
Change-Id: I1bb4c827a14f63c743336df152ff88a6b4e52934
Reviewed-on: https://pdfium-review.googlesource.com/3214
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
Also, remove some default method arguments along the way.
Change-Id: Ifbd157499881ed6a3777f3903dd7f0193753cf59
Reviewed-on: https://pdfium-review.googlesource.com/3219
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
This Cl converts some new calls into pdfium::MakeUnique calls.
Change-Id: Ifa4a67e305ffa75e2be560447ece21ccfa70bf3f
Reviewed-on: https://pdfium-review.googlesource.com/3232
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The methods to read n bits from the huffman stream are not correctly
checking that the bits are available. This means, we'll end up reading
0 bits due to the checks below and pretend like the read worked.
This Cl adds the check that we are not at the end of the bit buffer
before attempting the bit read.
Bug: chromium:672176
Change-Id: I206f2d54da31c344cf649ca024644d1cce762fe7
Reviewed-on: https://pdfium-review.googlesource.com/3231
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
- Flush is needed in ~CFX_FxgeDevice, otherwise it may be called after deleting
the bitmap, when calling the destructor of the skia device driver.
- SkDashPathEffect::Make copies the given intervals instead of owning them, so
free the input to that method.
- If StartDIBits creates a new CFX_ImageRenderer, then the corresponding
CancelDIBits needs to delete the handle.
Bug: chromium:705131
Change-Id: I22c7c51a4070e73538eb8af51a60afeaa67f8bb7
Reviewed-on: https://pdfium-review.googlesource.com/3230
Commit-Queue: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
If we get a requested length that is longer then the available buffer
size we bail as we won't be able to read the needed data anyway.
Bug: chromium:672177
Change-Id: Idb41671c07fe758ec0c1d4d6f84ead0a58fa8339
Reviewed-on: https://pdfium-review.googlesource.com/3221
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
Bug: pdfium:626
Change-Id: I93a0d02c26d1a44c0fca666cfd09df32ecc1a23d
Reviewed-on: https://pdfium-review.googlesource.com/3222
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
BUG=chromium:703912
Change-Id: I5b4e582afc95b845e8e5e7a4e14581127c18de2d
Reviewed-on: https://pdfium-review.googlesource.com/3193
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@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>
|
|
The crash on the new tab page is triggered by processing a transparency.
This creates a new Skia device in CPDF_RenderStatus::LoadSMask():
// cpdf_renderstatus.cpp # 2557
if (!bitmap_device.Create(width, height, format, nullptr))
which sets the Skia clip stack to empty.
It then calls
RenderObjectList()
RenderSingleObject()
ProcessClipPath()
which resets the clip stack;
// cpdf_renderstatus.cpp # 1882
m_LastClipPath = ClipPath;
m_pDevice->RestoreState(true);
At this point m_LastClipPath contains {m_Ref={m_pObject={m_pObj=empty } } }
The impelemntation in CFX_AggDeviceDriver::RestoreState() is
// fx_agg_driver.cpp # 1283
if (m_StateStack.empty())
return;
This hides unbalanced save/restores, but reworking PDFium to balance is nontrivial.
R=dsinclair@chromium.org
BUG=chromium:704442
Bug:
Change-Id: Ia70d4dd7bd118e40adc5c029acbaa0b66372d3aa
Reviewed-on: https://pdfium-review.googlesource.com/3191
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I87521aa9bdc796895f1db144fda22b1cb44d2089
Reviewed-on: https://pdfium-review.googlesource.com/3215
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I83fed055cb92ccff85829d7aea7a9624b8f07456
Reviewed-on: https://pdfium-review.googlesource.com/3218
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|