diff --git a/Libraries/LibWeb/SVG/SVGImageElement.cpp b/Libraries/LibWeb/SVG/SVGImageElement.cpp index 81e15f7630..c13967b89c 100644 --- a/Libraries/LibWeb/SVG/SVGImageElement.cpp +++ b/Libraries/LibWeb/SVG/SVGImageElement.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2024, Tim Ledbetter + * Copyright (c) 2024-2025, Tim Ledbetter * * SPDX-License-Identifier: BSD-2-Clause */ @@ -140,7 +140,13 @@ Gfx::Rect SVGImageElement::bounding_box() const // https://www.w3.org/TR/SVG2/linking.html#processingURL void SVGImageElement::process_the_url(Optional 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; diff --git a/Tests/LibWeb/Ref/expected/svg-image-in-iframe-ref.html b/Tests/LibWeb/Ref/expected/svg-image-in-iframe-ref.html new file mode 100644 index 0000000000..0f86d83372 --- /dev/null +++ b/Tests/LibWeb/Ref/expected/svg-image-in-iframe-ref.html @@ -0,0 +1,2 @@ + + diff --git a/Tests/LibWeb/Ref/input/svg-image-in-iframe.html b/Tests/LibWeb/Ref/input/svg-image-in-iframe.html new file mode 100644 index 0000000000..e8dc13a72c --- /dev/null +++ b/Tests/LibWeb/Ref/input/svg-image-in-iframe.html @@ -0,0 +1,3 @@ + + +