summaryrefslogtreecommitdiff
path: root/xfa/fxjse/include/fxjse.h
AgeCommit message (Collapse)Author
2016-06-09Move xfa/fxjse/ to fxjse/dsinclair
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
2016-06-09Fix crash in CXFA_Node::TryUserData() (speculative)tsepez
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
2016-06-08Remove more FXJSE c-method wrappers.dsinclair
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
2016-06-07Remove various FXJSE Value methods.dsinclair
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
2016-06-02Remove FXJSE_Value_ToObject and call methods directlydsinclair
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
2016-06-01Don't use array for only one compatible mode scripttsepez
Also, don't invent an enum that has one possible value that is always set. Review-Url: https://codereview.chromium.org/2028343002
2016-06-01Track shared isolates better in FXJSE.tsepez
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
2016-05-31Replace void* with CFXJSE_HostObect and make wrapped objects inherit from ittsepez
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
2016-05-31Replace CFXJSE_Value create/destroy with new and delete.dsinclair
In most cases, the destroy calls were removed and the object wrapped in a unique_ptr. Review-Url: https://codereview.chromium.org/2014323003
2016-05-27Workaround dubious casting between CXFA_Object and void* in FXJSEtsepez
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
2016-05-26Make fm2jscontext's class descriptor a static constant.tsepez
Review-Url: https://codereview.chromium.org/2010183002
2016-05-26Rename FXJSE_CLASS to avoid confusion with CFXJSE_CLASStsepez
BUG= Review-Url: https://codereview.chromium.org/2010013003
2016-05-26Remove FXJSE_HOBJECT and FXJSE_HVALUE for CFXJSE_Value*dsinclair
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
2016-05-26Replace FXJSE_HCLASS with CFXJSE_Class*dsinclair
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
2016-05-26Replace FXJSE_HCONTEXT with CFXJSE_Context*dsinclair
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
2016-05-26Revert of Remove parameters which are always null (patchset #1 id:1 of ↵dsinclair
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
2016-05-25Remove parameters which are always nulldsinclair
These parameters are never set, remove them and their supporting code. Review-Url: https://codereview.chromium.org/2009413002
2016-05-25Rename FXJSE_HRUNTIME to v8::Isolatedsinclair
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
2016-04-19XFA unused function cleanupdsinclair
This CL removes a series of unused XFA methods. Review URL: https://codereview.chromium.org/1899103002
2016-03-30Replace FXJSE_DOUBLE with doubledsinclair
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
2016-03-25Remove FX_DWORD from XFA, part 2tsepez
Some headers were missed in the previous CL. Review URL: https://codereview.chromium.org/1835703002
2016-03-23Move core/include/fxcrt to core/fxcrt/include.Dan Sinclair
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 .
2016-03-15Move xfa/include/fxjse/fxjse.h into xfa/fxjse/include.Dan Sinclair
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 .