aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/components/main/layout/float.rs14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/components/main/layout/float.rs b/src/components/main/layout/float.rs
index d51ab0849a0..5de723a5669 100644
--- a/src/components/main/layout/float.rs
+++ b/src/components/main/layout/float.rs
@@ -184,18 +184,24 @@ impl FloatFlowData {
}
let mut height = cur_y - top_offset;
-
+
+ let mut noncontent_width = Au(0);
let mut noncontent_height = Au(0);
+ let mut full_noncontent_width = Au(0);
+ let mut full_noncontent_height = Au(0);
self.box.map(|&box| {
do box.with_mut_base |base| {
//The associated box is the border box of this flow
base.position.origin.y = base.model.margin.top;
+ noncontent_width = base.model.padding.left + base.model.padding.right +
+ base.model.border.left + base.model.border.right;
noncontent_height = base.model.padding.top + base.model.padding.bottom +
base.model.border.top + base.model.border.bottom;
base.position.size.height = height + noncontent_height;
- noncontent_height = noncontent_height + base.model.margin.top + base.model.margin.bottom;
+ full_noncontent_width = noncontent_width + base.model.margin.left + base.model.margin.right;
+ full_noncontent_height = noncontent_height + base.model.margin.top + base.model.margin.bottom;
}
});
@@ -215,8 +221,8 @@ impl FloatFlowData {
}
let info = PlacementInfo {
- width: self.common.position.size.width,
- height: height,
+ width: self.common.position.size.width + full_noncontent_width,
+ height: height + full_noncontent_height,
ceiling: Au(0),
max_width: self.containing_width,
f_type: self.float_type,