From 4f7a4d9c578429b156f4dab78f4f8b0601be9f39 Mon Sep 17 00:00:00 2001 From: Tim Ledbetter Date: Wed, 14 Aug 2024 23:52:11 +0100 Subject: [PATCH] LibWeb: Return empty string if image element `currentSrc` URL is invalid --- .../expected/HTML/invalid-url-attribute-values.txt | 1 + .../input/HTML/invalid-url-attribute-values.html | 14 ++++++++++++++ .../Libraries/LibWeb/HTML/HTMLImageElement.cpp | 5 ++++- 3 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 Tests/LibWeb/Text/expected/HTML/invalid-url-attribute-values.txt create mode 100644 Tests/LibWeb/Text/input/HTML/invalid-url-attribute-values.html diff --git a/Tests/LibWeb/Text/expected/HTML/invalid-url-attribute-values.txt b/Tests/LibWeb/Text/expected/HTML/invalid-url-attribute-values.txt new file mode 100644 index 00000000000..f81301b614f --- /dev/null +++ b/Tests/LibWeb/Text/expected/HTML/invalid-url-attribute-values.txt @@ -0,0 +1 @@ +img.currentSrc default value: '' diff --git a/Tests/LibWeb/Text/input/HTML/invalid-url-attribute-values.html b/Tests/LibWeb/Text/input/HTML/invalid-url-attribute-values.html new file mode 100644 index 00000000000..301d93b7362 --- /dev/null +++ b/Tests/LibWeb/Text/input/HTML/invalid-url-attribute-values.html @@ -0,0 +1,14 @@ + + + diff --git a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp index dea71c5a84e..8fed960774d 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp @@ -275,7 +275,10 @@ bool HTMLImageElement::complete() const String HTMLImageElement::current_src() const { // The currentSrc IDL attribute must return the img element's current request's current URL. - return MUST(m_current_request->current_url().to_string()); + auto current_url = m_current_request->current_url(); + if (!current_url.is_valid()) + return {}; + return MUST(current_url.to_string()); } // https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-decode