From 8abefd7e5e3d43991ff166e5d9cfe36b13f4b1c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Wed, 13 Apr 2016 03:57:11 +0200 Subject: [PATCH] layout: Take in account max inline size for inline fragments --- components/layout/fragment.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 439e8a79f60..0fcb7acc2c4 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -1030,8 +1030,13 @@ impl Fragment { let flags = self.quantities_included_in_intrinsic_inline_size(); let style = self.style(); let specified = if flags.contains(INTRINSIC_INLINE_SIZE_INCLUDES_SPECIFIED) { - max(model::specified(style.min_inline_size(), Au(0)), - MaybeAuto::from_style(style.content_inline_size(), Au(0)).specified_or_zero()) + let specified = MaybeAuto::from_style(style.content_inline_size(), Au(0)).specified_or_zero(); + let min_or_specified = max(model::specified(style.min_inline_size(), Au(0)), specified); + if let Some(max) = model::specified_or_none(style.max_inline_size(), Au(0)) { + min(min_or_specified, max) + } else { + min_or_specified + } } else { Au(0) };