mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 16:17:45 +00:00
LibJS: Add [[GlobalThisValue]] internal slot to GlobalEnvironment
Instead of hardcoding the environment's global object as the return value of GlobalEnvironment::global_this_value(), it now stores an Object reference which is passed to the constructor for this purpose. From the spec (https://tc39.es/ecma262/#sec-global-environment-records): [[GlobalThisValue]] | Object | The value returned by this in global scope. Hosts may provide any ECMAScript Object value.
This commit is contained in:
parent
2b8d5696ab
commit
1e79934acf
4 changed files with 13 additions and 18 deletions
|
@ -129,7 +129,7 @@ void GlobalObject::initialize_global_object()
|
|||
m_object_prototype = heap().allocate_without_global_object<ObjectPrototype>(*this);
|
||||
m_function_prototype = heap().allocate_without_global_object<FunctionPrototype>(*this);
|
||||
|
||||
m_environment = heap().allocate<GlobalEnvironment>(*this, *this);
|
||||
m_environment = heap().allocate<GlobalEnvironment>(*this, *this, *this);
|
||||
|
||||
m_new_object_shape = vm.heap().allocate_without_global_object<Shape>(*this);
|
||||
m_new_object_shape->set_prototype_without_transition(m_object_prototype);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue