Age | Commit message (Collapse) | Author |
|
Because we don't want to trust anything V8 gives us back.
Use a deep namespace so we can have a short declaration in the
structs, but avoid collisions.
Change-Id: Ibb832a5dcd34c652159c3343dd70c9e2ee561537
Reviewed-on: https://pdfium-review.googlesource.com/38972
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
This CL merges DecodeArithTemplateXUnopt for X=0,1,2. This is similar to
how three methods were merged into DecodeArithOpt3.
Change-Id: Ib0d4f14de6a8c924517d82eaec7577961503a325
Reviewed-on: https://pdfium-review.googlesource.com/38935
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I435ced292df79118fb65dd2922292ed29824dc1c
Reviewed-on: https://pdfium-review.googlesource.com/38970
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: Ib22db6c57d2066ef70c0ef12e44d1e5eee6611a5
Reviewed-on: https://pdfium-review.googlesource.com/36410
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
https://pdfium.googlesource.com/pdfium_tests/+log/d2389ab3..48945a35
TBR=hnakashima@chromium.org
Change-Id: Idd52b14d473a9384536feb25426929b6435894ef
Reviewed-on: https://pdfium-review.googlesource.com/38990
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Introduces checks in a few new places, but mainly just consolidates
checking/casting logic.
Change-Id: I634a03060d254db099972c6978249992367e146c
Reviewed-on: https://pdfium-review.googlesource.com/38900
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
https://pdfium.googlesource.com/pdfium_tests/+log/9b7ff5b8..d2389ab3
TBR=art-snake@yandex-team.ru
Change-Id: I5a7ce225dc1044aaf5a42d25d5a211057ef5732d
Reviewed-on: https://pdfium-review.googlesource.com/38931
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Part of the effort to reduce unchecked static casts.
Change-Id: I1bff1c53aa7c5804660de4b65cf01523d70fcbb7
Reviewed-on: https://pdfium-review.googlesource.com/38896
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
The cache is never accessed and retains fonts in memory that will
not be used anymore.
Change-Id: Ia763499dc88a99741a85afc4ddd09257e8e1119c
Reviewed-on: https://pdfium-review.googlesource.com/38898
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Value::ToString is deprecated since the Isolate is inferred from the
memory address of the object being converted to a string which will soon
not be reliable. As such this method will be removed in the very near
future.
Change-Id: I1e5a1a0464f2052cc3aa5eeb1ddbdb7b0a9222d3
Reviewed-on: https://pdfium-review.googlesource.com/38914
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
|
|
This is required in LUCI because python packages on LUCI are
hermetically defined, and pywin32 is required for ninja.
Bug: 860896
Change-Id: I37b5e8c1016d2f6bce2ad3638662b81e613b0d25
Reviewed-on: https://pdfium-review.googlesource.com/38901
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@google.com>
|
|
Because it is a stronger pattern at runtime.
These were found by essentially: grep -ni '\bassert\b.*type'
Change-Id: I913d77139053e8980528597a6633e1859e5204c4
Reviewed-on: https://pdfium-review.googlesource.com/38890
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Allows killing off static_cast<> in two places.
Change-Id: I467b69d92e8cbda5c2916b6ed2e97c173d8b4f2f
Reviewed-on: https://pdfium-review.googlesource.com/38897
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Remove |kInvalidHeaderOffset|.
Change-Id: I5978e745e97aa4e13299dd21028721725ac0c996
Reviewed-on: https://pdfium-review.googlesource.com/38853
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Art Snake <art-snake@yandex-team.ru>
|
|
The subtypes are listed in "PDF Reference 1.7", page 617.
Bug: chromium:856331
Change-Id: I41d6094949ff22007a72ef7c1493c413c5af5f7b
Reviewed-on: https://pdfium-review.googlesource.com/38790
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Replace with CFX_BufferSeekableReadStream, which allows for spans and
const inputs.
Change CXFA_DocumentParser to take IFX_SeekableReadStream instead of
IFX_SeekableStream in the process.
Change-Id: I0168451350c9fc250231f0414c38738a4d86ca42
Reviewed-on: https://pdfium-review.googlesource.com/38852
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
|
|
Clearer that just using indexing off of raw pointers, and makes the
code more closely resemble other functions.
Change-Id: I7cc8363b505e66120bc1c686bb23b2bdf8fc401f
Reviewed-on: https://pdfium-review.googlesource.com/38894
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Bug: 860896
TBR: thestig
Change-Id: I61208b951e3746dae363f91dc9eab2319378b48f
Reviewed-on: https://pdfium-review.googlesource.com/38895
Reviewed-by: Ryan Tseng <hinoka@google.com>
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Ryan Tseng <hinoka@google.com>
|
|
Change-Id: Ib9e20fdfc637b2ba0358586e23ad72454b0b8ad1
Reviewed-on: https://pdfium-review.googlesource.com/38851
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
- Remove #if guards in the .cpp file and flip the #if guard in the
header to produce an error when incorrectly included.
- Do the same for cfx_fileaccess_posix.cpp.
- Also remove forward declarations for win32 APIs.
Change-Id: I81056ea6198d342e62744bd3240b3a28ac53d5c0
Reviewed-on: https://pdfium-review.googlesource.com/38410
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
- CPDF_SyntaxParser can no longer be initialized multiple times.
- Make the file length and header offset const.
- Make the header offset type FX_FILESIZE consistently.
- Simplify for the common case where the header offset is 0.
Change-Id: I7138db1fbcec3b7578b0239b92fc1154fa4dc4ce
Reviewed-on: https://pdfium-review.googlesource.com/38850
Reviewed-by: Art Snake <art-snake@yandex-team.ru>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Bug: chromium:842503
Change-Id: If411815d8324929f482e3cad0fda54f24d370c2a
Reviewed-on: https://pdfium-review.googlesource.com/37830
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
And use it in place of ASSERT() that the type was correct. Since we
can check it, doing so at runtime may help avoid type confusion, and
we'll get a nice safe SEGV if the asserted condition ever fails.
Change-Id: I46b65a4b70e819a670d7cad7966e0d100f0d9a63
Reviewed-on: https://pdfium-review.googlesource.com/38810
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
Because the other helpers are declared here.
Rename VariablesThis to ThisProxy in a few places; VariablesThis is
a slightly different concept (see GetVariablesThis()).
Then introduce helper for CXFA_List subclass as well.
Remove unused const version of some helpers.
Change-Id: Ia328d8cd170a8b97015e98c1c770fa8a44810455
Reviewed-on: https://pdfium-review.googlesource.com/38670
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
Sample PDF:
https://yadi.sk/d/oWLtAEfy3YbEb3
For offsets, equal to the hint stream offset, added hint stream
length to determine the actual offset, because linearization
inserted the hint stream at the original location of the object.
Also the number of bits needed to represent the numerator of
the fractional position for each shared object reference may be
zero, if each shared group contains only one object with obj num,
incremented on 1.
Change-Id: I4754d603f388354821e8d0cac97ad99a7578fe4b
Reviewed-on: https://pdfium-review.googlesource.com/36610
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
We should use document size instead of File size,
because all offsets and sizes was read from document should
take into account of header offset.
Added some tests of parsing of documents with header offset.
Also drop friendship of CPDF_SyntaxParser with CPDF_Parser.
Change-Id: Iebec75ab2ee07fb644a6c653b4ef5c2e09af09fe
Reviewed-on: https://pdfium-review.googlesource.com/35830
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
Do not allow instanceManager methods to run in Foreground XFA forms.
They are static, and their widgets should not be inserted or removed.
See "XML Forms Architecture (XFA) Specification Version 3.3", page 272.
Bug: chromium:860697
Change-Id: Ia96834e085ee508618ca4dcb2bd5271466369ede
Reviewed-on: https://pdfium-review.googlesource.com/38751
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
|
|
Because they are too easily confused with non-XFA JS_STATIC_PROP despite
being on the XFA side. The JSE_ prefix mirrors the fxjs/fxjse split
("e" presumably standing for "extension" or some such) between the
non-xfa/xfa V8 adapter layer.
Rename fxjs/{cjx_define.h => jse_define.h}, since there aren't any
symbols starting with |CJX| in it.
Fix some IWYU for jse_define.h
No functional changes.
Change-Id: I6a0b2b6fe6ef1b564b0bfa2fa7ba317a0cea0953
Reviewed-on: https://pdfium-review.googlesource.com/38730
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
In turn, it too is always nullptr. This shows that the V8
side check for hasInstance() was never being applied. We will
augment this with C++ side checks down the road, since we don't
want to trust V8 anyways.
Change-Id: Iee38f32af9561783dbf253d798bd975029f3a4a2
Reviewed-on: https://pdfium-review.googlesource.com/38594
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Return encryption dictionary as const reference
from CPDF_Parser.
Create a copy in CPDF_Creator if needed.
Change-Id: I270f71d307d818fba7f65ebe379f5942ae816934
Reviewed-on: https://pdfium-review.googlesource.com/38390
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
|
|
Previous CLs have shown that the "lpClass" checks aren't sufficient
here, so ensure we are always checking C++ enum value before
downcasting this type.
Change-Id: I418127c5e7131e0a3363363a60d1976719d6837c
Reviewed-on: https://pdfium-review.googlesource.com/38550
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Insert another unowned ptr along the way.
Change-Id: I953baa3448282fd4f655bb99524f131f66b7ed86
Reviewed-on: https://pdfium-review.googlesource.com/38593
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Like the other cases, it is always nullptr.
Change-Id: I280f25899ffbe5e35f4ef3342aec7896edf3e1f2
Reviewed-on: https://pdfium-review.googlesource.com/38592
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Move writing logic into implementation of related clases.
Change-Id: If70dc418b352b562ee681ea34fa6595d6f52eee3
Reviewed-on: https://pdfium-review.googlesource.com/36350
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
It, too, is always passed as nullptr.
Change-Id: I2573bea4cc33f48c13979026ea8ae42b368ce8a5
Reviewed-on: https://pdfium-review.googlesource.com/38590
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I0743c34f0206f85828570430edb9f62b6b0cdbb5
Reviewed-on: https://pdfium-review.googlesource.com/37315
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
|
|
Do the same thing for N other similar files.
Change-Id: If9bb7f6335287441206083c3512fc8a788e9d39b
Reviewed-on: https://pdfium-review.googlesource.com/38532
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
More foolproof technique, and saves one word in every instance at a
cost of two pointers in every subclass vtable.
Change-Id: Ied4f91d4d203b5e6d83abe751159eb7e55489bb5
Reviewed-on: https://pdfium-review.googlesource.com/38530
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
It's always passsed as nullptr. Rename function to ToFormCalcContext()
for clarity while we're at it.
Change-Id: I96581c6b86b7ac7b48b60429e2144f16af7e46ca
Reviewed-on: https://pdfium-review.googlesource.com/38570
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
https://chromium.googlesource.com/chromium/buildtools.git/+log/893eb86b02b2..4ae75c1f8188
Created with:
roll-dep buildtools
TBR=rharrison@chromium.org
Change-Id: If395903298495f5131cb9a22b16db4c1c81fbd51
Reviewed-on: https://pdfium-review.googlesource.com/38490
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Part of the effort to not trust downcasts in the CFXA_Node hierarchy.
The number of subclasses is small enough here that the O(n^2) space
overhead for the vtables is not significant.
Put all sub-classes in same top-level namespace as the parent, just
because we avoid jumping in and out of anonymous namespace.
Change-Id: I32b80a93c75f8a09eb17c01fe1e29d04b4053fa1
Reviewed-on: https://pdfium-review.googlesource.com/38510
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
Use CPDF_SyntaxParser logic to rebuild crossref.
Change-Id: I394f64e76294b97c6a7c2b8984a880712fd193a7
Reviewed-on: https://pdfium-review.googlesource.com/37314
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Art Snake <art-snake@yandex-team.ru>
|
|
Callers already explicitly pass nullptr as needed.
Change-Id: I8cf9d4951ec1b75cf90dccc1b53bfcd6fb6a42e6
Reviewed-on: https://pdfium-review.googlesource.com/38450
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Given the issues we've seen on the non-XFA side, be more careful
about using V8-provided data on the XFA side.
Change-Id: I13b7fa9ac852be74c8135410734445b2c9a23c97
Reviewed-on: https://pdfium-review.googlesource.com/38430
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Makes the generic fx_streams.h header pull in lots less OS-specific
cluter. Combine and de-virtualize the windows struct.
Change-Id: I836b9efb00b25dbd1b8f814645dd31a0f04bb4f4
Reviewed-on: https://pdfium-review.googlesource.com/38330
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
Also add stream lengths.
Change-Id: I7a1f565f941f9100058fab0f1ddde5471318f4d3
Reviewed-on: https://pdfium-review.googlesource.com/38350
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
This is a cleaner way of getting the required argument. Add helper
function and anonymous namespace as misc. cleanups along the way.
Change-Id: I600074b7f6597ffd9b451a21ee374f937a8e9940
Reviewed-on: https://pdfium-review.googlesource.com/38310
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
|
|
https://chromium.googlesource.com/skia.git/+log/af7700265b74..588f879677d4
Created with:
roll-dep third_party/skia
Change-Id: Ic7c47ae9057b05eeb0f0eafa739401d881c0332d
Reviewed-on: https://pdfium-review.googlesource.com/38290
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
BUG=chromium:864932
Change-Id: I7e87ba6e0fc6e2bdefcee29cbc0b60cb9ec9e316
Reviewed-on: https://pdfium-review.googlesource.com/38270
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Picks up some enhancements from base/span.h. In turn, also adds
the size_bytes() helper. Differs from base version in that it
works around C++14 enable_if_t<>, and avoids the dynamic_extent
template specialization tricks.
Use it in a few places where appropriate.
Change-Id: I86f72cf0023f2d4317a7afa351fddee601c8f86c
Reviewed-on: https://pdfium-review.googlesource.com/38251
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|