summaryrefslogtreecommitdiff
path: root/fxjs/README
diff options
context:
space:
mode:
Diffstat (limited to 'fxjs/README')
-rw-r--r--fxjs/README8
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