|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| xfa/ | | 03-May-2024 | - | 15,973 | 11,145 |
| CJX_Define.h | D | 03-May-2024 | 1.4 KiB | 38 | 25 |
| DEPS | D | 03-May-2024 | 165 | 12 | 11 |
| JS_Define.cpp | D | 03-May-2024 | 8.4 KiB | 309 | 255 |
| JS_Define.h | D | 03-May-2024 | 6.1 KiB | 167 | 126 |
| README | D | 03-May-2024 | 1.5 KiB | 34 | 29 |
| cfxjse_arguments.cpp | D | 03-May-2024 | 1.9 KiB | 60 | 42 |
| cfxjse_arguments.h | D | 03-May-2024 | 1.1 KiB | 38 | 25 |
| cfxjse_class.cpp | D | 03-May-2024 | 11.7 KiB | 302 | 262 |
| cfxjse_class.h | D | 03-May-2024 | 1.3 KiB | 44 | 29 |
| cfxjse_context.cpp | D | 03-May-2024 | 10.1 KiB | 275 | 237 |
| cfxjse_context.h | D | 03-May-2024 | 1.8 KiB | 59 | 40 |
| cfxjse_engine.cpp | D | 03-May-2024 | 26.7 KiB | 756 | 651 |
| cfxjse_engine.h | D | 03-May-2024 | 5.1 KiB | 122 | 99 |
| cfxjse_formcalc_context.cpp | D | 03-May-2024 | 203.3 KiB | 6,255 | 5,447 |
| cfxjse_formcalc_context.h | D | 03-May-2024 | 21.4 KiB | 446 | 422 |
| cfxjse_formcalc_context_embeddertest.cpp | D | 03-May-2024 | 43.4 KiB | 1,447 | 1,099 |
| cfxjse_isolatetracker.h | D | 03-May-2024 | 1.7 KiB | 56 | 39 |
| cfxjse_resolveprocessor.cpp | D | 03-May-2024 | 25.2 KiB | 747 | 673 |
| cfxjse_resolveprocessor.h | D | 03-May-2024 | 2.5 KiB | 78 | 59 |
| cfxjse_runtimedata.cpp | D | 03-May-2024 | 1.7 KiB | 51 | 34 |
| cfxjse_runtimedata.h | D | 03-May-2024 | 965 | 37 | 20 |
| cfxjse_value.cpp | D | 03-May-2024 | 14.5 KiB | 429 | 351 |
| cfxjse_value.h | D | 03-May-2024 | 3 KiB | 99 | 79 |
| cjs_annot.cpp | D | 03-May-2024 | 3.3 KiB | 112 | 80 |
| cjs_annot.h | D | 03-May-2024 | 1.4 KiB | 51 | 32 |
| cjs_app.cpp | D | 03-May-2024 | 18.8 KiB | 578 | 449 |
| cjs_app.h | D | 03-May-2024 | 6.6 KiB | 170 | 134 |
| cjs_border.cpp | D | 03-May-2024 | 813 | 24 | 13 |
| cjs_border.h | D | 03-May-2024 | 645 | 25 | 13 |
| cjs_color.cpp | D | 03-May-2024 | 10.1 KiB | 303 | 242 |
| cjs_color.h | D | 03-May-2024 | 3.8 KiB | 116 | 84 |
| cjs_console.cpp | D | 03-May-2024 | 1.8 KiB | 54 | 35 |
| cjs_console.h | D | 03-May-2024 | 1.4 KiB | 48 | 32 |
| cjs_delaydata.cpp | D | 03-May-2024 | 449 | 13 | 4 |
| cjs_delaydata.h | D | 03-May-2024 | 880 | 36 | 24 |
| cjs_display.cpp | D | 03-May-2024 | 765 | 23 | 12 |
| cjs_display.h | D | 03-May-2024 | 651 | 25 | 13 |
| cjs_document.cpp | D | 03-May-2024 | 50.3 KiB | 1,500 | 1,213 |
| cjs_document.h | D | 03-May-2024 | 14.2 KiB | 331 | 273 |
| cjs_embedobj.cpp | D | 03-May-2024 | 416 | 14 | 4 |
| cjs_embedobj.h | D | 03-May-2024 | 620 | 26 | 13 |
| cjs_event.cpp | D | 03-May-2024 | 9.8 KiB | 308 | 235 |
| cjs_event.h | D | 03-May-2024 | 4.1 KiB | 112 | 78 |
| cjs_event_context.cpp | D | 03-May-2024 | 10 KiB | 282 | 227 |
| cjs_event_context.h | D | 03-May-2024 | 5.7 KiB | 137 | 120 |
| cjs_event_context_stub.cpp | D | 03-May-2024 | 422 | 13 | 5 |
| cjs_event_context_stub.h | D | 03-May-2024 | 5.2 KiB | 119 | 106 |
| cjs_eventhandler.cpp | D | 03-May-2024 | 18 KiB | 655 | 556 |
| cjs_eventhandler.h | D | 03-May-2024 | 6.4 KiB | 198 | 172 |
| cjs_field.cpp | D | 03-May-2024 | 86.1 KiB | 2,674 | 2,237 |
| cjs_field.h | D | 03-May-2024 | 18.6 KiB | 439 | 358 |
| cjs_font.cpp | D | 03-May-2024 | 1.3 KiB | 32 | 21 |
| cjs_font.h | D | 03-May-2024 | 633 | 25 | 13 |
| cjs_global.cpp | D | 03-May-2024 | 21.6 KiB | 616 | 540 |
| cjs_global.h | D | 03-May-2024 | 1.4 KiB | 43 | 27 |
| cjs_globalarrays.cpp | D | 03-May-2024 | 3.4 KiB | 75 | 48 |
| cjs_globalarrays.h | D | 03-May-2024 | 486 | 18 | 8 |
| cjs_globalconsts.cpp | D | 03-May-2024 | 2 KiB | 48 | 32 |
| cjs_globalconsts.h | D | 03-May-2024 | 486 | 18 | 8 |
| cjs_globaldata.cpp | D | 03-May-2024 | 12.4 KiB | 397 | 326 |
| cjs_globaldata.h | D | 03-May-2024 | 2.5 KiB | 78 | 56 |
| cjs_globalvariablearray.cpp | D | 03-May-2024 | 2.3 KiB | 69 | 55 |
| cjs_globalvariablearray.h | D | 03-May-2024 | 735 | 30 | 17 |
| cjs_highlight.cpp | D | 03-May-2024 | 778 | 23 | 12 |
| cjs_highlight.h | D | 03-May-2024 | 663 | 25 | 13 |
| cjs_icon.cpp | D | 03-May-2024 | 1.1 KiB | 39 | 22 |
| cjs_icon.h | D | 03-May-2024 | 1.1 KiB | 43 | 26 |
| cjs_keyvalue.cpp | D | 03-May-2024 | 340 | 12 | 3 |
| cjs_keyvalue.h | D | 03-May-2024 | 693 | 29 | 17 |
| cjs_object.cpp | D | 03-May-2024 | 1.7 KiB | 51 | 35 |
| cjs_object.h | D | 03-May-2024 | 1.9 KiB | 72 | 50 |
| cjs_position.cpp | D | 03-May-2024 | 914 | 26 | 15 |
| cjs_position.h | D | 03-May-2024 | 657 | 25 | 13 |
| cjs_printparamsobj.cpp | D | 03-May-2024 | 927 | 35 | 22 |
| cjs_printparamsobj.h | D | 03-May-2024 | 972 | 42 | 28 |
| cjs_publicmethods.cpp | D | 03-May-2024 | 51.3 KiB | 1,741 | 1,478 |
| cjs_publicmethods.h | D | 03-May-2024 | 6.5 KiB | 161 | 142 |
| cjs_publicmethods_embeddertest.cpp | D | 03-May-2024 | 5.4 KiB | 163 | 117 |
| cjs_publicmethods_unittest.cpp | D | 03-May-2024 | 1.4 KiB | 52 | 35 |
| cjs_report.cpp | D | 03-May-2024 | 1.2 KiB | 43 | 24 |
| cjs_report.h | D | 03-May-2024 | 1.1 KiB | 42 | 26 |
| cjs_return.cpp | D | 03-May-2024 | 595 | 19 | 7 |
| cjs_return.h | D | 03-May-2024 | 876 | 35 | 21 |
| cjs_runtime.cpp | D | 03-May-2024 | 8.6 KiB | 293 | 230 |
| cjs_runtime.h | D | 03-May-2024 | 2.3 KiB | 74 | 48 |
| cjs_runtimestub.cpp | D | 03-May-2024 | 1.6 KiB | 61 | 39 |
| cjs_scalehow.cpp | D | 03-May-2024 | 692 | 21 | 10 |
| cjs_scalehow.h | D | 03-May-2024 | 657 | 25 | 13 |
| cjs_scalewhen.cpp | D | 03-May-2024 | 774 | 23 | 12 |
| cjs_scalewhen.h | D | 03-May-2024 | 663 | 25 | 13 |
| cjs_style.cpp | D | 03-May-2024 | 848 | 24 | 13 |
| cjs_style.h | D | 03-May-2024 | 639 | 25 | 13 |
| cjs_timerobj.cpp | D | 03-May-2024 | 885 | 33 | 17 |
| cjs_timerobj.h | D | 03-May-2024 | 955 | 39 | 23 |
| cjs_util.cpp | D | 03-May-2024 | 14 KiB | 472 | 396 |
| cjs_util.h | D | 03-May-2024 | 1.8 KiB | 64 | 43 |
| cjs_util_unittest.cpp | D | 03-May-2024 | 2.9 KiB | 114 | 60 |
| cjs_v8.cpp | D | 03-May-2024 | 7.5 KiB | 242 | 195 |
| cjs_v8.h | D | 03-May-2024 | 3.2 KiB | 94 | 68 |
| cjs_zoomtype.cpp | D | 03-May-2024 | 955 | 26 | 15 |
| cjs_zoomtype.h | D | 03-May-2024 | 657 | 25 | 13 |
| fxjs_v8.cpp | D | 03-May-2024 | 19.6 KiB | 555 | 454 |
| fxjs_v8.h | D | 03-May-2024 | 6.4 KiB | 196 | 131 |
| fxjs_v8_embeddertest.cpp | D | 03-May-2024 | 8 KiB | 229 | 187 |
| fxjse.h | D | 03-May-2024 | 2.1 KiB | 71 | 49 |
| global_timer.cpp | D | 03-May-2024 | 2.2 KiB | 81 | 57 |
| global_timer.h | D | 03-May-2024 | 1.4 KiB | 51 | 34 |
| ijs_event_context.h | D | 03-May-2024 | 6 KiB | 134 | 111 |
| ijs_runtime.h | D | 03-May-2024 | 1.4 KiB | 45 | 29 |
| js_resources.cpp | D | 03-May-2024 | 2.6 KiB | 71 | 62 |
| js_resources.h | D | 03-May-2024 | 1 KiB | 42 | 31 |
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