Age | Commit message (Collapse) | Author |
|
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
|
|
IsOrdinaryList is no longer used, removed. Rename list item as Ordinary doesn't
hold any meaning.
Review-Url: https://codereview.chromium.org/2079393006
|
|
The CXFA_OrdinaryObject class no longer has any functionality but is just wraps
CXFA_Object and sets the object type for the sub classes. This Cl removes the
class and has the subclass set the object type themselves.
This CL also renames the OrdinaryObject type to just Object.
Review-Url: https://codereview.chromium.org/2082343003
|
|
The GetClassID method actually returns the XFA_Element, change the name of the
method to be more suggestive of the return value.
The GetClassID was sort-of polymorphich and would call down to subclasses. This
CL changes the data to be stored on the CXFA_Object class and just returns what
is set. The values are set in the constructor as needed.
Review-Url: https://codereview.chromium.org/2082573007
|
|
Method is never called, remove it and the data variable it uses as it will no
longer be used.
Review-Url: https://codereview.chromium.org/2088173003
|
|
This CL changes XFA_ELEMENT From an enum to an enum class. The type name was
updated to XFA_Element.
Review-Url: https://codereview.chromium.org/2089443002
|
|
Since PDFium is compiled as C++ code, the void keyword is not needed.
BUG=pdfium:519
Review-Url: https://codereview.chromium.org/2084603003
|
|
Currently the object type and the node flags are both mixed into the single
XFA_OBJECTTYPE_* enum. These two things are un-related and should not share
a single type. This Cl creates an XFA_ObjectType enum class and a
XFA_NodeFlag enum to hold the two types.
Accessors are added to determine if the flags are set (or called where they
already existed.
Review-Url: https://codereview.chromium.org/2083453003
|
|
This CL removes the method and the backing data.
Review-Url: https://codereview.chromium.org/2079493002
|
|
This change mainly contains files in xfa/fxfa directory.
This is part of the efforts to make PDFium code compilable
by Clang chromium style plugins.
The changes are mainly the following:
-- move inline constructor/destructor of complex class/struct out-of-line;
-- add constructor/destructor of complex class/struct if not
explicitly defined;
-- add explicit out-of-line copy constructor when needed;
-- move inline virtual functions out-of-line;
-- Properly mark virtual functions with 'override';
-- some minor cleanups;
BUG=pdfium:469
Review-Url: https://codereview.chromium.org/2071683002
|
|
This Cl removes the CFDE_XMLSAXParser and CFDE_XMLDOMParser along with the
::LoadXML() method which would create them, it was never called. It also
cleans up the use of virtual in the various XML classes.
Review-Url: https://codereview.chromium.org/2067253002
|
|
This change mainly contains files in fpdfsdk/ directory.
This is part of the efforts to make PDFium code compilable
by Clang chromium style plugins.
The changes are mainly the following:
-- move inline constructor/destructor of complex class/struct out-of-line;
-- add constructor/destructor of complex class/struct if not
explicitly defined;
-- add explicit out-of-line copy constructor when needed;
-- move inline virtual functions out-of-line;
-- Properly mark virtual functions with 'override';
-- some minor cleanups plus removing an unused file and splitting
cxfa_eventparam out from fxfa.h
BUG=pdfium:469
Review-Url: https://codereview.chromium.org/2062313002
|
|
This Cl substitutes some unique_ptrs for various bits of manual memory
management in CXFA_ScriptContext.
Review-Url: https://codereview.chromium.org/2062113002
|
|
This CL adds a fuzzer for the CSS Syntax parser in XFA.
BUG=chromium:587126
Review-Url: https://codereview.chromium.org/2068513002
|
|
Replacing a void* member in CFX_SAXItem saves lots of casts.
Review-Url: https://codereview.chromium.org/2051233002
|
|
This makes it clear that fxjse/ is a standalone component and should not be
entangled with other xfa/ components.
BUG=pdfium:506
Review-Url: https://codereview.chromium.org/2056663004
|
|
This Cl changes CFXJSE_Context::GetGlobalObject to return a
std::unique_ptr<CFXJSE_Value> instead of accepting a CFXJSE_Value out parameter.
All usages created the CFXJSE_Value with the same runtime as the caller.
Review-Url: https://codereview.chromium.org/2056733003
|
|
ThiS Cl updates CFXJSE_Value::ToString() to return a CFX_ByteString instead
of taking an out parameter. It also adds a ToStringC() and ToWideString()
to hide the common conversions that are done on the string value.
Review-Url: https://codereview.chromium.org/2044293004
|
|
Remove a few other unused casts, simplify.
Review-Url: https://codereview.chromium.org/2052593003
|
|
This Cl cleans up a bunch of the FXJSE_* methods and moves others into the
classes where they most make sense.
Review-Url: https://codereview.chromium.org/2045883004
|
|
This CL removes the FXJSE_Value_Set*, FXJSE_Value_To*, FXJSE_Value_Get* and
FXJSE_Value_Delete* methods.
Review-Url: https://codereview.chromium.org/2043153002
|
|
Review-Url: https://codereview.chromium.org/2046133002
|
|
Review-Url: https://codereview.chromium.org/2032613003
|
|
This Cl removes the global FXJSE_Value_ToObject method and adds individual
methods on CXFA_Value to do the needed conversions.
Review-Url: https://codereview.chromium.org/2026993003
|
|
When there are duplicate variable declarations, the inner names shadow the
outter ones. This is error prone and harder to read. Remove all the
instances found by /analyze.
BUG=chromium:613623, chromium:427616
Review-Url: https://codereview.chromium.org/2027273002
|
|
Shorter and easier to remember.
Review-Url: https://codereview.chromium.org/2029043002
|
|
Also, don't invent an enum that has one possible value that is
always set.
Review-Url: https://codereview.chromium.org/2028343002
|
|
Mainly clean up Script_NodeClass_Xxx() functions. There are no behavior
or API changes. The clean up mainly includes moving static functions into
namespace, remove unnecessary conditions or braces, changing
NULL->nullptr and local FX_BOOL->bool.
Review-Url: https://codereview.chromium.org/2018733002
|
|
This CL removes XFA_HFM2JSCONTEXT and the supporting code. XFA_HFM2JSCONTEXT
was replaced by CXFA_FM2JSContext. The translate method was moved to
CXFA_FM2JSContext.
Review-Url: https://codereview.chromium.org/2024833003
|
|
This will avoid a re-occurrence of BUG 613607 should someone
again optimize away CXFA_Object's virtual dtor.
Review-Url: https://codereview.chromium.org/2019333006
|
|
Review-Url: https://codereview.chromium.org/2025723002
|
|
In most cases, the destroy calls were removed and the object wrapped in a
unique_ptr.
Review-Url: https://codereview.chromium.org/2014323003
|
|
This is just a crock to get things working until we fix the
underlying issue.
When there's single-inheritance, it may often work in practice
to C-style (reinterpret) cast a Derived* ptr to void* and then
back to a Base* ptr. One place where this blows up is if
Derived has virtual functions but Base does not, in which case
the world will be offset by the size of a vtable ptr.
Because of the use of void* types in FXJSE, the above was happening
when setting a CXFA_ThisProxy (Derived, virtual) to be a global
object (void*). This would then be cast back to a CFXA_Object
(Base, non-virtual) and chaos is ensured.
Not sure how far back this goes.
Along the way, pick up some tidying which was necessary for
simplicity while tracking this down.
BUG=613607
Review-Url: https://codereview.chromium.org/2015143005
|
|
TBR=weili@chromium.org
Review-Url: https://codereview.chromium.org/2017863002
|
|
Also, no need to track these in the contexts since they are global.
Review-Url: https://codereview.chromium.org/2014363002
|
|
BUG=
Review-Url: https://codereview.chromium.org/2010013003
|
|
Clean up the left code which causes warnings. Enable using chromium_code
for XFA compilation, also re-enable all the msvs warning flags except
4267 (same as the main pdfium code).
BUG=pdfium:29,pdfium:475
Review-Url: https://codereview.chromium.org/2009813004
|
|
This CL replaces FXJSE_HOBJECT and FXJSE_HVALUE with the concrete CFXJSE_Value*
type. All variables are renamed to match.
Review-Url: https://codereview.chromium.org/2012253002
|
|
This CL removes FXJSE_HCLASS and replaces with CFXJSE_Class*. All variables have
been updated to the new type.
Review-Url: https://codereview.chromium.org/2014213002
|
|
This Cl removes FXJSE_HCONTEXT and replaces it with the concrete CFXJSE_Context.
All varibles have been updated as well to match the new type.
Review-Url: https://codereview.chromium.org/2013963005
|
|
https://codereview.chromium.org/2009413002/ )
Reason for revert:
Suspect that the lack of this parameter being
passed accurately to GetObject is leading to
https://bugs.chromium.org/p/chromium/issues/detail?id=613607, and that the right
fix will be to pass it.
Original issue's description:
> Remove parameters which are always null
>
> These parameters are never set, remove them and their supporting code.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/818e1900a3811e1bde1e594e4966db612f845966
TBR=tsepez@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/2014863002
|
|
These parameters are never set, remove them and their supporting code.
Review-Url: https://codereview.chromium.org/2009413002
|