From 4fcff01ef33d6cf5b995ab8253ffa79de2f0ca72 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Wed, 8 Nov 2023 11:39:10 -0700 Subject: [PATCH] LibWeb: Clean up assumptions in Bindings::HostDefined We don't have a 'root execution environment' anymore (thankfully), so we can make sure that the ESO the HostDefined object holds onto is a NonnullGCPtr. --- Userland/Libraries/LibWeb/Bindings/HostDefined.cpp | 2 +- Userland/Libraries/LibWeb/Bindings/HostDefined.h | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibWeb/Bindings/HostDefined.cpp b/Userland/Libraries/LibWeb/Bindings/HostDefined.cpp index 3d4a8d6ac4..1523201e1f 100644 --- a/Userland/Libraries/LibWeb/Bindings/HostDefined.cpp +++ b/Userland/Libraries/LibWeb/Bindings/HostDefined.cpp @@ -16,7 +16,7 @@ void HostDefined::visit_edges(JS::Cell::Visitor& visitor) { JS::Realm::HostDefined::visit_edges(visitor); visitor.visit(environment_settings_object); - visitor.visit(*intrinsics); + visitor.visit(intrinsics); } } diff --git a/Userland/Libraries/LibWeb/Bindings/HostDefined.h b/Userland/Libraries/LibWeb/Bindings/HostDefined.h index b57512980c..ab8c7d77bf 100644 --- a/Userland/Libraries/LibWeb/Bindings/HostDefined.h +++ b/Userland/Libraries/LibWeb/Bindings/HostDefined.h @@ -14,7 +14,7 @@ namespace Web::Bindings { struct HostDefined : public JS::Realm::HostDefined { - HostDefined(JS::GCPtr eso, JS::NonnullGCPtr intrinsics) + HostDefined(JS::NonnullGCPtr eso, JS::NonnullGCPtr intrinsics) : environment_settings_object(eso) , intrinsics(intrinsics) { @@ -22,8 +22,7 @@ struct HostDefined : public JS::Realm::HostDefined { virtual ~HostDefined() override = default; virtual void visit_edges(JS::Cell::Visitor& visitor) override; - // NOTE: Only the root execution environment in the main thread VM ever sets this to nullptr - JS::GCPtr environment_settings_object; + JS::NonnullGCPtr environment_settings_object; JS::NonnullGCPtr intrinsics; };