Age | Commit message (Collapse) | Author |
|
The CIDs are unsigned integers. Avoid overflow since they are given as input
from the PDF file.
BUG=chromium:700787
Change-Id: Icdc3efbbd0f4f2ad8d5b4f4f52926e20f7e06391
Reviewed-on: https://pdfium-review.googlesource.com/3052
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
Currently m_Pos is a FX_POSITION. The value stored into the void* is
typically a uint32_t. We sometimes read that uint32_t value as a size_t
to compare against vector lengths. This Cl converts all usages to be
uint32_t and uses pdfium::CollectionSize to get the correct typed vector
size.
Change-Id: I5f452817ab6049e03477945e4622c6911c89f877
Reviewed-on: https://pdfium-review.googlesource.com/3032
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
These two ought to happen at the same time as they are
intertwined in spots. Remove blatant casts between the
two along the way.
Change-Id: I9ce5d2faadf1e38aba7cade316560d24a66d8669
Reviewed-on: https://pdfium-review.googlesource.com/2933
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I158b7d80b0ec28b742a9f2d5a96f3dde7fb3ab56
Reviewed-on: https://pdfium-review.googlesource.com/3031
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
Change-Id: Ife4a46157ec1044b24965f7d282858f8261031b1
Reviewed-on: https://pdfium-review.googlesource.com/3030
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I96e0a20d66b9184d22f64d8e4ce0dadd5a78c1e8
Reviewed-on: https://pdfium-review.googlesource.com/2967
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This Cl merges the CFX_TxtPiece and CFX_RTFPiece classes into
CFX_BreakPiece. CFX_TxtLine and CFX_RTFLine into CFX_BreakLine and
CFX_TxtChar and CFX_RTFChar into CFX_Char.
Change-Id: I95421bdf4cafd5e394db9238dea3603ccb8349c3
Reviewed-on: https://pdfium-review.googlesource.com/2966
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Review-Url: https://codereview.chromium.org/2071693002
|
|
AKA roll clang 295762:296321.
Change-Id: I46be95f4bd50a205b880c62ce4a8e3a7d4508e68
Reviewed-on: https://pdfium-review.googlesource.com/2957
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
When the value read is equal to -INT_MIN, we cannot negate it since it will
be out of bounds, so return error in this case.
BUG=chromium:628559
Change-Id: I7e47a71ef0d35cfb2d1fddc0ba644f9aac79ec3f
Reviewed-on: https://pdfium-review.googlesource.com/2965
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
Tell VC++ that the pdfium source files are encoded in UTF-8 so that
it doesn't interpret them as being encoded in the local code page.
Change-Id: Ide74061cad523a873ffa5630781dfc47bf7ae79c
Reviewed-on: https://pdfium-review.googlesource.com/2961
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
|
|
Change-Id: I9dc32342e24361389841ecba83081a97fc043377
Reviewed-on: https://pdfium-review.googlesource.com/2959
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
|
|
Change-Id: I16acba7b3eda26b4edfbfe0cb356267bd536fee8
Reviewed-on: https://pdfium-review.googlesource.com/2964
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
The spec says a1 is to the right of a0, a2 to the right of a1. I think that
means that the run lengths have to be positive, but that certainly means that
they cannot be negative.
BUG=chromium:699340
Change-Id: Ic07a272e63610f7a66c5073179cdb2768f80e2b8
Reviewed-on: https://pdfium-review.googlesource.com/2963
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
The undefined shifts in libopenjpeg are sometimes used as divisors. This CL
checks that we are not trying to divide by 0 or mod by 0 in some places in
pi.c.
BUG=chromium:699491
Change-Id: Iaf629112437068d6479dbbb52b339bec6edefed0
Reviewed-on: https://pdfium-review.googlesource.com/2962
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
There is one use of the discrete array, GFGAS_GEFont. This CL replaces
that usage with a std::map and removes the fgas_util classes.
Change-Id: Ic45812168e9487ebac08abaa131c58080a949d69
Reviewed-on: https://pdfium-review.googlesource.com/2953
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This Cl converts the m_LinePieces array to a vector. This is the last
usage of the CFX_BaseArrayTemplate so remove it and supporting code.
Change-Id: I3f81e4fd1210f8d0347364a2e4e5bb42cd83cb30
Reviewed-on: https://pdfium-review.googlesource.com/2952
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This Cl moves the two lines into an array and uses m_iReady to index
the array.
Change-Id: Ibecfb35fb72603433a6ed1efa6ec8ae609caebf7
Reviewed-on: https://pdfium-review.googlesource.com/2951
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
This Cl removes unused methods and makes GetString return a
CFX_WideString instead of taking an out parameter.
Change-Id: I3d2fcbdf51e7619f4fa42e46a0c83fbfa1132a84
Reviewed-on: https://pdfium-review.googlesource.com/2950
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
Remove interfaces which are only implemented once.
Change-Id: I73ceaa7bfd7ef2a630479c7eebed5e32ecb99940
Reviewed-on: https://pdfium-review.googlesource.com/2944
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
The rotation value is always 0 so we end up doing nothing for the
rotation.
Change-Id: Ib12a269d4f3c16961b1b934bf9dfc04d1c368e51
Reviewed-on: https://pdfium-review.googlesource.com/2943
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This Cl removes the unused TXTLAYOUTSTYLE and TXTCHARTYLE defines from
fgas_textbreak. This also ripples and removes some of the defined
styles from fde_textout as well.
Change-Id: Ic647e97694366685bbad367e0a7ba61a00416598
Reviewed-on: https://pdfium-review.googlesource.com/2942
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
This Cl replaces the FX_TXTLINEALIGNMENT_ defines with an enum and
cleans up various usages.
Change-Id: I5ff20f046322e5cd39a7d2abbd8735eac81e8c69
Reviewed-on: https://pdfium-review.googlesource.com/2941
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
This Cl removes some CFX_TxtBreak methods which aren't called.
Change-Id: Ic66a89fa9c99aefb78d8314e1a3ebee089ef83cf
Reviewed-on: https://pdfium-review.googlesource.com/2940
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This Cl removes the FX_TXTBREAK defines and unifies the type with the
CFX_RTFBreakType which is renamed to CFX_BreakType.
Change-Id: I890ae5e08a65f922d714aaaa9ab0f9f8a882cb3c
Reviewed-on: https://pdfium-review.googlesource.com/2939
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The cbox values are long. We should make sure they are not too big before
putting them into FX_RECT, which holds integers. The bound is chosen to also
avoid overflow when multiplying by 1000.
BUG=chromium:699961
Change-Id: Ie4443848e0319348110f7215bd1c909ef19dad9f
Reviewed-on: https://pdfium-review.googlesource.com/2956
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
PDF spec, section 'DeviceCMYK Color Space' states that:
'Each component is specified by a number in the range 0.0 to 1.0'
BUG=chromium:699459
Change-Id: Ie476bbe8740c7b1b33c80be3e3dc4207df5e6e28
Reviewed-on: https://pdfium-review.googlesource.com/2954
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
BUG=pdfium:676
Change-Id: I46de35a86769dc2f7f73ac3552306356ca3289a5
Reviewed-on: https://pdfium-review.googlesource.com/2955
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
|
|
These are unset in the code, remove support.
Change-Id: I76ef73929a1f74f59ccdd7bbd054d04dc9c5c6e7
Reviewed-on: https://pdfium-review.googlesource.com/2938
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
The fixes to RTFBreak to convert to a vector have fixed the memory
leak in these test files. Re-enable for asan and remove the asan hack
from the suppressor.
Change-Id: Id229d61101fdd2538b9bbc38b9364d694623da40
Reviewed-on: https://pdfium-review.googlesource.com/2937
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the CFX_RTFPieceArray typedef and updates the code to
use a std::vector.
Change-Id: I885038d432e700830958e37b8c03c5beceff012f
Reviewed-on: https://pdfium-review.googlesource.com/2936
Reviewed-by: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL cleans up the namespacing along with some type confusion in the flate
codec class.
Change-Id: I4772ee571bcd78f1c839b5cefc370860aca06bb3
Reviewed-on: https://pdfium-review.googlesource.com/2917
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL cleans up the m_RTFLine and m_iReady to be easier to work with.
Change-Id: Ic8a2938d01672a4bc3f587fd144a5b63a0cee300
Reviewed-on: https://pdfium-review.googlesource.com/2935
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
BMP_WIDTHBYTES starts with: (width * bitCount) + 31. Since bitCount can be as
large as 32, to avoid this overflowing we need width <= 67108863.
BUG=chromium:628559
Change-Id: I4fd33b65da76225c8200a22380f2bfc4523c5c8d
Reviewed-on: https://pdfium-review.googlesource.com/2934
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
This Cl removes unused defines and methods. It also merges fx_arb into fx_arabic
as the arb methods are only used in the arabic file and they are always included
together.
Change-Id: I1e6f75d5cb5f5bcc8db3b54cb2a14d284da5b7b1
Reviewed-on: https://pdfium-review.googlesource.com/2899
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
|
|
Not cloning is causing issues when printing to XPS printer. I have no idea why.
CL being reverted: https://codereview.chromium.org/2518063005/
BUG=698350
Change-Id: I7c814c712f9959d10d0b6502a28e15ecd752f94a
Reviewed-on: https://pdfium-review.googlesource.com/2930
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I5682af84f29bcd123e294e57998f50abcdadc894
Reviewed-on: https://pdfium-review.googlesource.com/2932
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Tree traversal doesn't require a stack as we always have
parent pointers in nodes.
Break the code into smaller units to help make more
comprehensible what is going on.
Remove init methods and force callers to pass us root
in the constructor.
The operations are complicated by the lack of a last child
or previous sibling pointer in our nodes.
Change-Id: Ia32bb44354352686cb79ccd67fe8aa5cd5ccef58
Reviewed-on: https://pdfium-review.googlesource.com/2913
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
Testing idempotency of const method kinda silly.
Change nodes used in some tests.
Add intermediate check in one test
Rename one test case.
Change-Id: Ib4cbb56665d0e0933561bb240205edeffdd74900
Reviewed-on: https://pdfium-review.googlesource.com/2931
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
The new method replaces the previous one for loading only type1 fonts. This
will create the font dictionary with the very basics needed, according to the
tables in chapter 5 of the PDF spec. The tests for now are only checking that
the information is getting passed on properly. Followup: adding text with those
fonts, generating the contents (doing that will allow testing whether the parts
that I've skipped like Encoding and cmaps are needed or not).
BUG=pdfium:667
Change-Id: Id1a61501e09542804a391552fd002f2caed41939
Reviewed-on: https://pdfium-review.googlesource.com/2915
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
Before writting to the stream buffer make sure that we won't walk off the end
of the allocated size.
In this specific case the dest_size of the buffer is 0, so we're basically just
looping over to free the temp results.
BUG=chromium:697847
Change-Id: I229eea96179692216cb2685facbb7d5379c501c7
Reviewed-on: https://pdfium-review.googlesource.com/2903
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This Cl simplifies the AppendChar code by removing the array of callback
methods and using a switch instead.
Change-Id: I07475d3950395dea2189569d95bfba1be1f9ceb5
Reviewed-on: https://pdfium-review.googlesource.com/2918
Reviewed-by: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL starts adding tests to the CFX_RTFBreak class. In doing so, the code
to append char has been simplified to make it clearer.
Change-Id: I5a2c8c114b52e1efa0c41a18670c6542b733baae
Reviewed-on: https://pdfium-review.googlesource.com/2900
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
The code under test is too complicate to be refactored
without first establishing tests.
Change-Id: Id7dc87ec67c513220e64df9d82afb8bcd6acef21
Reviewed-on: https://pdfium-review.googlesource.com/2914
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Change-Id: I1112d18e0d18514227d363b3010eb8f90fb0ffe4
Reviewed-on: https://pdfium-review.googlesource.com/2910
Reviewed-by: Nicolás Peña <npm@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
|
|
Also replace CXFA_NodeSet with underlying type.
Change-Id: Iba38ef67bab5d7b23a0bb2b8272a1effa1015c9c
Reviewed-on: https://pdfium-review.googlesource.com/2905
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I2dbea7665b5fc2ca239ad2f75c91d4a1e0d522c7
Reviewed-on: https://pdfium-review.googlesource.com/2911
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I61552fba2387533699e917918318b002a14bba6b
Reviewed-on: https://pdfium-review.googlesource.com/2912
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
Change-Id: I9341f38cbea8c325e0d50f26987bc9e55e295630
Reviewed-on: https://pdfium-review.googlesource.com/2904
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|
|
CFX_BaseMassArrayImp is still used under the covers; leave
it for now.
Change-Id: Iad8bec13243b92c36e9d13130b89fd61a7e63436
Reviewed-on: https://pdfium-review.googlesource.com/2902
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
|