diff --git a/Libraries/LibWeb/HTML/BrowsingContext.cpp b/Libraries/LibWeb/HTML/BrowsingContext.cpp
index 9592f795d1f..5abbbf51257 100644
--- a/Libraries/LibWeb/HTML/BrowsingContext.cpp
+++ b/Libraries/LibWeb/HTML/BrowsingContext.cpp
@@ -9,28 +9,20 @@
#include
#include
#include
-#include
#include
-#include
#include
#include
-#include
-#include
-#include
#include
#include
-#include
#include
#include
#include
#include
#include
#include
-#include
#include
#include
#include
-#include
namespace Web::HTML {
@@ -312,7 +304,7 @@ void BrowsingContext::visit_edges(Cell::Visitor& visitor)
}
// https://html.spec.whatwg.org/multipage/document-sequences.html#bc-traversable
-GC::Ref BrowsingContext::top_level_traversable() const
+GC::Ref BrowsingContext::top_level_traversable() const
{
// A browsing context's top-level traversable is its active document's node navigable's top-level traversable.
auto traversable = active_document()->navigable()->top_level_traversable();
@@ -435,15 +427,6 @@ BrowsingContext const* BrowsingContext::the_one_permitted_sandboxed_navigator()
return nullptr;
}
-GC::Ptr BrowsingContext::first_child() const
-{
- return m_first_child;
-}
-GC::Ptr BrowsingContext::next_sibling() const
-{
- return m_next_sibling;
-}
-
// https://html.spec.whatwg.org/multipage/document-sequences.html#ancestor-browsing-context
bool BrowsingContext::is_ancestor_of(BrowsingContext const& potential_descendant) const
{
diff --git a/Libraries/LibWeb/HTML/BrowsingContext.h b/Libraries/LibWeb/HTML/BrowsingContext.h
index fd027bfaaaf..d0f5bf30256 100644
--- a/Libraries/LibWeb/HTML/BrowsingContext.h
+++ b/Libraries/LibWeb/HTML/BrowsingContext.h
@@ -6,24 +6,13 @@
#pragma once
-#include
#include
-#include
-#include
-#include
-#include
-#include
-#include
#include
#include
-#include
#include
#include
#include
#include
-#include
-#include
-#include
namespace Web::HTML {
@@ -42,58 +31,11 @@ public:
virtual ~BrowsingContext() override;
- GC::Ref top_level_traversable() const;
-
- GC::Ptr first_child() const;
- GC::Ptr next_sibling() const;
+ GC::Ref top_level_traversable() const;
bool is_ancestor_of(BrowsingContext const&) const;
bool is_familiar_with(BrowsingContext const&) const;
- template
- TraversalDecision for_each_in_inclusive_subtree(Callback callback) const
- {
- if (callback(*this) == TraversalDecision::Break)
- return TraversalDecision::Break;
- for (auto child = first_child(); child; child = child->next_sibling()) {
- if (child->for_each_in_inclusive_subtree(callback) == TraversalDecision::Break)
- return TraversalDecision::Break;
- }
- return TraversalDecision::Continue;
- }
-
- template
- TraversalDecision for_each_in_inclusive_subtree(Callback callback)
- {
- if (callback(*this) == TraversalDecision::Break)
- return TraversalDecision::Break;
- for (auto child = first_child(); child; child = child->next_sibling()) {
- if (child->for_each_in_inclusive_subtree(callback) == TraversalDecision::Break)
- return TraversalDecision::Break;
- }
- return TraversalDecision::Continue;
- }
-
- template
- TraversalDecision for_each_in_subtree(Callback callback) const
- {
- for (auto child = first_child(); child; child = child->next_sibling()) {
- if (child->for_each_in_inclusive_subtree(callback) == TraversalDecision::Break)
- return TraversalDecision::Break;
- }
- return TraversalDecision::Continue;
- }
-
- template
- TraversalDecision for_each_in_subtree(Callback callback)
- {
- for (auto child = first_child(); child; child = child->next_sibling()) {
- if (child->for_each_in_inclusive_subtree(callback) == TraversalDecision::Break)
- return TraversalDecision::Break;
- }
- return TraversalDecision::Continue;
- }
-
bool is_top_level() const;
bool is_auxiliary() const { return m_is_auxiliary; }
@@ -147,7 +89,7 @@ private:
GC::Ref m_page;
// https://html.spec.whatwg.org/multipage/document-sequences.html#browsing-context
- GC::Ptr m_window_proxy;
+ GC::Ptr m_window_proxy;
// https://html.spec.whatwg.org/multipage/browsers.html#opener-browsing-context
GC::Ptr m_opener_browsing_context;
diff --git a/Libraries/LibWeb/XHR/XMLHttpRequest.cpp b/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
index cdf536d06d3..e28aba712ad 100644
--- a/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
+++ b/Libraries/LibWeb/XHR/XMLHttpRequest.cpp
@@ -47,6 +47,7 @@
#include
#include
#include
+#include
#include
#include
#include
diff --git a/Services/WebContent/ConnectionFromClient.cpp b/Services/WebContent/ConnectionFromClient.cpp
index 0bd32fa6bdd..4a9db43f0d0 100644
--- a/Services/WebContent/ConnectionFromClient.cpp
+++ b/Services/WebContent/ConnectionFromClient.cpp
@@ -439,14 +439,11 @@ void ConnectionFromClient::inspect_dom_node(u64 page_id, Web::UniqueNodeID const
if (!page.has_value())
return;
- auto& top_context = page->page().top_level_browsing_context();
-
- top_context.for_each_in_inclusive_subtree([&](auto& ctx) {
- if (ctx.active_document() != nullptr) {
- ctx.active_document()->set_inspected_node(nullptr, {});
+ for (auto& navigable : Web::HTML::all_navigables()) {
+ if (navigable->active_document() != nullptr) {
+ navigable->active_document()->set_inspected_node(nullptr, {});
}
- return Web::TraversalDecision::Continue;
- });
+ }
auto* node = Web::DOM::Node::from_unique_id(node_id);
// Note: Nodes without layout (aka non-visible nodes, don't have style computed)