From 049b99cfacd0e6debd138946a06f1d9385c56db2 Mon Sep 17 00:00:00 2001 From: Glenn Watson Date: Fri, 18 Jul 2014 12:11:03 +1000 Subject: [PATCH] Fix issue with auto table layout when cells have multiple fragments. Fixes some layout issues related to #2554. --- src/components/layout/inline.rs | 4 ++-- src/test/ref/basic.list | 1 + src/test/ref/table_auto_width.html | 16 ++++++++++++++++ src/test/ref/table_auto_width_ref.html | 16 ++++++++++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 src/test/ref/table_auto_width.html create mode 100644 src/test/ref/table_auto_width_ref.html diff --git a/src/components/layout/inline.rs b/src/components/layout/inline.rs index 350eb52d1ce..f2bddecffed 100644 --- a/src/components/layout/inline.rs +++ b/src/components/layout/inline.rs @@ -1092,8 +1092,8 @@ impl Flow for InlineFlow { let fragment_intrinsic_widths = fragment.intrinsic_widths(Some(context)); intrinsic_widths.minimum_width = geometry::max(intrinsic_widths.minimum_width, fragment_intrinsic_widths.minimum_width); - intrinsic_widths.preferred_width = geometry::max(intrinsic_widths.preferred_width, - fragment_intrinsic_widths.preferred_width); + intrinsic_widths.preferred_width = intrinsic_widths.preferred_width + + fragment_intrinsic_widths.preferred_width; } self.base.intrinsic_widths = intrinsic_widths; diff --git a/src/test/ref/basic.list b/src/test/ref/basic.list index 5a11b53c12f..65982c1faa9 100644 --- a/src/test/ref/basic.list +++ b/src/test/ref/basic.list @@ -84,3 +84,4 @@ == noscript.html noscript_ref.html == pseudo_inherit.html pseudo_inherit_ref.html == float_intrinsic_height.html float_intrinsic_height_ref.html +== table_auto_width.html table_auto_width_ref.html diff --git a/src/test/ref/table_auto_width.html b/src/test/ref/table_auto_width.html new file mode 100644 index 00000000000..39396bbb799 --- /dev/null +++ b/src/test/ref/table_auto_width.html @@ -0,0 +1,16 @@ + + + + + + + + + + + +
+ 1234567890 +
+ + diff --git a/src/test/ref/table_auto_width_ref.html b/src/test/ref/table_auto_width_ref.html new file mode 100644 index 00000000000..1a90aab518e --- /dev/null +++ b/src/test/ref/table_auto_width_ref.html @@ -0,0 +1,16 @@ + + + + + + + + + + + +
+ 1234567890 +
+ +