|
@@ -402,18 +402,26 @@ static void set_property_expanding_shorthands(StyleProperties& style, CSS::Prope
|
|
|
continue;
|
|
|
if (!string.ends_with(')'))
|
|
|
continue;
|
|
|
- auto url = string.substring_view(4, string.length() - 5);
|
|
|
- if (url.length() >= 2 && url.starts_with('"') && url.ends_with('"'))
|
|
|
- url = url.substring_view(1, url.length() - 2);
|
|
|
- else if (url.length() >= 2 && url.starts_with('\'') && url.ends_with('\''))
|
|
|
- url = url.substring_view(1, url.length() - 2);
|
|
|
-
|
|
|
- auto background_image_value = ImageStyleValue::create(document.complete_url(url), document);
|
|
|
- style.set_property(CSS::PropertyID::BackgroundImage, move(background_image_value));
|
|
|
+ set_property_expanding_shorthands(style, CSS::PropertyID::BackgroundImage, value, document);
|
|
|
}
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
+ if (property_id == CSS::PropertyID::BackgroundImage) {
|
|
|
+ if (!value.is_string())
|
|
|
+ return;
|
|
|
+ auto string = value.to_string();
|
|
|
+ auto url = string.substring_view(4, string.length() - 5);
|
|
|
+ if (url.length() >= 2 && url.starts_with('"') && url.ends_with('"'))
|
|
|
+ url = url.substring_view(1, url.length() - 2);
|
|
|
+ else if (url.length() >= 2 && url.starts_with('\'') && url.ends_with('\''))
|
|
|
+ url = url.substring_view(1, url.length() - 2);
|
|
|
+
|
|
|
+ auto background_image_value = ImageStyleValue::create(document.complete_url(url), document);
|
|
|
+ style.set_property(CSS::PropertyID::BackgroundImage, move(background_image_value));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
if (property_id == CSS::PropertyID::Margin) {
|
|
|
if (value.is_length()) {
|
|
|
style.set_property(CSS::PropertyID::MarginTop, value);
|