From ffb23db57ff120294944c70a0b967a517a6477d4 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 1 Aug 2022 16:42:11 +0200 Subject: [PATCH] LibWeb: Add browsing context "still on its initial about:blank Document" --- Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp | 11 +++++++++++ Userland/Libraries/LibWeb/HTML/BrowsingContext.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp b/Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp index 2e68a8b447..24dcacbfd1 100644 --- a/Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp +++ b/Userland/Libraries/LibWeb/HTML/BrowsingContext.cpp @@ -541,4 +541,15 @@ BrowsingContext* BrowsingContext::choose_a_browsing_context(StringView name, boo return chosen; } +// https://html.spec.whatwg.org/multipage/dom.html#still-on-its-initial-about:blank-document +bool BrowsingContext::still_on_its_initial_about_blank_document() const +{ + // A browsing context browsingContext is still on its initial about:blank Document + // if browsingContext's session history's size is 1 + // and browsingContext's session history[0]'s document's is initial about:blank is true. + return m_session_history.size() == 1 + && m_session_history[0].document + && m_session_history[0].document->is_initial_about_blank(); +} + } diff --git a/Userland/Libraries/LibWeb/HTML/BrowsingContext.h b/Userland/Libraries/LibWeb/HTML/BrowsingContext.h index 7ae35ee318..f519cf4948 100644 --- a/Userland/Libraries/LibWeb/HTML/BrowsingContext.h +++ b/Userland/Libraries/LibWeb/HTML/BrowsingContext.h @@ -116,6 +116,9 @@ public: Vector& session_history() { return m_session_history; } Vector const& session_history() const { return m_session_history; } + // https://html.spec.whatwg.org/multipage/dom.html#still-on-its-initial-about:blank-document + bool still_on_its_initial_about_blank_document() const; + private: explicit BrowsingContext(Page&, HTML::BrowsingContextContainer*);