Age | Commit message (Collapse) | Author |
|
During XFA text layout, text pieces are allocated with lines, and
their text and widths are also allocated. However, they are not
freed in any place. Fix this by releasing them along with lines
during unload() process.
BUG=pdfium:242
Review-Url: https://codereview.chromium.org/2297563006
|
|
The GEFont points to the font manager which creates it and tries to unregister
itself. Currently the GEFont can be created by the default mapper and then
stored in a different mapper. If the default mapper is destroyed first, when
the second mapper cleans up the font there will be a call to unregister on
the default mapper causing a use-after-free.
The long term fix is to fixup the GEFont so it points to the correct mapper
to unregister from. This CL forces the destruction order in CXFA_FFApp to
cleanup the non-default mapper first.
BUG=chromium:637546
Review-Url: https://codereview.chromium.org/2259823004
|
|
Change the places which require implicit construction, and make the
construction from ARGB_Color explicit.
Review-Url: https://codereview.chromium.org/2263923003
|
|
Return unique_ptr for GetLocale(), directly use destructors
instead of Release() functions, use vectors to manage arrays.
Review-Url: https://codereview.chromium.org/2241863002
|
|
The two methods in fgas_system also exist in core/fxcrt/include/fx_ext with the
FXSYS_ prefix instead of FX_. Remove the fgas_system files and use the
fx_ext versions instead.
Review-Url: https://codereview.chromium.org/2233133002
|
|
Use smart pointers instead of raw pointer to make memory management
easier for classes mainly under xfa/fxfa.
Also change the return type of IFGAS_FontMgr::Create() to smart
pointer type.
BUG=pdfium:518
Review-Url: https://codereview.chromium.org/2227883002
|
|
files.
This is the third CL to separate fx_ge into classes, one per file.
All fx_ge.h includes had to be replaced with new includes
The method definitions for CFX_FxgeDevice were not moved to a single file.
These methods are defined in two folders different from fxge/ge, so they were left untouched for now.
Review-Url: https://codereview.chromium.org/2223213002
|
|
Review-Url: https://codereview.chromium.org/2226003003
|
|
For classes under xfa/fxfa/fm2js, and xfa/fxgraphics, use smart
pointers instead of raw pointer to make memory management easier.
Also fix some styling issues along the changes.
BUG=pdfium:518
Review-Url: https://codereview.chromium.org/2222203002
|
|
Use virtual function to return the actual interface type instead
of the base interface type to avoid a lot of casts.
Also tidy up CFWL_Widget by encapsulating variables, and use
smart pointers for class owned member variables.
Review-Url: https://codereview.chromium.org/2209153002
|
|
This is the second CL in an attempt to split up the classes in fxge/include/fx_ge.h into their own files. CFX_ClipRgn is moved to core/fxge/ge because it is only used in core/fxge. The header for CFX_PathData is left in core/fxge/include since it is used elsewhere.
Review-Url: https://codereview.chromium.org/2216853004
|
|
This is the first CL in an attempt to split up the classes in fxge/include/fx_ge.h into their own files.
Review-Url: https://codereview.chromium.org/2217663002
|
|
Use smart pointer to replace raw pointer type for class
owned member variables so that memory management will
be easier.
BUG=pdfium:518
Review-Url: https://codereview.chromium.org/2208423002
|
|
This renames the file to match the class name.
Review-Url: https://codereview.chromium.org/2209823002
|
|
Fix CXFA_FMIdentifierExpressionn to remove the duplicate n.
Review-Url: https://codereview.chromium.org/2210543002
|
|
This moves the needed traverse strategies into their own files, removes the
unused one and cleans up the includes.
Review-Url: https://codereview.chromium.org/2207033002
|
|
When determining which params should be an object and which are a value it is
possible to overflow the int on the shift comparision (if there are more then
32 arguments).
This never happens in practise as it's a controlled list of method calls which
we pass objects for. Cap the check at 32 for the shifting so it doesn't
overflow. We can revisit and extend the value later if we ever have an internal
formcalc method that needs an object in a position greater then 32.
BUG=chromium:603490
Review-Url: https://codereview.chromium.org/2206253002
|
|
This CL splits the header file apart. The cpp files are not touched as part
of this CL, they will be done as a followup. This de-duplicates the fpdf_doc.h
BUG=pdfium:249
Review-Url: https://codereview.chromium.org/2183313004
|
|
BUG=pdfium:112
TBR=dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2183703004
|
|
This CL removes default params from CXFA_SimpleParser and updates the call sites
as necessary.
Review-Url: https://codereview.chromium.org/2164963003
|
|
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 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
|
|
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
|
|
This CL removes unused methods and default parameters from the fgas/crt code.
Review-Url: https://codereview.chromium.org/2162503003
|
|
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
|
|
No need to get or set foxit app type, name, and version, thus remove
all these APIs and implementation.
Review-Url: https://codereview.chromium.org/2050913002
|
|
This Cl moves the fxjse/ directory to fxjs/ in anticipation of merging in
fpdfsdk/jsapi. In the process the filenames are updated to better match the
class contents. Static methods are moved to anonymous namespaces as possible.
Review-Url: https://codereview.chromium.org/2136213002
|
|
This CL moves the static methods to an anonymous namespace and cleans up various
formatting issues.
Review-Url: https://codereview.chromium.org/2138833002
|
|
Change m_pXMLDoc and m_pStream in CXFA_SimpleParser to be a unique_ptr. This
allows removing the CloseParser() call from CXFA_DocumentParser as the items
will get cleaned up automatically.
Review-Url: https://codereview.chromium.org/2131653002
|
|
This CL splits the three parsers into individual files to make working with
the code easier.
Review-Url: https://codereview.chromium.org/2129963002
|
|
The IXFA_Parser only created a CXFA_SimpleParser, the CXFA_DocumentParser is
only created in one spot and doesn't need all the IXFA_Parser methods.
This CL removes IXFA_Parser, instantiates the CXFA_SimpleParser where needed
and cleans up surrounding code.
Review-Url: https://codereview.chromium.org/2123133004
|
|
This CL cleans up a bunch of method names which are redundant with the class
names or code location.
Review-Url: https://codereview.chromium.org/2132513003
|
|
This CL moves the static methods into an anonymous namespace, removes default
parameters and moves some other methods only used by this file into the
anonymous namespace.
Review-Url: https://codereview.chromium.org/2122373003
|
|
xfa_basic_data is a large (>7k lines) file that is difficult to navigate. This
CL breaks the file up into smaller files more logical files.
Review-Url: https://codereview.chromium.org/2123343002
|
|
Also remove some if statements that are always true/false.
Review-Url: https://codereview.chromium.org/2094073002
|
|
This CL updates XFA_GetElementTypeForName() to use std::lower_bound instead of
a custom binary search implementation to find the element info.
XFA_GetPropertyOfElement() is changed to use std::find_if. Previously it was
using a custom binary search implementation. Changing this to non-binary search
will allow having the items in g_XFAElementPropertyData be out of XFA_Element
order. There are at most 19 items that need to be searched and often 1 or 2.
Review-Url: https://codereview.chromium.org/2107093004
|
|
CXFA_Node::GetClassName currently takes an out parameter and returns void. This
CL updates the signature to return the value and require no parameters.
Review-Url: https://codereview.chromium.org/2104963002
|
|
This CL uses the FXSYS_isDecimalDigit in place of a few custom IsDigit methods.
It also creates an iswspace and some fractional math helper methods to share
some code.
Review-Url: https://codereview.chromium.org/2094453004
|
|
Currently the CXFA_Node constructor will call out to lookup the object type for
a given element type. There is only one called of this constructor and it
already has the object type so just pass it through instead of getting the
element data a second time.
Review-Url: https://codereview.chromium.org/2092853002
|
|
This CL converts all NULL's to nullptr. All instances of comparison to nullptr
have been removed.
Review-Url: https://codereview.chromium.org/2095653002
|
|
This method was only ever used to get the XFA_Element type for the given
element name. Changed to make the signature match the usage.
Review-Url: https://codereview.chromium.org/2095733002
|
|
This CL cleans up some variable namings from the XFA_Element enum change.
Review-Url: https://codereview.chromium.org/2093663002
|