Age | Commit message (Collapse) | Author |
|
- The code in fpdf_page_parser is only called by CPDF_StreamContentParser, so moved there.
- Split fpdf_page_parser_old into its two classes
- Renamed the corresponding unittests accordingly.
- Moved PDF_ReplaceAbbr to namespace
- Fixed few nits
- Added TODO because CPDF_StreamParser has a lot of code similar to CPDF_SyntaxParser
Review-Url: https://codereview.chromium.org/2474303003
|
|
Unify some code
Move parsing of linearized header into separate CPDF_Linearized class.
Original review:
https://codereview.chromium.org/2466023002/
Revert review:
https://codereview.chromium.org/2474283005/
Revert reason was:
Breaking the chrome roll.
See https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/331856
___
Added Fix for fuzzers.
Review-Url: https://codereview.chromium.org/2477213003
|
|
Review-Url: https://codereview.chromium.org/2482663002
|
|
of https://codereview.chromium.org/2480043002/ )
Reason for revert:
Breaking the tree:
https://build.chromium.org/p/client.pdfium/builders/windows_xfa_32/builds/619/steps/compile%20with%20ninja/logs/stdio
Original issue's description:
> Compile fuzzer sources in standalone builds.
>
> - Add a template for fuzzers to remove redundancy.
> - Sort fuzzers in alphabetical order.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/470b5fa8f8dbfd2aa702d9d8cfdc03a7b486b374
TBR=dsinclair@chromium.org,thestig@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2480323002
|
|
- Add a template for fuzzers to remove redundancy.
- Sort fuzzers in alphabetical order.
Review-Url: https://codereview.chromium.org/2480043002
|
|
https://codereview.chromium.org/2466023002/ )
Reason for revert:
Breaking the chrome roll. See https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_rel_ng/builds/331856
Original issue's description:
> Unify some code
>
> Move parsing of linearized header into separate CPDF_Linearized class.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/71333dc57ac7e4cf7963c83333730b3882ab371f
TBR=thestig@chromium.org,brucedawson@chromium.org,art-snake@yandex-team.ru
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2474283005
|
|
Move parsing of linearized header into separate CPDF_Linearized class.
Review-Url: https://codereview.chromium.org/2466023002
|
|
This is a generic API function to retrieve any viewer preference of type
name.
BUG=pdfium:414
Review-Url: https://codereview.chromium.org/2475923003
|
|
Review-Url: https://codereview.chromium.org/2477003002
|
|
Review-Url: https://codereview.chromium.org/2471263005
|
|
This CL reverts ef523dd36aea991084b8b934df846014a5c09c6f which causes issues
with syncing of form fields over pages.
The initial bug had follow on fixes which seem to have rendered this fix
un-needed.
BUG=chromium:632709, chromium:661294
Review-Url: https://codereview.chromium.org/2473103003
|
|
Now, we do not start traversal from where we were at, but from the top.
This makes the code less prone to bugs, as now there is no need to call
methods to recursively fix things. This will save a lot of time when
the trees are rather flat, as in the PDF file in the bug. It can still
be slow, for instance if we have a chain of page nodes, and the last
in the chain contains all of the pages (this is artificial).
Try 2 at https://codereview.chromium.org/2442403002/
Also added test where Try 2 would have failed.
Tested the pdf from the bug on my Mac:
With this CL: load in 21 seconds
Without this CL: did not load in 4 minutes, got tired of waiting
BUG=chromium:638513
Review-Url: https://codereview.chromium.org/2470803003
|
|
This reverts commit f0d5b6c35fa343108a3ab7a25bc2cc2b3cf105b3.
Review-Url: https://codereview.chromium.org/2478303002
|
|
Removes a path where it might not have taken ownership of an object,
at the expense of making callers check first. This eases making
the second argument an unique_ptr someday.
Review-Url: https://codereview.chromium.org/2475823002
|
|
#11 id:200001 of https://codereview.chromium.org/2384883003/ )
Reason for revert:
Looks like it's blocking the roll.
https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_compile_dbg_ng/builds/186619
Original issue's description:
> Remove CPDF_Object::Release() in favor of direct delete
>
> Follow-on once we prove Release always deletes in previous CL.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/4de3d095c9d9e961f93750cf1ebd489fd515be12
TBR=thestig@chromium.org,tsepez@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2478253002
|
|
Follow-on once we prove Release always deletes in previous CL.
Review-Url: https://codereview.chromium.org/2384883003
|
|
- Added a private method to read a character.
- Added enum for parsing status.
- Deleted unused method.
Review-Url: https://codereview.chromium.org/2469833002
|
|
The CFWL_WidgetProperties class was just being used to create default
CFWL_WidgetImpProperties classes. This CL updates the code to make it clear that
we have unique_ptrs to the properties and changes CFWL_WidgetImpProperties
to be named CFWL_WidgetProperties.
Review-Url: https://codereview.chromium.org/2469893004
|
|
Making the insert methods private allows us to use private members, as I
will need on https://codereview.chromium.org/2470803003/
Review-Url: https://codereview.chromium.org/2472473005
|
|
TBR=tsepez@chromium.org
Review-Url: https://codereview.chromium.org/2471253004
|
|
FX_BOOL was a type just like a regular C++ bool, except that it
took 4x the space and frequently was used to hold values besides
true or false.
Review-Url: https://codereview.chromium.org/2471353002
|
|
Review-Url: https://codereview.chromium.org/2467203003
|
|
Review-Url: https://codereview.chromium.org/2477443002
|
|
This Cl removes ownership of the delgates from IFWL_Widget and puts it in the
hand of the creating classes. In doing so, merge the delegates back into the
IFWL_* classes to simplify logic.
Review-Url: https://codereview.chromium.org/2467993003
|
|
Review-Url: https://codereview.chromium.org/2453683011
|
|
Corresponds to version dfd77a987650965071d0fddfbe0b806ce62ba337.
Major change is to handle div by 0 without exceptions.
Safe shift is not yet present.
TBR=thestig@chromium.org
TBR=jschuh@chromium.org
Review-Url: https://codereview.chromium.org/2473513002
|
|
The CPDFXFA_Document class isn't a document, it contains documents. Renamed
to make the purpose a bit clearer.
Review-Url: https://codereview.chromium.org/2469813004
|
|
This Cl moves the CPDFXFA_App code into CPDFXFA_Document.
Review-Url: https://codereview.chromium.org/2424993002
|
|
This Cl moves the ::Initialize method into the constructors and the
::Finalize method into the destructors. The |m_pDelegate| is made private and
a unique_ptr. A |SetDelegate| and |GetDelegate| method are added.
Review-Url: https://codereview.chromium.org/2464703006
|
|
BUG=661291
TBR=dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2469923002
|
|
This reverts commit a282c7380f3964de41ea93c9980b12c4513d3473.
This CL changes CPDFXFA_App from a global object to a child of the
CPDFXFA_Document objects.
BUG=pdfium:623
Review-Url: https://codereview.chromium.org/2421603002
|
|
An optimization to speed up float-to-int rounding caused a different
result for one input value. This tweaks the conversion constant so
that the results are identical across the entire valid range, and
adds a test that checks the part of the range that is most sensitive
to errors.
BUG=pdfium:624
Review-Url: https://codereview.chromium.org/2466203002
|
|
The ::SetDelegate method was misleading. The primary use was
SetDelegate(nullptr) which returned the current delegate and didn't actually
set anything. When a value was passed it would set the
|m_pCurDelegate| not the |m_pDelegate|.
This Cl breaks ::SetDelegate into ::GetCurrentDelegate and ::SetCurrentDelegate
to make it clear what is happening and that this does not effect the
|m_pDelegate| variable.
Review-Url: https://codereview.chromium.org/2459423003
|
|
This reverts commit 747dcf7
Review-Url: https://codereview.chromium.org/2468723002
|
|
See https://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_compile_dbg_ng/builds/286646/steps/compile%20%28with%20patch%29/logs/stdio
Review-Url: https://codereview.chromium.org/2463963002
|
|
Also delete the out-dated news.
Review-Url: https://codereview.chromium.org/2462963003
|
|
AES256_CheckPassword() leaks memory on failure.
Clean up some nits.
BUG=chromium:659468
Review-Url: https://codereview.chromium.org/2463183002
|
|
This Cl removes the various CFWL_*::GetWidget overrides and adds anonymous
To* methods as needed.
Review-Url: https://codereview.chromium.org/2467503003
|
|
When linearized document have hint table,
The FPDFAvail_IsPageAvail return true,
but FPDF_LoadPage return nullptr, for non first pages.
This happens, bacause document not use hint tables, to load page.
To fix this, I force save the page's ObjNum in document.
This is restoring of original fix:
https://codereview.chromium.org/2437773003/
Review-Url: https://codereview.chromium.org/2444903002
|
|
This parameter is always nullptr, removed.
Review-Url: https://codereview.chromium.org/2463073002
|
|
Skia has removed transfer modes as a class,
and made it an enum.
Update PDFium to match.
R=reed@google.com,dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2468443002
|
|
This CL removes the FWL_GetApp, FWL_SetApp and FWL_GetWidgetAdapter methods.
In the process it changes the various Initialize methods to return void.
Review-Url: https://codereview.chromium.org/2436103002
|
|
id:250001 of https://codereview.chromium.org/2453473003/ )
Reason for revert:
Potentially blocking the roll, speculative revert.
See: https://codereview.chromium.org/2464643002/
Original issue's description:
> Change FX_BOOL definition from int to bool.
>
> If this CL sticks, we can then remove it entirely.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/dd65283408d9137e2f142e78dff2a1826baab5fd
TBR=thestig@chromium.org,tsepez@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2461893002
|
|
If this CL sticks, we can then remove it entirely.
Review-Url: https://codereview.chromium.org/2453473003
|
|
Review-Url: https://codereview.chromium.org/2449323006
|
|
#3 id:40001 of https://codereview.chromium.org/2442403002/ )
Reason for revert:
Not quite right yet.
Original issue's description:
> Traverse PDF page tree only once in CPDF_Document
>
> Try 2: main fix was recursively popping elements from the stack. Since
> the Traverse method can be called on non-root nodes from GetPage(), we
> have to make sure to properly update the parents.
>
> Try 1 at https://codereview.chromium.org/2414423002/
>
> In our current implementation of CPDF_Document::GetPage, we traverse
> the PDF page tree until we find the index we are looking for. This is
> slow when we do calls GetPage(0), GetPage(1), ... since in this case
> the page tree will be traversed n times if there are n pages. This CL
> makes sure the page tree is only traversed once.
>
> Time to load the PDF from the bug below in chrome official build:
> Before this CL: around 1 minute 25 seconds
> After this CL: around 4 seconds
>
> BUG=chromium:638513
>
> Committed: https://pdfium.googlesource.com/pdfium/+/d3a2009d75eac3cda442f545ef0865afae7b35cf
TBR=tsepez@chromium.org,weili@chromium.org,thestig@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:638513
Review-Url: https://codereview.chromium.org/2461063003
|
|
Review-Url: https://codereview.chromium.org/2449783008
|
|
TransferBitmap seems to work improperly when the glyph boxes overlap.
In particular, after drawing a glyph, the next glyph's blanks will
override what the previous glyph drew, and this is not the correct
behavior. While on it, use CheckedNumeric to do operations safely.
For reference of somewhere where something similar is done, see:
https://cs.chromium.org/chromium/src/third_party/pdfium/core/fxge/ge/cfx_renderdevice.cpp?sq=package:chromium&rcl=1477581616&l=988
BUG=513954
Review-Url: https://codereview.chromium.org/2461743002
|
|
Review-Url: https://codereview.chromium.org/2450393004
|
|
Review-Url: https://codereview.chromium.org/2459073002
|