Age | Commit message (Collapse) | Author |
|
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
|
|
The progressive decoder will attempt to verify that the provided image type
matches the actual image content. We need to disable this check when running
the fuzzer in order to target the fuzzing to specific decoders otherwise
each fuzzer will end up fuzzing all of the decoders.
BUG=chromium:587126
Review-Url: https://codereview.chromium.org/2061733002
|
|
FLW_DATEINFO cast not required.
Review-Url: https://codereview.chromium.org/2053963002
|
|
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
|
|
Clean up ::ExtractDouble, ::ValueToDouble, ::ValueToFloat, ::ValueToInteger,
::ParseResolveResult, ::ResolveObjects, ::GetObjectByName, ::unfoldArgs,
::simpleValueCompare, ::ValueIsNull, ::concat_fm_object, ::fm_var_filter,
::get_fm_value, ::is_fm_array, ::is_fm_object, ::eval_translation,
::dotdot_accessor and ::dot_accessor
Review-Url: https://codereview.chromium.org/2053583003
|
|
Remove a few other unused casts, simplify.
Review-Url: https://codereview.chromium.org/2052593003
|
|
Cleanup ::logical_not_operator, ::negative_operator, ::positive_operator,
::divide_operator, ::multiple_operator, ::minus_operator, ::plus_operator,
::greaterequal_operator, ::greater_operator, ::lessequal_operator,
::less_operator, ::fm_ref_equal, ::notequality_operator, ::equality_operator,
::logical_and_operator, ::logical_or_operator, ::assign_value_operator, ::Put,
::Post, ::Get, ::TrillionUS and ::WordUS.
Review-Url: https://codereview.chromium.org/2046123004
|
|
This CL formats ::WordNum, ::Upper, ::Uuid, ::Substr, ::Stuff, ::Str, ::Space,
::RTrim, ::Right, ::Replace, ::Parse, ::Ltrim, ::Lower, ::Len, ::Left, ::Format,
::HTMLSTR2Code, ::HTMLCode2STR, ::EncodeXML, ::EncodeHTML, ::EncodeURL
and ::Encode.
Review-Url: https://codereview.chromium.org/2047103004
|
|
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
|
|
BUG=614211
Review-Url: https://codereview.chromium.org/2045013004
|
|
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
|
|
And also CFGAS_StdFontMgrImp.
Review-Url: https://codereview.chromium.org/2033673002
|
|
Review-Url: https://codereview.chromium.org/2037563002
|
|
Cleans up ::DecodeXML, ::DecodeHTML, ::DecodeURL, ::Decode, ::Concat, ::At,
::UnitValue, ::UnitType, ::Ref, ::Eval, ::If, ::Within.
Review-Url: https://codereview.chromium.org/2043133002
|
|
Review-Url: https://codereview.chromium.org/2046133002
|
|
Review-Url: https://codereview.chromium.org/2032613003
|
|
Cleans up ::Oneof, ::HasValue, ::Exists, ::Choose, ::Term, ::Rate, ::PV, ::PPmt,
::Pmt, ::NPV, ::IPmt, ::FV, ::CTerm and ::Apr
Review-Url: https://codereview.chromium.org/2042843003
|
|
The value returned is always NULL and when passed as a param is never used.
Review-Url: https://codereview.chromium.org/2044623002
|
|
This Cl cleans up ::Num2AllTime, ::GetLocalTimeFormat, ::GetLocalDateFormat,
::DateString2Num, ::GetGMTime, ::IsoTime2Local, ::IsoDate2Local,
::Local2IsoTime, ::Local2IsoDate, ::IsIsoDateTimeFormat, ::IsIsoTimeFormat,
::IsIsoDateFormat, ::TimeFmt, ::Time2Num, ::Time, ::Num2Time, ::Num2GMTime,
::Num2Date, ::LocalTimeFmt and ::LocalDateFmt
Review-Url: https://codereview.chromium.org/2043743002
|
|
Avoid confusion with CFX_FontMgr, which does not inherit
from IFX_FontMgr, and lives in a different layer of code.
Do the same CFX_ -> CFGAS_ transformation for the concrete
classes that implement IFGAS_FontMgr.
Review-Url: https://codereview.chromium.org/2039463003
|
|
Three more bugs are discovered:
-- potientially used freed pointer;
-- potientially used uninitialized variable;
-- Used '&&' instead of bitwise operator '&'
BUG=chromium:613623, chromium:427616
Review-Url: https://codereview.chromium.org/2040503002
|
|
Avoid confusion with CFX_Font, which is defined in fxcrt,
and does not inherit from nor bear any resemblence to IFX_Font.
Review-Url: https://codereview.chromium.org/2036173003
|
|
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
|
|
Make CFWL_ classes inherit from IFWL_ListItem.
Replace reinterpret_casts with static_casts.
Review-Url: https://codereview.chromium.org/2029923002
|
|
Shorter and easier to remember.
Review-Url: https://codereview.chromium.org/2029043002
|
|
Cleanup ::Min, ::Mod, ::Round, ::Date2Num, ::DateFmt and ::ISoTime2Num.
Review-Url: https://codereview.chromium.org/2028063002
|
|
These strings are not used anywhere, remove the defines and the strings. For the remaining strings, cleanup the contents.
Review-Url: https://codereview.chromium.org/2020353004
|
|
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
|
|
Looks like this causes compile warnings on ARM where wchar_t is unsigned.
Review-Url: https://codereview.chromium.org/2023173002
|
|
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
|
|
Cleanup ::Max, ::Floor, ::Count, ::Ceil, ::Avg and ::Abs. Remove unneeded
strings from reservesForDecode (saves 4k when building pdfium_test).
Review-Url: https://codereview.chromium.org/2024133002
|
|
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
|
|
Review-Url: https://codereview.chromium.org/2024713002
|
|
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
|
|
This avoids another use of CFX_PrivateData. Note that in the old
code, we'd be calling through a m_pImpl onto the same underlying
object as we passed as the "key" argument when setting the value,
which explains why the get calls, happening one object lower, pass
the same argument as which they are being inovked against.
Review-Url: https://codereview.chromium.org/2010923002
|
|
Also, no need to track these in the contexts since they are global.
Review-Url: https://codereview.chromium.org/2014363002
|
|
Review-Url: https://codereview.chromium.org/2010183002
|
|
BUG=
Review-Url: https://codereview.chromium.org/2010013003
|