| Index: fpdfsdk/src/jsapi/fxjs_v8.cpp
|
| diff --git a/fpdfsdk/src/jsapi/fxjs_v8.cpp b/fpdfsdk/src/jsapi/fxjs_v8.cpp
|
| index e0c8938c34b02dbf8021b1fe63271fee479300c1..c516645dc2a83ddd6ea750b33d87030c755e806b 100644
|
| --- a/fpdfsdk/src/jsapi/fxjs_v8.cpp
|
| +++ b/fpdfsdk/src/jsapi/fxjs_v8.cpp
|
| @@ -75,6 +75,23 @@ class CJS_ObjDefintion {
|
| v8::Global<v8::Object> m_StaticObj;
|
| };
|
|
|
| +void* JS_ArrayBufferAllocator::Allocate(size_t length) {
|
| + return calloc(1, length);
|
| +}
|
| +
|
| +void* JS_ArrayBufferAllocator::AllocateUninitialized(size_t length) {
|
| + return malloc(length);
|
| +}
|
| +
|
| +void JS_ArrayBufferAllocator::Free(void* data, size_t length) {
|
| + free(data);
|
| +}
|
| +
|
| +void JS_PrepareIsolate(v8::Isolate* pIsolate) {
|
| + if (!pIsolate->GetData(g_embedderDataSlot))
|
| + pIsolate->SetData(g_embedderDataSlot, new CFX_PtrArray());
|
| +}
|
| +
|
| int JS_DefineObj(v8::Isolate* pIsolate,
|
| const wchar_t* sObjName,
|
| FXJSOBJTYPE eObjType,
|
| @@ -82,11 +99,9 @@ int JS_DefineObj(v8::Isolate* pIsolate,
|
| LP_DESTRUCTOR pDestructor) {
|
| v8::Isolate::Scope isolate_scope(pIsolate);
|
| v8::HandleScope handle_scope(pIsolate);
|
| +
|
| + JS_PrepareIsolate(pIsolate);
|
| CFX_PtrArray* pArray = (CFX_PtrArray*)pIsolate->GetData(g_embedderDataSlot);
|
| - if (!pArray) {
|
| - pArray = new CFX_PtrArray();
|
| - pIsolate->SetData(g_embedderDataSlot, pArray);
|
| - }
|
| CJS_ObjDefintion* pObjDef = new CJS_ObjDefintion(pIsolate, sObjName, eObjType,
|
| pConstructor, pDestructor);
|
| pArray->Add(pObjDef);
|
| @@ -243,10 +258,10 @@ void JS_DefineGlobalConst(v8::Isolate* pIsolate,
|
| globalObjTemp.Reset(pIsolate, objTemp);
|
| }
|
|
|
| -void JS_InitialRuntime(v8::Isolate* pIsolate,
|
| - IFXJS_Runtime* pFXRuntime,
|
| - IFXJS_Context* context,
|
| - v8::Global<v8::Context>& v8PersistentContext) {
|
| +void JS_InitializeRuntime(v8::Isolate* pIsolate,
|
| + IFXJS_Runtime* pFXRuntime,
|
| + IFXJS_Context* context,
|
| + v8::Global<v8::Context>& v8PersistentContext) {
|
| v8::Isolate::Scope isolate_scope(pIsolate);
|
| v8::HandleScope handle_scope(pIsolate);
|
|
|
| @@ -331,7 +346,7 @@ void JS_ReleaseRuntime(v8::Isolate* pIsolate,
|
| pIsolate->SetData(g_embedderDataSlot, NULL);
|
| }
|
|
|
| -void JS_Initial(unsigned int embedderDataSlot) {
|
| +void JS_Initialize(unsigned int embedderDataSlot) {
|
| g_embedderDataSlot = embedderDataSlot;
|
| }
|
|
|
|
|