diff options
author | Oriol Brufau <obrufau@igalia.com> | 2023-05-16 09:40:29 +0200 |
---|---|---|
committer | Oriol Brufau <obrufau@igalia.com> | 2023-05-16 12:54:55 +0200 |
commit | 108c50c6dffd3e15fd1dcff2be2fa33da66c889e (patch) | |
tree | ad2d184cf4cea0fa0bd0a4a4222b469f54e0d464 | |
parent | 4cee8cf93748df46cb02bb7d4fc2f2130368cbd8 (diff) | |
download | servo-108c50c6dffd3e15fd1dcff2be2fa33da66c889e.tar.gz servo-108c50c6dffd3e15fd1dcff2be2fa33da66c889e.zip |
Further changes required by Servo
-rw-r--r-- | components/layout/generated_content.rs | 4 | ||||
-rw-r--r-- | components/layout_2020/dom_traversal.rs | 4 | ||||
-rw-r--r-- | components/layout_2020/replaced.rs | 12 |
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) |