diff options
Diffstat (limited to 'fxjs/README')
-rw-r--r-- | fxjs/README | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fxjs/README b/fxjs/README index 6590b58e3c..a1cfe322bf 100644 --- a/fxjs/README +++ b/fxjs/README @@ -20,7 +20,8 @@ To distinguish these cases, we use two internal slots for all bound objects, regardless of the FXJS/FXJSE distinction. Slot 0 is the tag and contains either: kPerObjectDataTag for FXJS objects, or - g_FXJSETagString for FXJSE Host objects, or + g_FXJSEHostObjectTag for FXJSE Host objects, or + g_FXJSEProxyObjectTag for a global proxy object under FXJSE, or One of 4 specific FXJSE_CLASS_DESCRIPTOR globals for FXJSE classes: GlobalClassDescriptor NormalClassDescriptor @@ -29,9 +30,10 @@ tag and contains either: Slot 1's contents are determined by these tags: kPerObjectDataTag means an aligned pointer to CFXJS_PerObjectData. - g_FXJSETagString means an aligned pointer to CFXJSE_HostObject. + g_FXJSEHostObjectTag means an aligned pointer to CFXJSE_HostObject. + g_FXJSEProxyObjectTag means nullptr, and to check the prototype instead. A FXJSE_CLASS_DESCRIPTOR pointer means to expect an actual v8 function - object, and not an aligned pointer. + object (or a string naming that function), and not an aligned pointer. Because PDFium uses V8 for various unrelated purposes, there may be up to four v8::Contexts (JS Global Objects) associated with each document. One is |