diff --git a/boa_engine/src/builtins/error/eval.rs b/boa_engine/src/builtins/error/eval.rs index 046f5cc49b8..1e68003588b 100644 --- a/boa_engine/src/builtins/error/eval.rs +++ b/boa_engine/src/builtins/error/eval.rs @@ -38,7 +38,9 @@ impl BuiltIn for EvalError { fn init(context: &mut Context) -> JsValue { let _timer = Profiler::global().start_event(Self::NAME, "init"); + let error_constructor = context.standard_objects().error_object().constructor(); let error_prototype = context.standard_objects().error_object().prototype(); + let attribute = Attribute::WRITABLE | Attribute::NON_ENUMERABLE | Attribute::CONFIGURABLE; let eval_error_object = ConstructorBuilder::with_standard_object( context, @@ -48,6 +50,7 @@ impl BuiltIn for EvalError { .name(Self::NAME) .length(Self::LENGTH) .inherit(error_prototype) + .custom_prototype(error_constructor) .property("name", Self::NAME, attribute) .property("message", "", attribute) .build(); diff --git a/boa_engine/src/builtins/error/range.rs b/boa_engine/src/builtins/error/range.rs index 94eb245a571..bb6e20c0505 100644 --- a/boa_engine/src/builtins/error/range.rs +++ b/boa_engine/src/builtins/error/range.rs @@ -36,7 +36,9 @@ impl BuiltIn for RangeError { fn init(context: &mut Context) -> JsValue { let _timer = Profiler::global().start_event(Self::NAME, "init"); + let error_constructor = context.standard_objects().error_object().constructor(); let error_prototype = context.standard_objects().error_object().prototype(); + let attribute = Attribute::WRITABLE | Attribute::NON_ENUMERABLE | Attribute::CONFIGURABLE; let range_error_object = ConstructorBuilder::with_standard_object( context, @@ -46,6 +48,7 @@ impl BuiltIn for RangeError { .name(Self::NAME) .length(Self::LENGTH) .inherit(error_prototype) + .custom_prototype(error_constructor) .property("name", Self::NAME, attribute) .property("message", "", attribute) .build(); diff --git a/boa_engine/src/builtins/error/reference.rs b/boa_engine/src/builtins/error/reference.rs index b8d3ece6a6e..7052a867b32 100644 --- a/boa_engine/src/builtins/error/reference.rs +++ b/boa_engine/src/builtins/error/reference.rs @@ -35,7 +35,9 @@ impl BuiltIn for ReferenceError { fn init(context: &mut Context) -> JsValue { let _timer = Profiler::global().start_event(Self::NAME, "init"); + let error_constructor = context.standard_objects().error_object().constructor(); let error_prototype = context.standard_objects().error_object().prototype(); + let attribute = Attribute::WRITABLE | Attribute::NON_ENUMERABLE | Attribute::CONFIGURABLE; let reference_error_object = ConstructorBuilder::with_standard_object( context, @@ -45,6 +47,7 @@ impl BuiltIn for ReferenceError { .name(Self::NAME) .length(Self::LENGTH) .inherit(error_prototype) + .custom_prototype(error_constructor) .property("name", Self::NAME, attribute) .property("message", "", attribute) .build(); diff --git a/boa_engine/src/builtins/error/syntax.rs b/boa_engine/src/builtins/error/syntax.rs index f04695be5cb..f8f6436e821 100644 --- a/boa_engine/src/builtins/error/syntax.rs +++ b/boa_engine/src/builtins/error/syntax.rs @@ -38,7 +38,9 @@ impl BuiltIn for SyntaxError { fn init(context: &mut Context) -> JsValue { let _timer = Profiler::global().start_event(Self::NAME, "init"); + let error_constructor = context.standard_objects().error_object().constructor(); let error_prototype = context.standard_objects().error_object().prototype(); + let attribute = Attribute::WRITABLE | Attribute::NON_ENUMERABLE | Attribute::CONFIGURABLE; let syntax_error_object = ConstructorBuilder::with_standard_object( context, @@ -48,6 +50,7 @@ impl BuiltIn for SyntaxError { .name(Self::NAME) .length(Self::LENGTH) .inherit(error_prototype) + .custom_prototype(error_constructor) .property("name", Self::NAME, attribute) .property("message", "", attribute) .build(); diff --git a/boa_engine/src/builtins/error/type.rs b/boa_engine/src/builtins/error/type.rs index 59fdd9e98f2..ec519017db0 100644 --- a/boa_engine/src/builtins/error/type.rs +++ b/boa_engine/src/builtins/error/type.rs @@ -42,7 +42,9 @@ impl BuiltIn for TypeError { fn init(context: &mut Context) -> JsValue { let _timer = Profiler::global().start_event(Self::NAME, "init"); + let error_constructor = context.standard_objects().error_object().constructor(); let error_prototype = context.standard_objects().error_object().prototype(); + let attribute = Attribute::WRITABLE | Attribute::NON_ENUMERABLE | Attribute::CONFIGURABLE; let type_error_object = ConstructorBuilder::with_standard_object( context, @@ -52,6 +54,7 @@ impl BuiltIn for TypeError { .name(Self::NAME) .length(Self::LENGTH) .inherit(error_prototype) + .custom_prototype(error_constructor) .property("name", Self::NAME, attribute) .property("message", "", attribute) .build(); diff --git a/boa_engine/src/builtins/error/uri.rs b/boa_engine/src/builtins/error/uri.rs index c45d6928613..9b13adebedc 100644 --- a/boa_engine/src/builtins/error/uri.rs +++ b/boa_engine/src/builtins/error/uri.rs @@ -37,7 +37,9 @@ impl BuiltIn for UriError { fn init(context: &mut Context) -> JsValue { let _timer = Profiler::global().start_event(Self::NAME, "init"); + let error_constructor = context.standard_objects().error_object().constructor(); let error_prototype = context.standard_objects().error_object().prototype(); + let attribute = Attribute::WRITABLE | Attribute::NON_ENUMERABLE | Attribute::CONFIGURABLE; let uri_error_object = ConstructorBuilder::with_standard_object( context, @@ -47,6 +49,7 @@ impl BuiltIn for UriError { .name(Self::NAME) .length(Self::LENGTH) .inherit(error_prototype) + .custom_prototype(error_constructor) .property("name", Self::NAME, attribute) .property("message", "", attribute) .build();