layout: Translate floats flowing out of blocks to compensate for inline

direction margins.

Improves Reddit /r/rust.
This commit is contained in:
Patrick Walton 2016-04-14 17:41:58 -07:00
parent 97de2c2afa
commit 6b6587a73b
4 changed files with 80 additions and 1 deletions

View file

@ -1020,8 +1020,12 @@ impl BlockFlow {
self.base.position.size.block = cur_b;
}
// Store the current set of floats in the flow so that flows that come later in the
// Translate the current set of floats back into the parent coordinate system in the
// inline direction, and store them in the flow so that flows that come later in the
// document can access them.
floats.translate(LogicalSize::new(writing_mode,
self.fragment.inline_start_offset(),
Au(0)));
self.base.floats = floats.clone();
self.adjust_fragments_for_collapsed_margins_if_root(layout_context);
} else {