From 7e2d9bfd5305c4a9d30b8674e9adbd1030f70bda Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Fri, 29 Dec 2023 18:25:04 +0100 Subject: [PATCH] LibWeb: Avoid String<->ByteString src conversion in HTMLImageElement We already have the src attribute stored as a String, so it's completely wasteful to convert it to a ByteString. We were even doing it twice when loading each image. --- Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp index 99684abcb5..ccf25fe743 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLImageElement.cpp @@ -353,8 +353,9 @@ ErrorOr HTMLImageElement::update_the_image_data(bool restart_animations, b // and it has a src attribute specified whose value is not the empty string, // then set selected source to the value of the element's src attribute // and set selected pixel density to 1.0. - if (!uses_srcset_or_picture() && has_attribute(HTML::AttributeNames::src) && !deprecated_attribute(HTML::AttributeNames::src).is_empty()) { - selected_source = TRY(String::from_byte_string(deprecated_attribute(HTML::AttributeNames::src))); + auto maybe_src_attribute = attribute(HTML::AttributeNames::src); + if (!uses_srcset_or_picture() && maybe_src_attribute.has_value() && !maybe_src_attribute.value().is_empty()) { + selected_source = maybe_src_attribute.release_value(); selected_pixel_density = 1.0f; }