From 14fb6372c354bd8e7a161ebac1ad49fc08d234f3 Mon Sep 17 00:00:00 2001 From: Luke Wilde Date: Wed, 29 Mar 2023 01:17:38 +0100 Subject: [PATCH] LibWeb: Parse Element.style url functions relative to the document Previously we used a parsing context with no access to the document, so any URLs in url() functions would become invalid. Fixes the images on Steam's store carousel, which sets Element.style.backgroundImage to url() functions. --- Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp index a44712e99a..03ab7bbd85 100644 --- a/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp +++ b/Userland/Libraries/LibWeb/CSS/CSSStyleDeclaration.cpp @@ -93,7 +93,9 @@ WebIDL::ExceptionOr PropertyOwningCSSStyleDeclaration::set_property(Proper return {}; // 5. Let component value list be the result of parsing value for property property. - auto component_value_list = parse_css_value(CSS::Parser::ParsingContext { realm() }, value, property_id); + auto component_value_list = is(this) + ? parse_css_value(CSS::Parser::ParsingContext { static_cast(*this).element()->document() }, value, property_id) + : parse_css_value(CSS::Parser::ParsingContext { realm() }, value, property_id); // 6. If component value list is null, then return. if (!component_value_list)