Age | Commit message (Collapse) | Author |
|
The text matrix for Skia is still wrong.
The last fix allowed text to draw correctly when rotated,
but did not draw correctly when skewed.
With this edit, text draws correctly rotated, skewed
horizontally, skewed vertically, and rotated and skewed.
R=dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2189093002
|
|
In bc8a64029f898286c3dcad3a6cecdc98ef30b139 we updated the FX_atonum logic
to correctly handle integer overflow. This causes issues when parsing the
Permissions flag of encrypted documents as that flag isn't encoded like other
numbers.
The Permissions flag is a unsigned value, and has to be treated as such since
the sign bit is always set. The current logic will detect an overflow of the
int value and return 0. The old logic would have detected the overflow and
returned the negative result regardless.
This CL updates the logic to do the string to int conversion as a uint32_t
and then verifies the uint32_t value, if a sign was provided, fits within
the int range, otherwise it converts it to an int and lets it be positive or
negative as needed.
BUG=pdfium:539
Review-Url: https://codereview.chromium.org/2168173002
|
|
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 reverts commit f2cee9894b9f7cf2e50060965ad1eedd90ab55b6.
This CL removes the default parameter from the CPDFSDK_Document::GetPageView
|ReNew| flag and updates the code as needed. In
CFFL_FormFillter::KillFocusForAnnot we flip the flag to |FALSE| as we don't want
to re-create the page view if it is already removed. If we don't do this then
the page view will be re-created in the map, the page associated to the page
view, but then the page can be deleted out from under the pageview as it isn't
owned by the page view.
BUG=chromium:630654
Review-Url: https://codereview.chromium.org/2179163004
|
|
CPDF_Annot owns CPDF_Form, so use std::unique_ptr for memory management.
BUG=pdfium:518
Review-Url: https://codereview.chromium.org/2189463003
|
|
BUG=pdfium:112
TBR=dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2183703004
|
|
Review-Url: https://codereview.chromium.org/2183933002
|
|
https://codereview.chromium.org/2179283005/ )
Reason for revert:
Looks like this broke linux_asan embedder tests.
https://build.chromium.org/p/client.pdfium/builders/linux_asan/builds/1152/steps/embeddertests/logs/stdio
Original issue's description:
> Remove pageview from map immediately
>
> There seems to be an ownership issue in the page annotation code where removing
> the annotations can result in removing the parent page view. This is fine except
> that removing the parent page view removes the annotations and you can end up
> with a use-after-free.
>
> This CL removes the page view from the documents page map immediately and then
> proceeds with the cleanup. Then, if we try to remove that page again it won't
> be found and we won't double free.
>
> BUG=chromium:630654
>
> Committed: https://pdfium.googlesource.com/pdfium/+/49dce65dc78bcd5a0c78a8bbdf2809cf20212220
TBR=thestig@chromium.org,weili@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:630654
Review-Url: https://codereview.chromium.org/2188523002
|
|
There seems to be an ownership issue in the page annotation code where removing
the annotations can result in removing the parent page view. This is fine except
that removing the parent page view removes the annotations and you can end up
with a use-after-free.
This CL removes the page view from the documents page map immediately and then
proceeds with the cleanup. Then, if we try to remove that page again it won't
be found and we won't double free.
BUG=chromium:630654
Review-Url: https://codereview.chromium.org/2179283005
|
|
Based on suggested patch by reporter.
BUG=629919
Review-Url: https://codereview.chromium.org/2182683002
|
|
This macro isn't buying us anything and reduces transparency.
Review-Url: https://codereview.chromium.org/2179953002
|
|
My initial guess for text rotation worked for scaled
but not skewed or rotated.
R=dsinclair@chromium.org,reed@google.com
Review-Url: https://codereview.chromium.org/2178623002
|
|
Use ToV8Object() instead of CJS_Value cast operator.
Add some missing consts / explicits.
Move code into empty namespace.
Review-Url: https://codereview.chromium.org/2172813002
|
|
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
|
|
Review-Url: https://codereview.chromium.org/2174513002
|
|
Change the last use of CFX_Deletable to its actual type and remove
the use of CFX_Deletable.
Review-Url: https://codereview.chromium.org/2178613002
|
|
Change two places that used CFX_Deletable to use actual types. This makes
the type more obvious, and avoids unnecessary casts.
Review-Url: https://codereview.chromium.org/2180443002
|
|
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
|
|
It's always enabled. Also inline FXJS_MsgBox since it only
has one caller.
Review-Url: https://codereview.chromium.org/2167343002
|
|
Use map to store and manage the handlers directly instead of needing
an extra array.
Review-Url: https://codereview.chromium.org/2166953005
|
|
This CL removes default params from CXFA_SimpleParser and updates the call sites
as necessary.
Review-Url: https://codereview.chromium.org/2164963003
|
|
Review-Url: https://codereview.chromium.org/2170913003
|
|
This CL moves the |SetFactory| method to be public and removes the friendship
with CXFA_DocumentParser from CXFA_SimpleParser.
Review-Url: https://codereview.chromium.org/2162263003
|
|
This no longer seems to be needed (removing causes no issues).
Review-Url: https://codereview.chromium.org/2168483004
|
|
This makes the cpp and unittest files match the naming of the header file.
Review-Url: https://codereview.chromium.org/2165833005
|
|
This CL moves CXFA_DataImporter and CXFA_DataExporter into their own files
and moves code to an anonymous namespace as necessary.
Review-Url: https://codereview.chromium.org/2164663004
|
|
This moves the code to match the actual class name.
Review-Url: https://codereview.chromium.org/2163133004
|
|
This Cl moves the xfa_doclayout and xfa_document_layout_imp files to have
names based off of their classes.
Review-Url: https://codereview.chromium.org/2170473002
|
|
This Cl splits out the CXFA_WideTextRead class into it's own file. The helper
methods have been moved into xfa_utils.cpp and their pre-declarations into
xfa_utils.h.
Review-Url: https://codereview.chromium.org/2165993002
|
|
This improves build performance somewhat. This does not change the standalone
targets since these don't affect the build time of Chrome and are small enough
for it not to matter anyway.
BUG=http://crbug.com/627637
Review-Url: https://codereview.chromium.org/2164633005
|
|
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
|
|
Review-Url: https://codereview.chromium.org/2163133002
|
|
CPDF_AnnotList in CPDF_Annot is only used for getting CPDF_Document.
Review-Url: https://codereview.chromium.org/2166883002
|
|
Review-Url: https://codereview.chromium.org/2166833002
|
|
Move the singleton instances into their namespaces, and use
get()/getInstance() for uniform accesses.
Review-Url: https://codereview.chromium.org/2154843002
|
|
This Cl renames the remaining xfa_script_* files to match the class names
contained within the files.
Review-Url: https://codereview.chromium.org/2160343002
|
|
This Cl updates the various files to have filenames which match the classes
inside those files.
Review-Url: https://codereview.chromium.org/2161193002
|
|
Use unique_ptr for class owned member variables, and remove unnecessary
or unused functions and member variable.
BUG=pdfium:518
Review-Url: https://codereview.chromium.org/2149903002
|
|
This CL splits the CXFA_Object, CXFA_NodeList, CXFA_ThisProxy,
CXFA_ArrayNodeList and CXFA_AttachNodeList out of xfa_object_imp. xfa_object_imp
is then renamed to CXFA_Node.
Review-Url: https://codereview.chromium.org/2159973003
|
|
Removing unused XFA_LAYOUTRESULT, cleanup unused parameters, convert XFA_DocFlag
to an enum from defines and make the constructor explicit.
Review-Url: https://codereview.chromium.org/2166433002
|
|
We create |m_pList| in the constructor and it is never reset during the lifetime
of the class or subclasses. Remove the conditional checks on the existence
of |m_pList|.
Review-Url: https://codereview.chromium.org/2162873003
|
|
Currently the OnDestroy() method of CPWL_ListBox will free
the |m_pListNotify| but it does not update the |m_pList| that
it has done so. This causes issues when CPWL_ListBox is
destroyed as the destructor for |m_pList| will attempt to
call into the |m_pListNotify|.
This CL resets the |m_pList| notify parameter before we
clear |m_pListNotify| in OnDestroy so it will not be
accessed during the |m_pList| destructor.
BUG=628995
Review-Url: https://codereview.chromium.org/2160023002
|
|
This is sufficient to print text with GDI for PDFs generated by Chromium
and cannot print any arbitrary PDF. Text that cannot be printed will be
drawn as glyphs as before.
BUG=409472
Review-Url: https://codereview.chromium.org/2113563003
|
|
This CL removes unused methods and default parameters from the fgas/crt code.
Review-Url: https://codereview.chromium.org/2162503003
|
|
Two of the test/ files have spaces in the name, rename to remove.
Review-Url: https://codereview.chromium.org/2156003003
|
|
This Cl cleans up the default params and any supporting code if necessary.
Review-Url: https://codereview.chromium.org/2146993002
|
|
This CL removes all of the default params from CFX_Edit. They are either
moved to the callsite or removed completely if unused.
Review-Url: https://codereview.chromium.org/2152473002
|
|
Unused method, removed.
Review-Url: https://codereview.chromium.org/2148353002
|
|
Providing the element hash and name in the constructor allows us to remove the
calls to XFA_GetElementByID in the get methods.
Review-Url: https://codereview.chromium.org/2101403002
|