Skip to content
Permalink
Browse files

Fix 'inline-block' sizing issues

Fixes #3624
  • Loading branch information
mttr committed Feb 2, 2015
1 parent 9960072 commit 5b340599f2a100368aa53c427e8b2d14db9271e9
@@ -1117,10 +1117,10 @@ impl Flow for InlineFlow {

debug!("InlineFlow::assign_inline_sizes: floats in: {:?}", self.base.floats);

self.base.position.size.inline = self.base.block_container_inline_size;
let inline_size = self.base.block_container_inline_size;
self.base.position.size.inline = inline_size;

{
let inline_size = self.base.position.size.inline;
let this = &mut *self;
for fragment in this.fragments.fragments.iter_mut() {
fragment.compute_border_and_padding(inline_size);
@@ -1130,11 +1130,14 @@ impl Flow for InlineFlow {
}
}

// If there are any inline-block kids, propagate explicit block sizes down to them.
// If there are any inline-block kids, propagate explicit block and inline
// sizes down to them.
let block_container_explicit_block_size = self.base.block_container_explicit_block_size;
for kid in self.base.child_iter() {
flow::mut_base(kid).block_container_explicit_block_size =
block_container_explicit_block_size;
let kid_base = flow::mut_base(kid);

kid_base.block_container_inline_size = inline_size;
kid_base.block_container_explicit_block_size = block_container_explicit_block_size;
}
}

@@ -141,6 +141,8 @@ fragment=top != ../html/acid2.html acid2_ref.html
== inline_block_margin_a.html inline_block_margin_ref.html
== inline_block_img_a.html inline_block_img_ref.html
== inline_block_baseline_a.html inline_block_baseline_ref.html
== inline_block_parent_width.html inline_block_parent_width_ref.html
== inline_block_parent_width_percentage.html inline_block_parent_width_ref.html
== float_table_a.html float_table_ref.html
== table_containing_block_a.html table_containing_block_ref.html
== link_style_order.html link_style_order_ref.html
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<body>
<div style="display: block; width: 300px;">
<div style="display: inline-block">
Bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
</div>
</div>
</body>
</html>
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<body>
<div style="display: block; width: 600px;">
<div style="width: 50%; display: inline-block;">
Bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
</div>
</div>
</body>
</html>
@@ -0,0 +1,17 @@
<!DOCTYPE html>
<html>
<body>
<div style="display: block; width: 300px; height: 8em;">
<div style="display: inline-block; width: 300px;">
Bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
bloobity bloobity bloobity bloobity
</div>
</div>
</body>
</html>

0 comments on commit 5b34059

Please sign in to comment.
You can’t perform that action at this time.