diff options
author | Linus Groh <mail@linusgroh.de> | 2022-08-16 00:20:49 +0100 |
---|---|---|
committer | Linus Groh <mail@linusgroh.de> | 2022-08-23 13:58:30 +0100 |
commit | ecd163bdf1cbf8c9bca9e209a385a41ff5ca4f81 (patch) | |
tree | 3124e71500f8685c6bceff4c56b309f8f89ca58d /Userland/Libraries/LibJS/Contrib/Test262/$262Object.cpp | |
parent | 4c300cc5e864098f37239acec3c603a8c9079307 (diff) | |
download | serenity-ecd163bdf1cbf8c9bca9e209a385a41ff5ca4f81.zip |
LibJS+LibWeb: Replace GlobalObject with Realm in object constructors
No functional changes - we can still very easily get to the global
object via `Realm::global_object()`. This is in preparation of moving
the intrinsics to the realm and no longer having to pass a global
object when allocating any object.
In a few (now, and many more in subsequent commits) places we get a
realm using `GlobalObject::associated_realm()`, this is intended to be
temporary. For example, create() functions will later receive the same
treatment and are passed a realm instead of a global object.
Diffstat (limited to 'Userland/Libraries/LibJS/Contrib/Test262/$262Object.cpp')
-rw-r--r-- | Userland/Libraries/LibJS/Contrib/Test262/$262Object.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/Userland/Libraries/LibJS/Contrib/Test262/$262Object.cpp b/Userland/Libraries/LibJS/Contrib/Test262/$262Object.cpp index 23b2e206a3..ef3fdc30e0 100644 --- a/Userland/Libraries/LibJS/Contrib/Test262/$262Object.cpp +++ b/Userland/Libraries/LibJS/Contrib/Test262/$262Object.cpp @@ -18,8 +18,8 @@ namespace JS::Test262 { -$262Object::$262Object(JS::GlobalObject& global_object) - : Object(Object::ConstructWithoutPrototypeTag::Tag, global_object) +$262Object::$262Object(Realm& realm) + : Object(Object::ConstructWithoutPrototypeTag::Tag, realm) { } @@ -27,8 +27,9 @@ void $262Object::initialize(JS::GlobalObject& global_object) { Base::initialize(global_object); - m_agent = vm().heap().allocate<AgentObject>(global_object, global_object); - m_is_htmldda = vm().heap().allocate<IsHTMLDDA>(global_object, global_object); + auto& realm = *global_object.associated_realm(); + m_agent = vm().heap().allocate<AgentObject>(global_object, realm); + m_is_htmldda = vm().heap().allocate<IsHTMLDDA>(global_object, realm); u8 attr = Attribute::Writable | Attribute::Configurable; define_native_function("clearKeptObjects", clear_kept_objects, 0, attr); |