aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/main/layout/block.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/main/layout/block.rs')
-rw-r--r--src/components/main/layout/block.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/components/main/layout/block.rs b/src/components/main/layout/block.rs
index 5a731fbd748..0ba75a4a53b 100644
--- a/src/components/main/layout/block.rs
+++ b/src/components/main/layout/block.rs
@@ -1171,7 +1171,7 @@ impl BlockFlow {
let mut info = *info;
let mut rel_offset = Point2D(Au(0), Au(0));
for fragment in self.box_.iter() {
- rel_offset = fragment.relative_position(&info.containing_block_size);
+ rel_offset = fragment.relative_position(&info.relative_containing_block_size);
// Add the box that starts the block context.
fragment.build_display_list(stacking_context,
@@ -1184,11 +1184,12 @@ impl BlockFlow {
// For relatively-positioned descendants, the containing block formed by a block is
// just the content box. The containing block for absolutely-positioned descendants,
// on the other hand, only established if we are positioned.
- let container_block_size = fragment.content_box_size();
+ info.relative_containing_block_size = fragment.content_box_size();
if self.is_positioned() {
- info.absolute_containing_block_position = self.base.abs_position +
+ info.absolute_containing_block_position =
+ self.base.abs_position +
self.generated_cb_position() +
- fragment.relative_position(&container_block_size)
+ fragment.relative_position(&info.relative_containing_block_size)
}
}