1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 06:27:45 +00:00

LibJS: Support creation of global object in Realm::set_global_object()

This commit is contained in:
Linus Groh 2022-08-06 01:02:41 +01:00 committed by Andreas Kling
parent c8f1651761
commit 885004abee

View file

@ -75,8 +75,11 @@ void Realm::set_global_object(GlobalObject* global_object, GlobalObject* this_va
{
// 1. If globalObj is undefined, then
if (global_object == nullptr) {
// NOTE: Step 1 is not supported, the global object must be allocated elsewhere.
VERIFY_NOT_REACHED();
// a. Let intrinsics be realmRec.[[Intrinsics]].
// b. Set globalObj to OrdinaryObjectCreate(intrinsics.[[%Object.prototype%]]).
// NOTE: We allocate a proper GlobalObject directly as this plain object is
// turned into one via SetDefaultGlobalBindings in the spec.
global_object = heap().allocate_without_global_object<GlobalObject>(*this);
}
// 2. Assert: Type(globalObj) is Object.