aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout_2020/style_ext.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout_2020/style_ext.rs')
-rw-r--r--components/layout_2020/style_ext.rs29
1 files changed, 19 insertions, 10 deletions
diff --git a/components/layout_2020/style_ext.rs b/components/layout_2020/style_ext.rs
index 34f95bef7cf..e6733ac998e 100644
--- a/components/layout_2020/style_ext.rs
+++ b/components/layout_2020/style_ext.rs
@@ -29,7 +29,7 @@ use crate::dom_traversal::Contents;
use crate::fragment_tree::FragmentFlags;
use crate::geom::{
AuOrAuto, LengthPercentageOrAuto, LogicalSides, LogicalVec2, PhysicalSides, PhysicalSize,
- PhysicalVec, Size,
+ PhysicalVec, Size, Sizes,
};
use crate::{ContainingBlock, IndefiniteContainingBlock};
@@ -189,9 +189,7 @@ impl AspectRatio {
#[derive(Clone)]
pub(crate) struct ContentBoxSizesAndPBM {
- pub content_box_size: LogicalVec2<Size<Au>>,
- pub content_min_box_size: LogicalVec2<Size<Au>>,
- pub content_max_box_size: LogicalVec2<Size<Au>>,
+ pub content_box_sizes: LogicalVec2<Sizes>,
pub pbm: PaddingBorderMargin,
pub depends_on_block_constraints: bool,
}
@@ -199,9 +197,11 @@ pub(crate) struct ContentBoxSizesAndPBM {
impl From<ContentBoxSizesAndPBM> for ContentBoxSizesAndPBMDeprecated {
fn from(sizes: ContentBoxSizesAndPBM) -> Self {
Self {
- content_box_size: sizes.content_box_size.map(Size::to_auto_or),
- content_min_box_size: sizes.content_min_box_size.map(Size::to_auto_or),
- content_max_box_size: sizes.content_max_box_size.map(Size::to_numeric),
+ content_box_size: sizes
+ .content_box_sizes
+ .map(|size| size.preferred.to_auto_or()),
+ content_min_box_size: sizes.content_box_sizes.map(|size| size.min.to_auto_or()),
+ content_max_box_size: sizes.content_box_sizes.map(|size| size.max.to_numeric()),
pbm: sizes.pbm.clone(),
depends_on_block_constraints: sizes.depends_on_block_constraints,
}
@@ -560,9 +560,18 @@ impl ComputedValuesExt for ComputedValues {
.content_max_box_size_for_max_size(max_size, &pbm)
.map(|v| v.map(Au::from));
ContentBoxSizesAndPBM {
- content_box_size,
- content_min_box_size,
- content_max_box_size,
+ content_box_sizes: LogicalVec2 {
+ block: Sizes::new(
+ content_box_size.block,
+ content_min_box_size.block,
+ content_max_box_size.block,
+ ),
+ inline: Sizes::new(
+ content_box_size.inline,
+ content_min_box_size.inline,
+ content_max_box_size.inline,
+ ),
+ },
pbm,
depends_on_block_constraints,
}