From 34ea470d4f23156002b6964a4be93cfa8d18ea40 Mon Sep 17 00:00:00 2001 From: Andrew Kaster Date: Thu, 24 Aug 2023 16:18:40 -0600 Subject: [PATCH] LibWeb: Add AO for navigation_must_be_a_replace to Navigable This is used by both Navigable and Navigation, so let's put it in Navigable. Also add a missing AK/String include to make clangd happier with the Navigable file. --- Userland/Libraries/LibWeb/HTML/Navigable.cpp | 6 ++++++ Userland/Libraries/LibWeb/HTML/Navigable.h | 3 +++ 2 files changed, 9 insertions(+) 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); + }