diff --git a/Userland/Libraries/LibJS/Runtime/Accessor.h b/Userland/Libraries/LibJS/Runtime/Accessor.h index edc001a35c..52fbaf8e51 100644 --- a/Userland/Libraries/LibJS/Runtime/Accessor.h +++ b/Userland/Libraries/LibJS/Runtime/Accessor.h @@ -30,6 +30,7 @@ public: void visit_edges(Cell::Visitor& visitor) override { + Base::visit_edges(visitor); visitor.visit(m_getter); visitor.visit(m_setter); } diff --git a/Userland/Libraries/LibJS/Runtime/Environment.cpp b/Userland/Libraries/LibJS/Runtime/Environment.cpp index cfed895af0..8890f96b03 100644 --- a/Userland/Libraries/LibJS/Runtime/Environment.cpp +++ b/Userland/Libraries/LibJS/Runtime/Environment.cpp @@ -16,7 +16,7 @@ Environment::Environment(Environment* outer_environment) void Environment::visit_edges(Visitor& visitor) { - Cell::visit_edges(visitor); + Base::visit_edges(visitor); visitor.visit(m_outer_environment); } diff --git a/Userland/Libraries/LibJS/Runtime/Intrinsics.cpp b/Userland/Libraries/LibJS/Runtime/Intrinsics.cpp index 93abad707a..95f8cfc465 100644 --- a/Userland/Libraries/LibJS/Runtime/Intrinsics.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intrinsics.cpp @@ -345,6 +345,7 @@ JS_ENUMERATE_BUILTIN_NAMESPACE_OBJECTS void Intrinsics::visit_edges(Visitor& visitor) { + Base::visit_edges(visitor); visitor.visit(m_realm); visitor.visit(m_empty_object_shape); visitor.visit(m_new_object_shape); diff --git a/Userland/Libraries/LibJS/Runtime/Object.cpp b/Userland/Libraries/LibJS/Runtime/Object.cpp index d753894077..e495dc1658 100644 --- a/Userland/Libraries/LibJS/Runtime/Object.cpp +++ b/Userland/Libraries/LibJS/Runtime/Object.cpp @@ -1341,7 +1341,7 @@ Optional Object::enumerate_object_properties(Function promise, GCPtr capability, void PromiseReaction::visit_edges(Cell::Visitor& visitor) { - Cell::visit_edges(visitor); + Base::visit_edges(visitor); visitor.visit(m_capability); } diff --git a/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp b/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp index 54a7268daa..f50c486b91 100644 --- a/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp +++ b/Userland/Libraries/LibJS/Runtime/PromiseResolvingElementFunctions.cpp @@ -15,7 +15,7 @@ namespace JS { void PromiseValueList::visit_edges(Visitor& visitor) { - Cell::visit_edges(visitor); + Base::visit_edges(visitor); for (auto& val : m_values) visitor.visit(val); } diff --git a/Userland/Libraries/LibJS/Runtime/Shape.cpp b/Userland/Libraries/LibJS/Runtime/Shape.cpp index 07703a36ef..2e3ab7b415 100644 --- a/Userland/Libraries/LibJS/Runtime/Shape.cpp +++ b/Userland/Libraries/LibJS/Runtime/Shape.cpp @@ -114,7 +114,7 @@ Shape::Shape(Shape& previous_shape, Object* new_prototype) void Shape::visit_edges(Cell::Visitor& visitor) { - Cell::visit_edges(visitor); + Base::visit_edges(visitor); visitor.visit(m_realm); visitor.visit(m_prototype); visitor.visit(m_previous); diff --git a/Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp b/Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp index 8ad08a11a1..1242a92ec7 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp +++ b/Userland/Libraries/LibWeb/DOM/DOMEventListener.cpp @@ -15,7 +15,7 @@ DOMEventListener::~DOMEventListener() = default; void DOMEventListener::visit_edges(Cell::Visitor& visitor) { - Cell::visit_edges(visitor); + Base::visit_edges(visitor); visitor.visit(callback.ptr()); visitor.visit(signal.ptr()); } diff --git a/Userland/Libraries/LibWeb/DOM/DOMEventListener.h b/Userland/Libraries/LibWeb/DOM/DOMEventListener.h index 87a3b744a8..fa0f8bbec0 100644 --- a/Userland/Libraries/LibWeb/DOM/DOMEventListener.h +++ b/Userland/Libraries/LibWeb/DOM/DOMEventListener.h @@ -16,6 +16,8 @@ namespace Web::DOM { // https://dom.spec.whatwg.org/#concept-event-listener // NOTE: The spec calls this "event listener", and it's *importantly* not the same as "EventListener" class DOMEventListener : public JS::Cell { + JS_CELL(DOMEventListener, JS::Cell); + public: DOMEventListener(); ~DOMEventListener(); @@ -43,7 +45,6 @@ public: private: virtual void visit_edges(Cell::Visitor&) override; - virtual StringView class_name() const override { return "DOMEventListener"sv; } }; } diff --git a/Userland/Libraries/LibWeb/HTML/EventHandler.cpp b/Userland/Libraries/LibWeb/HTML/EventHandler.cpp index 8f95864baf..e6d5b26b7f 100644 --- a/Userland/Libraries/LibWeb/HTML/EventHandler.cpp +++ b/Userland/Libraries/LibWeb/HTML/EventHandler.cpp @@ -21,7 +21,7 @@ EventHandler::EventHandler(WebIDL::CallbackType& c) void EventHandler::visit_edges(Cell::Visitor& visitor) { - Cell::visit_edges(visitor); + Base::visit_edges(visitor); visitor.visit(listener); if (auto* callback = value.get_pointer>()) diff --git a/Userland/Libraries/LibWeb/HTML/EventHandler.h b/Userland/Libraries/LibWeb/HTML/EventHandler.h index af299c92f5..2af98558fb 100644 --- a/Userland/Libraries/LibWeb/HTML/EventHandler.h +++ b/Userland/Libraries/LibWeb/HTML/EventHandler.h @@ -14,6 +14,8 @@ namespace Web::HTML { class EventHandler final : public JS::Cell { + JS_CELL(EventHandler, JS::Cell); + public: explicit EventHandler(DeprecatedString); explicit EventHandler(WebIDL::CallbackType&); @@ -29,7 +31,6 @@ public: JS::GCPtr listener; private: - virtual StringView class_name() const override { return "EventHandler"sv; } virtual void visit_edges(Cell::Visitor&) override; }; diff --git a/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp b/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp index f5eee777cb..105f766d20 100644 --- a/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp +++ b/Userland/Libraries/LibWeb/HTML/Scripting/WindowEnvironmentSettingsObject.cpp @@ -22,7 +22,7 @@ WindowEnvironmentSettingsObject::~WindowEnvironmentSettingsObject() = default; void WindowEnvironmentSettingsObject::visit_edges(JS::Cell::Visitor& visitor) { - EnvironmentSettingsObject::visit_edges(visitor); + Base::visit_edges(visitor); visitor.visit(m_window.ptr()); } diff --git a/Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp b/Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp index fd69121543..df3292b334 100644 --- a/Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp +++ b/Userland/Libraries/LibWeb/WebIDL/CallbackType.cpp @@ -17,10 +17,9 @@ CallbackType::CallbackType(JS::Object& callback, HTML::EnvironmentSettingsObject { } -StringView CallbackType::class_name() const { return "CallbackType"sv; } void CallbackType::visit_edges(Cell::Visitor& visitor) { - Cell::visit_edges(visitor); + Base::visit_edges(visitor); visitor.visit(callback); visitor.visit(callback_context); } diff --git a/Userland/Libraries/LibWeb/WebIDL/CallbackType.h b/Userland/Libraries/LibWeb/WebIDL/CallbackType.h index ff1421ff09..daff83ac33 100644 --- a/Userland/Libraries/LibWeb/WebIDL/CallbackType.h +++ b/Userland/Libraries/LibWeb/WebIDL/CallbackType.h @@ -19,6 +19,8 @@ enum class OperationReturnsPromise { // https://webidl.spec.whatwg.org/#idl-callback-interface class CallbackType final : public JS::Cell { + JS_CELL(CallbackType, JS::Cell); + public: CallbackType(JS::Object& callback, HTML::EnvironmentSettingsObject& callback_context, OperationReturnsPromise = OperationReturnsPromise::No); @@ -31,7 +33,6 @@ public: OperationReturnsPromise operation_returns_promise; private: - virtual StringView class_name() const override; virtual void visit_edges(Cell::Visitor&) override; };