aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/fragment.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout/fragment.rs')
-rw-r--r--components/layout/fragment.rs12
1 files changed, 9 insertions, 3 deletions
diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs
index d423cfc1555..6433ba9cd4b 100644
--- a/components/layout/fragment.rs
+++ b/components/layout/fragment.rs
@@ -1166,8 +1166,12 @@ impl Fragment {
TableWrapperFragment => {}
InlineBlockFragment(ref mut info) => {
let block_flow = info.flow_ref.get_mut().as_block();
- result.minimum_inline_size = geometry::max(result.minimum_inline_size, block_flow.base.intrinsic_inline_sizes.minimum_inline_size);
- result.preferred_inline_size = geometry::max(result.preferred_inline_size, block_flow.base.intrinsic_inline_sizes.preferred_inline_size);
+ result.minimum_inline_size = geometry::max(result.minimum_inline_size,
+ block_flow.base.intrinsic_inline_sizes.minimum_inline_size +
+ block_flow.base.intrinsic_inline_sizes.surround_inline_size);
+ result.preferred_inline_size = geometry::max(result.preferred_inline_size,
+ block_flow.base.intrinsic_inline_sizes.preferred_inline_size +
+ block_flow.base.intrinsic_inline_sizes.surround_inline_size);
},
ImageFragment(ref mut image_fragment_info) => {
let image_inline_size = image_fragment_info.image_inline_size();
@@ -1421,7 +1425,9 @@ impl Fragment {
match self.specific {
InlineBlockFragment(ref mut info) => {
let block_flow = info.flow_ref.get_mut().as_block();
- self.border_box.size.inline = block_flow.base.intrinsic_inline_sizes.preferred_inline_size + noncontent_inline_size;
+ self.border_box.size.inline = block_flow.base.intrinsic_inline_sizes.preferred_inline_size +
+ block_flow.base.intrinsic_inline_sizes.surround_inline_size +
+ noncontent_inline_size;
block_flow.base.position.size.inline = self.border_box.size.inline;
}
ScannedTextFragment(_) => {