summaryrefslogtreecommitdiff
path: root/fpdfsdk/include/jsapi
diff options
context:
space:
mode:
authorTom Sepez <tsepez@chromium.org>2015-10-09 13:14:47 -0700
committerTom Sepez <tsepez@chromium.org>2015-10-09 13:14:47 -0700
commit848a13b6777cbff8cc4aea3ab3d69eaa0b82ae6c (patch)
treed2c3a5ee4f67227ac33199f6d10caaf204c92896 /fpdfsdk/include/jsapi
parentf1c713663192368d26031a4caed1f9705f4510af (diff)
downloadpdfium-848a13b6777cbff8cc4aea3ab3d69eaa0b82ae6c.tar.xz
Pass IJS_Runtime, not IJS_Context, to native object constructors.
This better separates the two IJS_ classes, with the IJS_Context taking on its proper role of describing an event. There's no need for the event details for object creation, so this gets much cleaner. Move some JS error reporting code from CJS_Context to CJS_Runtime. Make InitInstance() and ExitInstance() voids, they always return TRUE and we never check the result anyways. R=thestig@chromium.org Review URL: https://codereview.chromium.org/1389163007 .
Diffstat (limited to 'fpdfsdk/include/jsapi')
-rw-r--r--fpdfsdk/include/jsapi/fxjs_v8.h16
1 files changed, 7 insertions, 9 deletions
diff --git a/fpdfsdk/include/jsapi/fxjs_v8.h b/fpdfsdk/include/jsapi/fxjs_v8.h
index 651414b53b..13fbb02a72 100644
--- a/fpdfsdk/include/jsapi/fxjs_v8.h
+++ b/fpdfsdk/include/jsapi/fxjs_v8.h
@@ -17,10 +17,10 @@
#include <v8.h>
#include "../../../core/include/fxcrt/fx_basic.h"
-// FXJS_V8 places no interpretation on these two classes; it merely
-// passes them on to the caller-provided FXJS_CONSTRUCTORs.
-class IJS_Context;
-class IJS_Runtime;
+// FXJS_V8 places no restrictions on these two classes; it merely passes them
+// on to caller-provided methods.
+class IJS_Context; // A description of the event that caused JS execution.
+class IJS_Runtime; // A native runtime, typically owns the v8::Context.
enum FXJSOBJTYPE {
FXJSOBJTYPE_DYNAMIC = 0, // Created by native method and returned to JS.
@@ -61,7 +61,7 @@ class FXJS_ArrayBufferAllocator : public v8::ArrayBuffer::Allocator {
void Free(void* data, size_t length) override;
};
-using FXJS_CONSTRUCTOR = void (*)(IJS_Context* cc, v8::Local<v8::Object> obj);
+using FXJS_CONSTRUCTOR = void (*)(IJS_Runtime* cc, v8::Local<v8::Object> obj);
using FXJS_DESTRUCTOR = void (*)(v8::Local<v8::Object> obj);
// Call before making FXJS_PrepareIsolate call.
@@ -119,8 +119,7 @@ void FXJS_DefineGlobalConst(v8::Isolate* pIsolate,
// Called after FXJS_Define* calls made.
void FXJS_InitializeRuntime(v8::Isolate* pIsolate,
- IJS_Runtime* pFXRuntime,
- IJS_Context* context,
+ IJS_Runtime* pIRuntime,
v8::Global<v8::Context>& v8PersistentContext);
void FXJS_ReleaseRuntime(v8::Isolate* pIsolate,
v8::Global<v8::Context>& v8PersistentContext);
@@ -130,11 +129,10 @@ IJS_Runtime* FXJS_GetRuntimeFromIsolate(v8::Isolate* pIsolate);
int FXJS_Execute(v8::Isolate* pIsolate,
IJS_Context* pJSContext,
const wchar_t* script,
- long length,
FXJSErr* perror);
v8::Local<v8::Object> FXJS_NewFxDynamicObj(v8::Isolate* pIsolate,
- IJS_Context* pJSContext,
+ IJS_Runtime* pJSContext,
int nObjDefnID);
v8::Local<v8::Object> FXJS_GetThisObj(v8::Isolate* pIsolate);
int FXJS_GetObjDefnID(v8::Local<v8::Object> pObj);