mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
layout: Improve style conversion for Taffy (#36311)
This imports the following changes from Blitz: - Map position:sticky to relative rather than absolute position16a7c16544
- Map left and right alignment from Styloc71cc681d8
- Improve mapping of align-items/self7bf2a25e75
Fixes: #35998 Testing: - `/css/css-grid/alignment/grid-align-justify-margin-border-padding.html` - `/css/css-grid/alignment/grid-align.html` - `/css/css-grid/alignment/grid-column-axis-alignment-sticky-positioned-items-001.html` - `/css/css-grid/alignment/grid-gutters-and-alignment.html` - `/css/css-grid/alignment/grid-item-alignment-with-orthogonal-flows.html` - `/css/css-grid/alignment/grid-row-axis-alignment-sticky-positioned-items-001.html` - `/css/css-grid/alignment/grid-self-alignment.html` Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
parent
0e99539dab
commit
9d6e1f67fb
8 changed files with 26 additions and 71 deletions
|
@ -138,7 +138,7 @@ pub fn position(input: stylo::Position) -> taffy::Position {
|
|||
// TODO: support position:fixed and sticky
|
||||
stylo::Position::Absolute => taffy::Position::Absolute,
|
||||
stylo::Position::Fixed => taffy::Position::Absolute,
|
||||
stylo::Position::Sticky => taffy::Position::Absolute,
|
||||
stylo::Position::Sticky => taffy::Position::Relative,
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -170,6 +170,8 @@ pub fn content_alignment(input: stylo::ContentDistribution) -> Option<taffy::Ali
|
|||
stylo::AlignFlags::AUTO => None,
|
||||
stylo::AlignFlags::START => Some(taffy::AlignContent::Start),
|
||||
stylo::AlignFlags::END => Some(taffy::AlignContent::End),
|
||||
stylo::AlignFlags::LEFT => Some(taffy::AlignContent::Start),
|
||||
stylo::AlignFlags::RIGHT => Some(taffy::AlignContent::End),
|
||||
stylo::AlignFlags::FLEX_START => Some(taffy::AlignContent::FlexStart),
|
||||
stylo::AlignFlags::STRETCH => Some(taffy::AlignContent::Stretch),
|
||||
stylo::AlignFlags::FLEX_END => Some(taffy::AlignContent::FlexEnd),
|
||||
|
@ -185,13 +187,17 @@ pub fn content_alignment(input: stylo::ContentDistribution) -> Option<taffy::Ali
|
|||
#[inline]
|
||||
pub fn item_alignment(input: stylo::AlignFlags) -> Option<taffy::AlignItems> {
|
||||
match input.value() {
|
||||
stylo::AlignFlags::NORMAL => None,
|
||||
stylo::AlignFlags::AUTO => None,
|
||||
stylo::AlignFlags::NORMAL => Some(taffy::AlignItems::Stretch),
|
||||
stylo::AlignFlags::STRETCH => Some(taffy::AlignItems::Stretch),
|
||||
stylo::AlignFlags::FLEX_START => Some(taffy::AlignItems::FlexStart),
|
||||
stylo::AlignFlags::FLEX_END => Some(taffy::AlignItems::FlexEnd),
|
||||
stylo::AlignFlags::SELF_START => Some(taffy::AlignItems::Start),
|
||||
stylo::AlignFlags::SELF_END => Some(taffy::AlignItems::End),
|
||||
stylo::AlignFlags::START => Some(taffy::AlignItems::Start),
|
||||
stylo::AlignFlags::END => Some(taffy::AlignItems::End),
|
||||
stylo::AlignFlags::LEFT => Some(taffy::AlignItems::Start),
|
||||
stylo::AlignFlags::RIGHT => Some(taffy::AlignItems::End),
|
||||
stylo::AlignFlags::CENTER => Some(taffy::AlignItems::Center),
|
||||
stylo::AlignFlags::BASELINE => Some(taffy::AlignItems::Baseline),
|
||||
// Should never be hit. But no real reason to panic here.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue