aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOriol Brufau <obrufau@igalia.com>2023-05-16 09:40:29 +0200
committerOriol Brufau <obrufau@igalia.com>2023-05-16 12:54:55 +0200
commit108c50c6dffd3e15fd1dcff2be2fa33da66c889e (patch)
treead2d184cf4cea0fa0bd0a4a4222b469f54e0d464
parent4cee8cf93748df46cb02bb7d4fc2f2130368cbd8 (diff)
downloadservo-108c50c6dffd3e15fd1dcff2be2fa33da66c889e.tar.gz
servo-108c50c6dffd3e15fd1dcff2be2fa33da66c889e.zip
Further changes required by Servo
-rw-r--r--components/layout/generated_content.rs4
-rw-r--r--components/layout_2020/dom_traversal.rs4
-rw-r--r--components/layout_2020/replaced.rs12
3 files changed, 16 insertions, 4 deletions
diff --git a/components/layout/generated_content.rs b/components/layout/generated_content.rs
index d69ddd65991..89f65732761 100644
--- a/components/layout/generated_content.rs
+++ b/components/layout/generated_content.rs
@@ -272,8 +272,8 @@ impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> {
self.traversal.quote -= 1
}
},
- GeneratedContentInfo::ContentItem(ContentItem::Url(..)) => {
- unreachable!("Servo doesn't parse content: url(..) yet")
+ GeneratedContentInfo::ContentItem(ContentItem::Image(..)) => {
+ unreachable!("Servo doesn't parse content: url(..) nor image-set(..) yet")
},
}
};
diff --git a/components/layout_2020/dom_traversal.rs b/components/layout_2020/dom_traversal.rs
index ab20c88c721..7b619dacf45 100644
--- a/components/layout_2020/dom_traversal.rs
+++ b/components/layout_2020/dom_traversal.rs
@@ -354,9 +354,9 @@ where
attr_val.map_or("".to_string(), |s| s.to_string()),
));
},
- ContentItem::Url(image_url) => {
+ ContentItem::Image(image) => {
if let Some(replaced_content) =
- ReplacedContent::from_image_url(element, context, image_url)
+ ReplacedContent::from_image(element, context, image)
{
vec.push(PseudoElementContentItem::Replaced(replaced_content));
}
diff --git a/components/layout_2020/replaced.rs b/components/layout_2020/replaced.rs
index 50722dab917..642e83f7905 100644
--- a/components/layout_2020/replaced.rs
+++ b/components/layout_2020/replaced.rs
@@ -21,6 +21,7 @@ use std::fmt;
use std::sync::{Arc, Mutex};
use style::properties::ComputedValues;
use style::servo::url::ComputedUrl;
+use style::values::computed::image::Image as ComputedImage;
use style::values::computed::{Length, LengthOrAuto};
use style::values::CSSFloat;
use style::Zero;
@@ -184,6 +185,17 @@ impl ReplacedContent {
None
}
+ pub fn from_image<'dom>(
+ element: impl NodeExt<'dom>,
+ context: &LayoutContext,
+ image: &ComputedImage,
+ ) -> Option<Self> {
+ match image {
+ ComputedImage::Url(image_url) => Self::from_image_url(element, context, image_url),
+ _ => None, // TODO
+ }
+ }
+
fn flow_relative_intrinsic_size(&self, style: &ComputedValues) -> Vec2<Option<Length>> {
let intrinsic_size = PhysicalSize::new(self.intrinsic.width, self.intrinsic.height);
Vec2::from_physical_size(&intrinsic_size, style.writing_mode)