Age | Commit message (Collapse) | Author |
|
This CL removes the use of FX_Alloc and any remaining new'd CFXJSE_Value objects
from CXFA_FM2JSContext and replaces them with unique_ptrs and vectors.
Change-Id: I30ba697d65ee326d2faa895c3217bdc407419298
Reviewed-on: https://pdfium-review.googlesource.com/2157
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL updates the unique_ptrs to use MakeUnique instead of new. The types
are updated to be auto.
Change-Id: I2a82a4ec6659e5c343cc03d4840b3046ecb6934e
Reviewed-on: https://pdfium-review.googlesource.com/2156
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL removes the size arrays and variables and uses the vector to get the
size directly.
Change-Id: I0f7b5f48e53ff1ec379ad34a23807d70b02a538a
Reviewed-on: https://pdfium-review.googlesource.com/2155
Commit-Queue: dsinclair <dsinclair@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
This CL updates ::ParseResolveResult to accept a
std::vector<std::unique_ptr<CFXJSE_Value>>& instead of a CFXJSE_Value**&. This
removes a bunch of manual new/delete code used to mantain the values.
The size parameter was also removed and is retrieved by calling .size() on the
vector now.
Change-Id: I60fc6176523ece112d41fdefc767aaefedfae2db
Reviewed-on: https://pdfium-review.googlesource.com/2153
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL removes the LoadString method from CPDFXFA_Context and, instead,
creates individual exception methods for each of the loaded strings and
calls as needed.
BUG=pdfium:549
Change-Id: I1d975f01f13f45a885946a9952f24b13387dc3e4
Reviewed-on: https://pdfium-review.googlesource.com/2135
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
This CL cleans up some of the out params in CPDFXFA_Context. In the process
several of the strings returned by ::LoadString() are inlined in their
call sites and the defines removed.
BUG=pdfium:549
Change-Id: I41a7ceeba3962299eecd0cb714ddb03d28dbb0ea
Reviewed-on: https://pdfium-review.googlesource.com/2134
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
|
|
We can remove a lot of "bOwnsStream" logic in the process.
Always pass these by const reference, in case the called method
wants to hang on to the stream (one exception is where we stick
a raw pointer into a void* slot in a context from another layer).
Review-Url: https://codereview.chromium.org/2451493002
|
|
Change-Id: I6b2d1a5b06211b32f3053aad4d7ae7501ec8d8f6
Reviewed-on: https://pdfium-review.googlesource.com/2093
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
The -build/include setting was masking out build/include_what_you_use. This CL
restores them, fixes any build errors, and adds NOLINT as needed. As well,
the runtime/explicit and runtime/printf flags are aslo enabled and NOLINT'd.
lint cleanups
Change-Id: Ib013b3eb29c8d0e48cad74c5df9028684130719f
Reviewed-on: https://pdfium-review.googlesource.com/2030
Reviewed-by: Tom Sepez <tsepez@chromium.org>
|
|
The lack of coverage of the fpdfppo APIs was noticed while
trying to diagnose another issue. Adding basic calls to
these APIs then kicked out an assert in XFA, where duplicate
global CFXA_TimeZoneProviders were not expected. These are
cheap to create except for the global C RTL tzset() call, so
keep track of that and make these on demand.
Review-Url: https://codereview.chromium.org/2488403004
|
|
Review-Url: https://codereview.chromium.org/2467203003
|
|
Review-Url: https://codereview.chromium.org/2457673003
|
|
It's been troubling for some time that an IFX_FileStream might
actually be an in-memory buffer with no backing file.
Review-Url: https://codereview.chromium.org/2443723002
|
|
BUG=pdfium:611
Review-Url: https://codereview.chromium.org/2380713005
|
|
BUG=pdfium:611
Review-Url: https://codereview.chromium.org/2382723003
|
|
This Cl makes the Get and Set methods consistenly use {G|S}et<Type>For.
BUG=pdfium:596
Review-Url: https://codereview.chromium.org/2334323005
|
|
This moves the code to match the actual class name.
Review-Url: https://codereview.chromium.org/2163133004
|
|
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 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 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
|
|
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 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 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
|
|
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
|
|
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
|
|
Cleans up ::DecodeXML, ::DecodeHTML, ::DecodeURL, ::Decode, ::Concat, ::At,
::UnitValue, ::UnitType, ::Ref, ::Eval, ::If, ::Within.
Review-Url: https://codereview.chromium.org/2043133002
|
|
Cleans up ::Oneof, ::HasValue, ::Exists, ::Choose, ::Term, ::Rate, ::PV, ::PPmt,
::Pmt, ::NPV, ::IPmt, ::FV, ::CTerm and ::Apr
Review-Url: https://codereview.chromium.org/2042843003
|
|
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
|
|
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
|
|
Cleanup ::Min, ::Mod, ::Round, ::Date2Num, ::DateFmt and ::ISoTime2Num.
Review-Url: https://codereview.chromium.org/2028063002
|
|
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
|
|
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
|
|
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
|
|
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
|