Index: include/v8.h |
diff --git a/include/v8.h b/include/v8.h |
index 83da77b3d145f2b3532c366306d5ff063da17805..ce5eff642ad06b36e2c8473aa4fefd4bffe0f696 100644 |
--- a/include/v8.h |
+++ b/include/v8.h |
@@ -3259,6 +3259,7 @@ class PropertyCallbackInfo { |
typedef void (*FunctionCallback)(const FunctionCallbackInfo<Value>& info); |
+enum class ConstructorBehavior { kThrow, kAllow }; |
/** |
* A JavaScript function object (ECMA-262, 15.3). |
@@ -3269,10 +3270,10 @@ class V8_EXPORT Function : public Object { |
* Create a function in the current execution context |
* for a given FunctionCallback. |
*/ |
- static MaybeLocal<Function> New(Local<Context> context, |
- FunctionCallback callback, |
- Local<Value> data = Local<Value>(), |
- int length = 0); |
+ static MaybeLocal<Function> New( |
+ Local<Context> context, FunctionCallback callback, |
+ Local<Value> data = Local<Value>(), int length = 0, |
+ ConstructorBehavior behavior = ConstructorBehavior::kAllow); |
static V8_DEPRECATE_SOON( |
"Use maybe version", |
Local<Function> New(Isolate* isolate, FunctionCallback callback, |
@@ -4493,7 +4494,8 @@ class V8_EXPORT FunctionTemplate : public Template { |
static Local<FunctionTemplate> New( |
Isolate* isolate, FunctionCallback callback = 0, |
Local<Value> data = Local<Value>(), |
- Local<Signature> signature = Local<Signature>(), int length = 0); |
+ Local<Signature> signature = Local<Signature>(), int length = 0, |
+ ConstructorBehavior behavior = ConstructorBehavior::kAllow); |
/** Get a template included in the snapshot by index. */ |
static MaybeLocal<FunctionTemplate> FromSnapshot(Isolate* isolate, |