mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-07 18:17:23 +00:00
LibWeb: Move TraversableNavigable::m_page up to Navigable
This will allow anyone who has a Navigable to reach the Page.
This commit is contained in:
parent
dc4192c149
commit
9cd4a65071
Notes:
sideshowbarker
2024-07-16 20:12:13 +09:00
Author: https://github.com/awesomekling
Commit: 9cd4a65071
Pull-request: https://github.com/SerenityOS/serenity/pull/24123
4 changed files with 11 additions and 10 deletions
|
@ -101,7 +101,8 @@ bool Navigable::is_ancestor_of(JS::NonnullGCPtr<Navigable> other) const
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Navigable::Navigable()
|
Navigable::Navigable(JS::NonnullGCPtr<Page> page)
|
||||||
|
: m_page(page)
|
||||||
{
|
{
|
||||||
all_navigables().set(this);
|
all_navigables().set(this);
|
||||||
}
|
}
|
||||||
|
@ -114,6 +115,7 @@ Navigable::~Navigable()
|
||||||
void Navigable::visit_edges(Cell::Visitor& visitor)
|
void Navigable::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
|
visitor.visit(m_page);
|
||||||
visitor.visit(m_parent);
|
visitor.visit(m_parent);
|
||||||
visitor.visit(m_current_session_history_entry);
|
visitor.visit(m_current_session_history_entry);
|
||||||
visitor.visit(m_active_session_history_entry);
|
visitor.visit(m_active_session_history_entry);
|
||||||
|
|
|
@ -183,8 +183,11 @@ public:
|
||||||
};
|
};
|
||||||
void paint(Painting::RecordingPainter&, PaintConfig);
|
void paint(Painting::RecordingPainter&, PaintConfig);
|
||||||
|
|
||||||
|
Page& page() { return m_page; }
|
||||||
|
Page const& page() const { return m_page; }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
Navigable();
|
explicit Navigable(JS::NonnullGCPtr<Page>);
|
||||||
|
|
||||||
virtual void visit_edges(Cell::Visitor&) override;
|
virtual void visit_edges(Cell::Visitor&) override;
|
||||||
|
|
||||||
|
@ -220,6 +223,8 @@ private:
|
||||||
// Implied link between navigable and its container.
|
// Implied link between navigable and its container.
|
||||||
JS::GCPtr<NavigableContainer> m_container;
|
JS::GCPtr<NavigableContainer> m_container;
|
||||||
|
|
||||||
|
JS::NonnullGCPtr<Page> m_page;
|
||||||
|
|
||||||
bool m_has_been_destroyed { false };
|
bool m_has_been_destroyed { false };
|
||||||
|
|
||||||
CSSPixelSize m_size;
|
CSSPixelSize m_size;
|
||||||
|
|
|
@ -23,8 +23,8 @@ namespace Web::HTML {
|
||||||
JS_DEFINE_ALLOCATOR(TraversableNavigable);
|
JS_DEFINE_ALLOCATOR(TraversableNavigable);
|
||||||
|
|
||||||
TraversableNavigable::TraversableNavigable(JS::NonnullGCPtr<Page> page)
|
TraversableNavigable::TraversableNavigable(JS::NonnullGCPtr<Page> page)
|
||||||
: m_session_history_traversal_queue(vm().heap().allocate_without_realm<SessionHistoryTraversalQueue>())
|
: Navigable(page)
|
||||||
, m_page(page)
|
, m_session_history_traversal_queue(vm().heap().allocate_without_realm<SessionHistoryTraversalQueue>())
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,7 +33,6 @@ TraversableNavigable::~TraversableNavigable() = default;
|
||||||
void TraversableNavigable::visit_edges(Cell::Visitor& visitor)
|
void TraversableNavigable::visit_edges(Cell::Visitor& visitor)
|
||||||
{
|
{
|
||||||
Base::visit_edges(visitor);
|
Base::visit_edges(visitor);
|
||||||
visitor.visit(m_page);
|
|
||||||
visitor.visit(m_session_history_entries);
|
visitor.visit(m_session_history_entries);
|
||||||
visitor.visit(m_session_history_traversal_queue);
|
visitor.visit(m_session_history_traversal_queue);
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,9 +79,6 @@ public:
|
||||||
m_session_history_traversal_queue->append_sync(move(steps), target_navigable);
|
m_session_history_traversal_queue->append_sync(move(steps), target_navigable);
|
||||||
}
|
}
|
||||||
|
|
||||||
Page& page() { return m_page; }
|
|
||||||
Page const& page() const { return m_page; }
|
|
||||||
|
|
||||||
String window_handle() const { return m_window_handle; }
|
String window_handle() const { return m_window_handle; }
|
||||||
void set_window_handle(String window_handle) { m_window_handle = move(window_handle); }
|
void set_window_handle(String window_handle) { m_window_handle = move(window_handle); }
|
||||||
|
|
||||||
|
@ -120,8 +117,6 @@ private:
|
||||||
|
|
||||||
JS::NonnullGCPtr<SessionHistoryTraversalQueue> m_session_history_traversal_queue;
|
JS::NonnullGCPtr<SessionHistoryTraversalQueue> m_session_history_traversal_queue;
|
||||||
|
|
||||||
JS::NonnullGCPtr<Page> m_page;
|
|
||||||
|
|
||||||
String m_window_handle;
|
String m_window_handle;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue