Age | Commit message (Collapse) | Author |
|
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
|
|
Fix is speculative because I can't repro locally, but I know the
current code is wrong.
I fixed this intially in https://codereview.chromium.org/2015143005/
I then broke it again in https://codereview.chromium.org/2019333006/
There is another spot where we are still casting through void*, and
the CXFA_Node*'s alignment is getting messed up when it fails to adjust
for it's vtable. Using CFXJSE_HostObject consistently avoids the issue.
Adding a virtual dtor to CFXJSE_HostObject might skirt the issue, but
I want to be able to wrap simple objects without that penalty if
desired.
BUG=616339
Review-Url: https://codereview.chromium.org/2055473004
|
|
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
|
|
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
|
|
Remove the 'Impl entirely, and put the details into the class itself.
Review-Url: https://codereview.chromium.org/2036513002
|
|
Also, don't invent an enum that has one possible value that is
always set.
Review-Url: https://codereview.chromium.org/2028343002
|
|
Fix the asymmetry between creating only some isolates and
releasing all of them, even the shared ones, by being more
careful not to trash those we didn't create.
Review-Url: https://codereview.chromium.org/2025193002
|
|
The entire code base is single-threaded, hence the lockers
ought not be required.
Review-Url: https://codereview.chromium.org/2026933002
|
|
Reformat along the way, and mark unimplemented methods as delete.
Review-Url: https://codereview.chromium.org/2024283002
|
|
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
|
|
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
|
|
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
|
|
These parameters are never set, remove them and their supporting code.
Review-Url: https://codereview.chromium.org/2009413002
|
|
This CL renames all of the instances of FXJSE_HRUNTIME to be v8::Isolate* and
updates the various varible names to match the new type.
Review-Url: https://codereview.chromium.org/2010833002
|
|
Allows use of otherwise incompatible unique_ptrs.
Review-Url: https://codereview.chromium.org/1992513002
|
|
XFA edition.
Review-Url: https://codereview.chromium.org/1925363002
|
|
There are currently three ways to assert in the code (ASSERT, FXSYS_assert and
assert). This CL standardizes on ASSERT. The benefit of ASSERT is that it can
be overridden if the platform requies and we can pickup the Chromium version
if it has already been defined in the build.
This does change behaviour. Currently FXSYS_assert is always defined but ASSERT
is only defined in debug builds. So, the FXSYS_assert's would fire in Release
builds. That will no longer happen.
BUG=pdfium:219
Review-Url: https://codereview.chromium.org/1914303003
|
|
This CL removes a series of unused XFA methods.
Review URL: https://codereview.chromium.org/1899103002
|
|
BUG=
Review URL: https://codereview.chromium.org/1885973002
|
|
This CL moves the fxedit, jsapi and fpdfxfa code out of fpdfsdk/include to the
various sub-include directories.
Review URL: https://codereview.chromium.org/1863163002
|
|
This CL updates CFX_ByteStringC to use the more common c_str
and raw_str instead of GetCStr and GetPtr.
Review URL: https://codereview.chromium.org/1857713003
|
|
This CL splits the IJavaScript.h file into the two inner classes and puts them
in the fpdfsdk/javascript folder.
Review URL: https://codereview.chromium.org/1847583004
|
|
FXJSE_DOUBLE was just defined as double. Replace with actual type to make
things clearer.
BUG=pdfium:81
Review URL: https://codereview.chromium.org/1842013003
|
|
Some headers were missed in the previous CL.
Review URL: https://codereview.chromium.org/1835703002
|
|
Review URL: https://codereview.chromium.org/1830323006
|
|
This CL moves the fxcrt code into the core/fxcrt directory. The only exception
was fx_bidi.h which was moved into core/fxcrt as it is not used outside of
core/.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1825953002 .
|
|
This CL moves the fxjse.h header and splits the cfxjse_arguments.h into its
own file.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1807623002 .
|
|
This CL adds the needed DEPS files to make checkdeps pass correctly. The
checkdeps PRESUBMIT method has been copied from Chromium and is enabled on
CL upload.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1801923002 .
|
|
This CL moves the xfa/src files up to the xfa/ directory and fixes the includes,
include guards, and build files.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1803723002 .
|