diff options
author | Oriol Brufau <obrufau@igalia.com> | 2024-10-20 21:53:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-20 19:53:38 +0000 |
commit | c75f6627ba0e314d5fb4c4c9230e93cbb1b188e3 (patch) | |
tree | e6ebec7e4fa425f36b02d89587020012ff7a05ee /components/layout/model.rs | |
parent | 65c866285f69d4c26ae46e604bcc05dda1641df7 (diff) | |
download | servo-c75f6627ba0e314d5fb4c4c9230e93cbb1b188e3.tar.gz servo-c75f6627ba0e314d5fb4c4c9230e93cbb1b188e3.zip |
Upgrade Stylo to 2024-10-04 (#33767)
* Upgrade Stylo to 2024-10-04
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Fixup for https://phabricator.services.mozilla.com/D220285
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Fixup for https://bugzilla.mozilla.org/show_bug.cgi?id=1918093
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Fixup for https://phabricator.services.mozilla.com/D222817
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Fixup for https://phabricator.services.mozilla.com/D222856
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Fixup for https://phabricator.services.mozilla.com/D222532
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Fixup for https://phabricator.services.mozilla.com/D222533
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Fixup for https://phabricator.services.mozilla.com/D222534
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
* Fixup for https://phabricator.services.mozilla.com/D223878
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
---------
Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Diffstat (limited to 'components/layout/model.rs')
-rw-r--r-- | components/layout/model.rs | 33 |
1 files changed, 28 insertions, 5 deletions
diff --git a/components/layout/model.rs b/components/layout/model.rs index 83b3e3a8879..9aadc7083f8 100644 --- a/components/layout/model.rs +++ b/components/layout/model.rs @@ -12,7 +12,7 @@ use euclid::SideOffsets2D; use serde::Serialize; use style::logical_geometry::{LogicalMargin, WritingMode}; use style::properties::ComputedValues; -use style::values::computed::{LengthPercentageOrAuto, MaxSize, Size}; +use style::values::computed::{Inset, LengthPercentageOrAuto, Margin, MaxSize, Size}; use crate::fragment::Fragment; @@ -468,6 +468,29 @@ impl MaybeAuto { } #[inline] + pub fn from_inset(length: &Inset, containing_length: Au) -> MaybeAuto { + match length { + Inset::Auto => MaybeAuto::Auto, + Inset::LengthPercentage(ref lp) => { + MaybeAuto::Specified(lp.to_used_value(containing_length)) + }, + Inset::AnchorFunction(_) => unreachable!("anchor() should be disabled"), + Inset::AnchorSizeFunction(_) => unreachable!("anchor-size() should be disabled"), + } + } + + #[inline] + pub fn from_margin(length: &Margin, containing_length: Au) -> MaybeAuto { + match length { + Margin::Auto => MaybeAuto::Auto, + Margin::LengthPercentage(ref lp) => { + MaybeAuto::Specified(lp.to_used_value(containing_length)) + }, + Margin::AnchorSizeFunction(_) => unreachable!("anchor-size() should be disabled"), + } + } + + #[inline] pub fn from_option(au: Option<Au>) -> MaybeAuto { match au { Some(l) => MaybeAuto::Specified(l), @@ -562,10 +585,10 @@ pub fn specified_margin_from_style( LogicalMargin::from_physical( writing_mode, SideOffsets2D::new( - MaybeAuto::from_style(&margin_style.margin_top, Au(0)).specified_or_zero(), - MaybeAuto::from_style(&margin_style.margin_right, Au(0)).specified_or_zero(), - MaybeAuto::from_style(&margin_style.margin_bottom, Au(0)).specified_or_zero(), - MaybeAuto::from_style(&margin_style.margin_left, Au(0)).specified_or_zero(), + MaybeAuto::from_margin(&margin_style.margin_top, Au(0)).specified_or_zero(), + MaybeAuto::from_margin(&margin_style.margin_right, Au(0)).specified_or_zero(), + MaybeAuto::from_margin(&margin_style.margin_bottom, Au(0)).specified_or_zero(), + MaybeAuto::from_margin(&margin_style.margin_left, Au(0)).specified_or_zero(), ), ) } |