diff --git a/Userland/Libraries/LibWeb/DOM/EditingHostManager.cpp b/Userland/Libraries/LibWeb/DOM/EditingHostManager.cpp index a5161be2c99..47e23408e1e 100644 --- a/Userland/Libraries/LibWeb/DOM/EditingHostManager.cpp +++ b/Userland/Libraries/LibWeb/DOM/EditingHostManager.cpp @@ -6,6 +6,7 @@ #include #include +#include #include #include #include @@ -15,6 +16,23 @@ namespace Web::DOM { JS_DEFINE_ALLOCATOR(EditingHostManager); +JS::NonnullGCPtr EditingHostManager::create(JS::Realm& realm, JS::NonnullGCPtr document) +{ + return realm.heap().allocate(realm, document); +} + +EditingHostManager::EditingHostManager(JS::NonnullGCPtr document) + : m_document(document) +{ +} + +void EditingHostManager::visit_edges(Cell::Visitor& visitor) +{ + Base::visit_edges(visitor); + visitor.visit(m_document); + visitor.visit(m_active_contenteditable_element); +} + void EditingHostManager::handle_insert(String const& data) { auto selection = m_document->get_selection(); diff --git a/Userland/Libraries/LibWeb/DOM/EditingHostManager.h b/Userland/Libraries/LibWeb/DOM/EditingHostManager.h index 7d58bcd420e..c07bc709f6a 100644 --- a/Userland/Libraries/LibWeb/DOM/EditingHostManager.h +++ b/Userland/Libraries/LibWeb/DOM/EditingHostManager.h @@ -9,7 +9,6 @@ #include #include #include -#include #include #include @@ -21,10 +20,7 @@ class EditingHostManager : public JS::Cell JS_DECLARE_ALLOCATOR(EditingHostManager); public: - [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm& realm, JS::NonnullGCPtr document) - { - return realm.heap().allocate(realm, document); - } + [[nodiscard]] static JS::NonnullGCPtr create(JS::Realm&, JS::NonnullGCPtr); virtual void handle_insert(String const&) override; virtual void handle_delete(DeleteDirection) override; @@ -39,24 +35,16 @@ public: virtual void increment_cursor_position_to_next_word(CollapseSelection) override; virtual void decrement_cursor_position_to_previous_word(CollapseSelection) override; - virtual void visit_edges(Cell::Visitor& visitor) override - { - Base::visit_edges(visitor); - visitor.visit(m_document); - visitor.visit(m_active_contenteditable_element); - } + virtual void visit_edges(Cell::Visitor& visitor) override; void set_active_contenteditable_element(JS::GCPtr element) { m_active_contenteditable_element = element; } - EditingHostManager(JS::NonnullGCPtr document) - : m_document(document) - { - } - private: + EditingHostManager(JS::NonnullGCPtr); + JS::NonnullGCPtr m_document; JS::GCPtr m_active_contenteditable_element; };