| Index: fpdfsdk/jsapi/fxjs_v8.cpp
|
| diff --git a/fpdfsdk/jsapi/fxjs_v8.cpp b/fpdfsdk/jsapi/fxjs_v8.cpp
|
| index 283fac978a79f1dc725c237d1ff7a8ce52290233..3297b4bd12c8d7a739c33d50ea6ffa88ce776916 100644
|
| --- a/fpdfsdk/jsapi/fxjs_v8.cpp
|
| +++ b/fpdfsdk/jsapi/fxjs_v8.cpp
|
| @@ -243,13 +243,14 @@ void FXJS_DefineObjMethod(v8::Isolate* pIsolate,
|
| CFX_ByteString bsMethodName = CFX_WideString(sMethodName).UTF8Encode();
|
| CFXJS_ObjDefinition* pObjDef =
|
| CFXJS_ObjDefinition::ForID(pIsolate, nObjDefnID);
|
| + v8::Local<v8::FunctionTemplate> fun = v8::FunctionTemplate::New(
|
| + pIsolate, pMethodCall, v8::Local<v8::Value>(), pObjDef->GetSignature());
|
| + fun->RemovePrototype();
|
| pObjDef->GetInstanceTemplate()->Set(
|
| v8::String::NewFromUtf8(pIsolate, bsMethodName.c_str(),
|
| v8::NewStringType::kNormal)
|
| .ToLocalChecked(),
|
| - v8::FunctionTemplate::New(pIsolate, pMethodCall, v8::Local<v8::Value>(),
|
| - pObjDef->GetSignature()),
|
| - v8::ReadOnly);
|
| + fun, v8::ReadOnly);
|
| }
|
|
|
| void FXJS_DefineObjProperty(v8::Isolate* pIsolate,
|
| @@ -301,11 +302,14 @@ void FXJS_DefineGlobalMethod(v8::Isolate* pIsolate,
|
| v8::Isolate::Scope isolate_scope(pIsolate);
|
| v8::HandleScope handle_scope(pIsolate);
|
| CFX_ByteString bsMethodName = CFX_WideString(sMethodName).UTF8Encode();
|
| - GetGlobalObjectTemplate(pIsolate)
|
| - ->Set(v8::String::NewFromUtf8(pIsolate, bsMethodName.c_str(),
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked(),
|
| - v8::FunctionTemplate::New(pIsolate, pMethodCall), v8::ReadOnly);
|
| + v8::Local<v8::FunctionTemplate> fun =
|
| + v8::FunctionTemplate::New(pIsolate, pMethodCall);
|
| + fun->RemovePrototype();
|
| + GetGlobalObjectTemplate(pIsolate)->Set(
|
| + v8::String::NewFromUtf8(pIsolate, bsMethodName.c_str(),
|
| + v8::NewStringType::kNormal)
|
| + .ToLocalChecked(),
|
| + fun, v8::ReadOnly);
|
| }
|
|
|
| void FXJS_DefineGlobalConst(v8::Isolate* pIsolate,
|
| @@ -314,11 +318,14 @@ void FXJS_DefineGlobalConst(v8::Isolate* pIsolate,
|
| v8::Isolate::Scope isolate_scope(pIsolate);
|
| v8::HandleScope handle_scope(pIsolate);
|
| CFX_ByteString bsConst = CFX_WideString(sConstName).UTF8Encode();
|
| - GetGlobalObjectTemplate(pIsolate)
|
| - ->SetAccessorProperty(v8::String::NewFromUtf8(pIsolate, bsConst.c_str(),
|
| - v8::NewStringType::kNormal)
|
| - .ToLocalChecked(),
|
| - v8::FunctionTemplate::New(pIsolate, pConstGetter));
|
| + v8::Local<v8::FunctionTemplate> fun =
|
| + v8::FunctionTemplate::New(pIsolate, pConstGetter);
|
| + fun->RemovePrototype();
|
| + GetGlobalObjectTemplate(pIsolate)->SetAccessorProperty(
|
| + v8::String::NewFromUtf8(pIsolate, bsConst.c_str(),
|
| + v8::NewStringType::kNormal)
|
| + .ToLocalChecked(),
|
| + fun);
|
| }
|
|
|
| void FXJS_InitializeRuntime(
|
|
|