diff options
author | Martin Robinson <mrobinson@igalia.com> | 2023-06-27 21:43:56 +0200 |
---|---|---|
committer | Martin Robinson <mrobinson@igalia.com> | 2023-06-28 16:06:07 +0200 |
commit | d4b5fc1f653b4575202416263155ec17083828a6 (patch) | |
tree | 0a6944aafdbdcc6078eda8d3239e419ee2f619f1 /components/layout | |
parent | a725380db0b9fba31993409f7d0f4b2d11ca8f7d (diff) | |
download | servo-d4b5fc1f653b4575202416263155ec17083828a6.tar.gz servo-d4b5fc1f653b4575202416263155ec17083828a6.zip |
Make Layout 2013 style a superset of Layout 2020 style
This is the first step toward removing the compile-time difference in
style between Layout 2020 and Layout 2013.
Diffstat (limited to 'components/layout')
-rw-r--r-- | components/layout/construct.rs | 10 | ||||
-rw-r--r-- | components/layout/generated_content.rs | 9 |
2 files changed, 14 insertions, 5 deletions
diff --git a/components/layout/construct.rs b/components/layout/construct.rs index c3ebed7d1a3..d9531be391f 100644 --- a/components/layout/construct.rs +++ b/components/layout/construct.rs @@ -73,6 +73,7 @@ use style::selector_parser::{PseudoElement, RestyleDamage}; use style::servo::restyle_damage::ServoRestyleDamage; use style::values::computed::Image; use style::values::generics::counters::ContentItem; +use style::LocalName; /// The results of flow construction for a DOM node. #[derive(Clone)] @@ -865,6 +866,15 @@ where Box::new(UnscannedTextFragmentInfo::new(string.into(), None)); SpecificFragmentInfo::UnscannedText(info) }, + ContentItem::Attr(attr) => { + let element = node.as_element().expect("Expected an element"); + let attr_val = element + .get_attr(&attr.namespace_url, &LocalName::from(&*attr.attribute)); + let string = attr_val.map_or("".to_string(), |s| s.to_string()); + let info = + Box::new(UnscannedTextFragmentInfo::new(string.into(), None)); + SpecificFragmentInfo::UnscannedText(info) + }, content_item => { let content_item = Box::new(GeneratedContentInfo::ContentItem(content_item)); diff --git a/components/layout/generated_content.rs b/components/layout/generated_content.rs index 89f65732761..90e17fe3e8c 100644 --- a/components/layout/generated_content.rs +++ b/components/layout/generated_content.rs @@ -198,10 +198,6 @@ impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> { RenderingMode::Suffix(".\u{00a0}"), ) }, - GeneratedContentInfo::Empty | - GeneratedContentInfo::ContentItem(ContentItem::String(_)) => { - // Nothing to do here. - }, GeneratedContentInfo::ContentItem(ContentItem::Counter( ref counter_name, counter_style, @@ -272,8 +268,11 @@ impl<'a, 'b> ResolveGeneratedContentFragmentMutator<'a, 'b> { self.traversal.quote -= 1 } }, + GeneratedContentInfo::Empty | + GeneratedContentInfo::ContentItem(ContentItem::String(_)) | + GeneratedContentInfo::ContentItem(ContentItem::Attr(_)) | GeneratedContentInfo::ContentItem(ContentItem::Image(..)) => { - unreachable!("Servo doesn't parse content: url(..) nor image-set(..) yet") + // Nothing to do here. }, } }; |