Name | Date | Size | |
---|---|---|---|
.. | 10-Aug-2018 | 4 KiB | |
cfxjse_arguments.cpp | 10-Aug-2018 | 1.9 KiB | |
cfxjse_arguments.h | 10-Aug-2018 | 1.1 KiB | |
cfxjse_class.cpp | 10-Aug-2018 | 11.7 KiB | |
cfxjse_class.h | 10-Aug-2018 | 1.3 KiB | |
cfxjse_context.cpp | 10-Aug-2018 | 10.1 KiB | |
cfxjse_context.h | 10-Aug-2018 | 1.8 KiB | |
cfxjse_engine.cpp | 10-Aug-2018 | 26.7 KiB | |
cfxjse_engine.h | 10-Aug-2018 | 5.1 KiB | |
cfxjse_formcalc_context.cpp | 10-Aug-2018 | 203.3 KiB | |
cfxjse_formcalc_context.h | 10-Aug-2018 | 21.4 KiB | |
cfxjse_formcalc_context_embeddertest.cpp | 10-Aug-2018 | 43.4 KiB | |
cfxjse_isolatetracker.h | 10-Aug-2018 | 1.7 KiB | |
cfxjse_resolveprocessor.cpp | 10-Aug-2018 | 25.2 KiB | |
cfxjse_resolveprocessor.h | 10-Aug-2018 | 2.5 KiB | |
cfxjse_runtimedata.cpp | 10-Aug-2018 | 1.7 KiB | |
cfxjse_runtimedata.h | 10-Aug-2018 | 965 | |
cfxjse_value.cpp | 10-Aug-2018 | 14.5 KiB | |
cfxjse_value.h | 10-Aug-2018 | 3 KiB | |
cjs_annot.cpp | 10-Aug-2018 | 3.3 KiB | |
cjs_annot.h | 10-Aug-2018 | 1.4 KiB | |
cjs_app.cpp | 10-Aug-2018 | 18.8 KiB | |
cjs_app.h | 10-Aug-2018 | 6.6 KiB | |
cjs_border.cpp | 10-Aug-2018 | 813 | |
cjs_border.h | 10-Aug-2018 | 645 | |
cjs_color.cpp | 10-Aug-2018 | 10.1 KiB | |
cjs_color.h | 10-Aug-2018 | 3.8 KiB | |
cjs_console.cpp | 10-Aug-2018 | 1.8 KiB | |
cjs_console.h | 10-Aug-2018 | 1.4 KiB | |
cjs_delaydata.cpp | 10-Aug-2018 | 449 | |
cjs_delaydata.h | 10-Aug-2018 | 880 | |
cjs_display.cpp | 10-Aug-2018 | 765 | |
cjs_display.h | 10-Aug-2018 | 651 | |
cjs_document.cpp | 10-Aug-2018 | 50.3 KiB | |
cjs_document.h | 10-Aug-2018 | 14.2 KiB | |
cjs_embedobj.cpp | 10-Aug-2018 | 416 | |
cjs_embedobj.h | 10-Aug-2018 | 620 | |
cjs_event.cpp | 10-Aug-2018 | 9.8 KiB | |
cjs_event.h | 10-Aug-2018 | 4.1 KiB | |
cjs_event_context.cpp | 10-Aug-2018 | 10 KiB | |
cjs_event_context.h | 10-Aug-2018 | 5.7 KiB | |
cjs_event_context_stub.cpp | 10-Aug-2018 | 422 | |
cjs_event_context_stub.h | 10-Aug-2018 | 5.2 KiB | |
cjs_eventhandler.cpp | 10-Aug-2018 | 18 KiB | |
cjs_eventhandler.h | 10-Aug-2018 | 6.4 KiB | |
cjs_field.cpp | 10-Aug-2018 | 86.1 KiB | |
cjs_field.h | 10-Aug-2018 | 18.6 KiB | |
cjs_font.cpp | 10-Aug-2018 | 1.3 KiB | |
cjs_font.h | 10-Aug-2018 | 633 | |
cjs_global.cpp | 10-Aug-2018 | 21.6 KiB | |
cjs_global.h | 10-Aug-2018 | 1.4 KiB | |
cjs_globalarrays.cpp | 10-Aug-2018 | 3.4 KiB | |
cjs_globalarrays.h | 10-Aug-2018 | 486 | |
cjs_globalconsts.cpp | 10-Aug-2018 | 2 KiB | |
cjs_globalconsts.h | 10-Aug-2018 | 486 | |
cjs_globaldata.cpp | 10-Aug-2018 | 12.4 KiB | |
cjs_globaldata.h | 10-Aug-2018 | 2.5 KiB | |
cjs_globalvariablearray.cpp | 10-Aug-2018 | 2.3 KiB | |
cjs_globalvariablearray.h | 10-Aug-2018 | 735 | |
cjs_highlight.cpp | 10-Aug-2018 | 778 | |
cjs_highlight.h | 10-Aug-2018 | 663 | |
cjs_icon.cpp | 10-Aug-2018 | 1.1 KiB | |
cjs_icon.h | 10-Aug-2018 | 1.1 KiB | |
cjs_keyvalue.cpp | 10-Aug-2018 | 340 | |
cjs_keyvalue.h | 10-Aug-2018 | 693 | |
cjs_object.cpp | 10-Aug-2018 | 1.7 KiB | |
cjs_object.h | 10-Aug-2018 | 1.9 KiB | |
cjs_position.cpp | 10-Aug-2018 | 914 | |
cjs_position.h | 10-Aug-2018 | 657 | |
cjs_printparamsobj.cpp | 10-Aug-2018 | 927 | |
cjs_printparamsobj.h | 10-Aug-2018 | 972 | |
cjs_publicmethods.cpp | 10-Aug-2018 | 51.3 KiB | |
cjs_publicmethods.h | 10-Aug-2018 | 6.5 KiB | |
cjs_publicmethods_embeddertest.cpp | 10-Aug-2018 | 5.4 KiB | |
cjs_publicmethods_unittest.cpp | 10-Aug-2018 | 1.4 KiB | |
cjs_report.cpp | 10-Aug-2018 | 1.2 KiB | |
cjs_report.h | 10-Aug-2018 | 1.1 KiB | |
cjs_return.cpp | 10-Aug-2018 | 595 | |
cjs_return.h | 10-Aug-2018 | 876 | |
cjs_runtime.cpp | 10-Aug-2018 | 8.6 KiB | |
cjs_runtime.h | 10-Aug-2018 | 2.3 KiB | |
cjs_runtimestub.cpp | 10-Aug-2018 | 1.6 KiB | |
cjs_scalehow.cpp | 10-Aug-2018 | 692 | |
cjs_scalehow.h | 10-Aug-2018 | 657 | |
cjs_scalewhen.cpp | 10-Aug-2018 | 774 | |
cjs_scalewhen.h | 10-Aug-2018 | 663 | |
cjs_style.cpp | 10-Aug-2018 | 848 | |
cjs_style.h | 10-Aug-2018 | 639 | |
cjs_timerobj.cpp | 10-Aug-2018 | 885 | |
cjs_timerobj.h | 10-Aug-2018 | 955 | |
cjs_util.cpp | 10-Aug-2018 | 14 KiB | |
cjs_util.h | 10-Aug-2018 | 1.8 KiB | |
cjs_util_unittest.cpp | 10-Aug-2018 | 2.9 KiB | |
cjs_v8.cpp | 10-Aug-2018 | 7.5 KiB | |
cjs_v8.h | 10-Aug-2018 | 3.2 KiB | |
cjs_zoomtype.cpp | 10-Aug-2018 | 955 | |
cjs_zoomtype.h | 10-Aug-2018 | 657 | |
CJX_Define.h | 10-Aug-2018 | 1.4 KiB | |
DEPS | 10-Aug-2018 | 165 | |
fxjs_v8.cpp | 10-Aug-2018 | 19.6 KiB | |
fxjs_v8.h | 10-Aug-2018 | 6.4 KiB | |
fxjs_v8_embeddertest.cpp | 10-Aug-2018 | 8 KiB | |
fxjse.h | 10-Aug-2018 | 2.1 KiB | |
global_timer.cpp | 10-Aug-2018 | 2.2 KiB | |
global_timer.h | 10-Aug-2018 | 1.4 KiB | |
ijs_event_context.h | 10-Aug-2018 | 6 KiB | |
ijs_runtime.h | 10-Aug-2018 | 1.4 KiB | |
JS_Define.cpp | 10-Aug-2018 | 8.4 KiB | |
JS_Define.h | 10-Aug-2018 | 6.1 KiB | |
js_resources.cpp | 10-Aug-2018 | 2.6 KiB | |
js_resources.h | 10-Aug-2018 | 1 KiB | |
README | 10-Aug-2018 | 1.5 KiB | |
xfa/ | 10-Aug-2018 | 12 KiB |
README
1There are two separate wrappers for V8 here. One is called FXJS, and 2it is used by the non-XFA code. The other is called FXJSE, and it is 3used only by the XFA code. Additionally FXJSE may request services 4from FXJS to bridge the two. 5 6Both the FXJS and FXJSE binding code needs to be replaced by something 7saner, perhaps Gin or perhaps some IDL. See 8 https://bugs.chromium.org/p/pdfium/issues/detail?id=716 9for progress on the issue. 10 11FXJS binds objects by sticking a pointer to a CFXJS_PerObjectData in 12the V8 object's internal slot. FXJSE binds objects by sticking a 13pointer to either an actual v8 function object or a CFXJSE_HostObject 14in the V8 object's internal slot, depending upon whether the object 15represents (in some notion) a "class" or an "instance". Also, V8 objects 16bound in one library may unexpectedly arrive at the other given a script 17that's trying to mess with us. 18 19To distinguish these cases, we use two internal slots for all bound 20objects, regardless of the FXJS/FXJSE distinction. Slot 0 is the 21tag and contains either: 22 kPerObjectDataTag for FXJS objects, or 23 g_FXJSETagString for FXJSE Host objects, or 24 One of 4 specific FXJSE_CLASS_DESCRIPTOR globals for FXJSE classes: 25 GlobalClassDescriptor 26 NormalClassDescriptor 27 VariablesClassDescriptor 28 formcalc_fm2js_descriptor 29 30Slot 1's contents are determined by these tags: 31 kPerObjectDataTag means to expect a CFXJS_PerObjectData. 32 g_FXJSETagString means to expect a CFXJSE_HostObject. 33 A FXJSE_CLASS_DESCRIPTOR pointer means to expect a v8 function. 34