Skip to content

Commit

Permalink
use au in HoistedSharedFragment (#32288)
Browse files Browse the repository at this point in the history
  • Loading branch information
atbrakhi committed May 16, 2024
1 parent c89fb1f commit 903c516
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 11 deletions.
5 changes: 2 additions & 3 deletions components/layout_2020/flow/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1762,9 +1762,8 @@ impl PlacementState {
},
Fragment::AbsoluteOrFixedPositioned(fragment) => {
let offset = LogicalVec2 {
block: (self.current_margin.solve() + self.current_block_direction_position)
.into(),
inline: Length::new(0.),
block: (self.current_margin.solve() + self.current_block_direction_position),
inline: Au::zero(),
};
fragment.borrow_mut().adjust_offsets(offset);
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */

use app_units::Au;
use serde::Serialize;
use style::values::computed::{Length, LengthPercentage};
use style::values::computed::LengthPercentage;

use super::Fragment;
use crate::cell::ArcRefCell;
Expand Down Expand Up @@ -31,7 +32,7 @@ impl HoistedSharedFragment {
/// In some cases `inset: auto`-positioned elements do not know their precise
/// position until after they're hoisted. This lets us adjust auto values
/// after the fact.
pub(crate) fn adjust_offsets(&mut self, offsets: LogicalVec2<Length>) {
pub(crate) fn adjust_offsets(&mut self, offsets: LogicalVec2<Au>) {
self.box_offsets.inline.adjust_offset(offsets.inline);
self.box_offsets.block.adjust_offset(offsets.block);
}
Expand All @@ -40,7 +41,7 @@ impl HoistedSharedFragment {
#[derive(Clone, Debug, Serialize)]
pub(crate) enum AbsoluteBoxOffsets {
StaticStart {
start: Length,
start: Au,
},
Start {
start: LengthPercentage,
Expand All @@ -59,7 +60,7 @@ impl AbsoluteBoxOffsets {
matches!(self, AbsoluteBoxOffsets::Both { .. })
}

pub(crate) fn adjust_offset(&mut self, new_offset: Length) {
pub(crate) fn adjust_offset(&mut self, new_offset: Au) {
if let AbsoluteBoxOffsets::StaticStart { ref mut start } = *self {
*start = new_offset
}
Expand Down
8 changes: 4 additions & 4 deletions components/layout_2020/positioned.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ impl AbsolutelyPositionedBox {
) -> AbsoluteBoxOffsets {
match (start.non_auto(), end.non_auto()) {
(None, None) => AbsoluteBoxOffsets::StaticStart {
start: initial_static_start,
start: initial_static_start.into(),
},
(Some(start), Some(end)) => AbsoluteBoxOffsets::Both {
start: start.clone(),
Expand Down Expand Up @@ -196,10 +196,10 @@ impl PositioningContext {
let update_fragment_if_needed = |hoisted_fragment: &mut HoistedAbsolutelyPositionedBox| {
let mut fragment = hoisted_fragment.fragment.borrow_mut();
if let AbsoluteBoxOffsets::StaticStart { start } = &mut fragment.box_offsets.inline {
*start += start_offset.inline;
*start += start_offset.inline.into();
}
if let AbsoluteBoxOffsets::StaticStart { start } = &mut fragment.box_offsets.block {
*start += start_offset.block;
*start += start_offset.block.into();
}
};

Expand Down Expand Up @@ -773,7 +773,7 @@ impl<'a> AbsoluteAxisSolver<'a> {
fn solve_for_size(&self, computed_size: AuOrAuto) -> AxisResult {
match self.box_offsets {
AbsoluteBoxOffsets::StaticStart { start } => AxisResult {
anchor: Anchor::Start((*start).into()),
anchor: Anchor::Start(*start),
size: computed_size,
margin_start: self.computed_margin_start.auto_is(Au::zero),
margin_end: self.computed_margin_end.auto_is(Au::zero),
Expand Down

0 comments on commit 903c516

Please sign in to comment.