diff --git a/Userland/Libraries/LibWeb/HTML/Navigable.cpp b/Userland/Libraries/LibWeb/HTML/Navigable.cpp index b11db3a0b5..e7bcf2440e 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigable.cpp +++ b/Userland/Libraries/LibWeb/HTML/Navigable.cpp @@ -1113,4 +1113,10 @@ void Navigable::reload() }); } +// https://html.spec.whatwg.org/multipage/browsing-the-web.html#the-navigation-must-be-a-replace +bool navigation_must_be_a_replace(AK::URL const& url, DOM::Document const& document) +{ + return url.scheme() == "javascript"sv || document.is_initial_about_blank(); +} + } diff --git a/Userland/Libraries/LibWeb/HTML/Navigable.h b/Userland/Libraries/LibWeb/HTML/Navigable.h index 32bd6eed2a..f8f9f610d7 100644 --- a/Userland/Libraries/LibWeb/HTML/Navigable.h +++ b/Userland/Libraries/LibWeb/HTML/Navigable.h @@ -7,6 +7,7 @@ #pragma once +#include #include #include #include @@ -135,4 +136,6 @@ private: JS::GCPtr m_container; }; +bool navigation_must_be_a_replace(AK::URL const& url, DOM::Document const& document); + }