1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 10:48:13 +00:00

LibWeb: Use browsing context creator URL for about:blank documents

In about:blank documents, we should use the browsing context's creator
URL as the base URL, if it exists and there is no <base> element.
This means that any about:blank frames will have URLs parse relative to
their parent frame's URL.

Fixes #17394.
This commit is contained in:
Luke Wilde 2023-02-21 17:08:01 +00:00 committed by Linus Groh
parent e294c96aef
commit 2ca8cf49ca
2 changed files with 6 additions and 1 deletions

View file

@ -777,7 +777,10 @@ JS::GCPtr<HTML::HTMLBaseElement> Document::first_base_element_with_href_in_tree_
AK::URL Document::fallback_base_url() const
{
// FIXME: 1. If document is an iframe srcdoc document, then return the document base URL of document's browsing context's container document.
// FIXME: 2. If document's URL is about:blank, and document's browsing context's creator base URL is non-null, then return that creator base URL.
// 2. If document's URL is about:blank, and document's browsing context's creator base URL is non-null, then return that creator base URL.
if (m_url == "about:blank"sv && browsing_context() && browsing_context()->creator_url().has_value())
return browsing_context()->creator_url().value();
// 3. Return document's URL.
return m_url;