LibWeb: Resolve SVGImageElement source URL correctly

This fixes an issue where an SVGImageElement, whose source was a
relative URL would not load inside an iframe.
This commit is contained in:
Tim Ledbetter 2025-01-19 08:29:19 +00:00 committed by Alexander Kalenik
parent b7512deada
commit 400aefb784
Notes: github-actions[bot] 2025-01-19 14:03:31 +00:00
3 changed files with 13 additions and 2 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2024, Tim Ledbetter <tim.ledbetter@ladybird.org>
* Copyright (c) 2024-2025, Tim Ledbetter <tim.ledbetter@ladybird.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
@ -140,7 +140,13 @@ Gfx::Rect<CSSPixels> SVGImageElement::bounding_box() const
// https://www.w3.org/TR/SVG2/linking.html#processingURL
void SVGImageElement::process_the_url(Optional<String> const& href)
{
m_href = document().url().complete_url(href.value_or(String {}));
if (!href.has_value()) {
m_href = {};
return;
}
m_href = document().parse_url(*href);
if (!m_href.is_valid())
return;