mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-01-03 07:07:23 +00:00
LibJS: Explicitly pass a "Function& new_target" to Function::construct
This allows the proxy handler to pass the proper new.target to construct handlers.
This commit is contained in:
committed by
Andreas Kling
parent
19411e22d0
commit
bda39ef7ab
@@ -54,14 +54,14 @@ Value BoundFunction::call(Interpreter& interpreter)
|
||||
return m_target_function->call(interpreter);
|
||||
}
|
||||
|
||||
Value BoundFunction::construct(Interpreter& interpreter)
|
||||
Value BoundFunction::construct(Interpreter& interpreter, Function& new_target)
|
||||
{
|
||||
if (auto this_value = interpreter.this_value(global_object()); m_constructor_prototype && this_value.is_object()) {
|
||||
this_value.as_object().set_prototype(m_constructor_prototype);
|
||||
if (interpreter.exception())
|
||||
return {};
|
||||
}
|
||||
return m_target_function->construct(interpreter);
|
||||
return m_target_function->construct(interpreter, new_target);
|
||||
}
|
||||
|
||||
LexicalEnvironment* BoundFunction::create_environment()
|
||||
|
||||
Reference in New Issue
Block a user