From 34439a04e8e2147c429a7eb9515cd550a7e156b9 Mon Sep 17 00:00:00 2001 From: Hendiadyoin1 Date: Tue, 13 Sep 2022 16:05:51 +0200 Subject: [PATCH] LibWeb: Add a visit_edges for DOM/Event --- Userland/Libraries/LibWeb/DOM/Event.cpp | 17 +++++++++++++++++ Userland/Libraries/LibWeb/DOM/Event.h | 1 + 2 files changed, 18 insertions(+) diff --git a/Userland/Libraries/LibWeb/DOM/Event.cpp b/Userland/Libraries/LibWeb/DOM/Event.cpp index 9053ea5567..7527725c82 100644 --- a/Userland/Libraries/LibWeb/DOM/Event.cpp +++ b/Userland/Libraries/LibWeb/DOM/Event.cpp @@ -41,6 +41,23 @@ Event::Event(HTML::Window& window, FlyString const& type, EventInit const& event { } +void Event::visit_edges(Visitor& visitor) +{ + Base::visit_edges(visitor); + visitor.visit(m_target.ptr()); + visitor.visit(m_related_target.ptr()); + visitor.visit(m_current_target.ptr()); + for (auto& it : m_path) { + visitor.visit(it.invocation_target.ptr()); + visitor.visit(it.shadow_adjusted_target.ptr()); + visitor.visit(it.related_target.ptr()); + for (auto& itit : it.touch_target_list) + visitor.visit(itit.ptr()); + } + for (auto& it : m_touch_target_list) + visitor.visit(it.ptr()); +} + // https://dom.spec.whatwg.org/#concept-event-path-append void Event::append_to_path(EventTarget& invocation_target, JS::GCPtr shadow_adjusted_target, JS::GCPtr related_target, TouchTargetList& touch_targets, bool slot_in_closed_tree) { diff --git a/Userland/Libraries/LibWeb/DOM/Event.h b/Userland/Libraries/LibWeb/DOM/Event.h index d4cb3edd34..af41e26b86 100644 --- a/Userland/Libraries/LibWeb/DOM/Event.h +++ b/Userland/Libraries/LibWeb/DOM/Event.h @@ -146,6 +146,7 @@ public: protected: void initialize_event(String const&, bool, bool); + virtual void visit_edges(Visitor&) override; private: FlyString m_type;