mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-22 01:35:35 +00:00
servo: Merge #7771 - Use the correct container size in compute_overflow (from mbrubeck:rtl-stacking-context); r=pcwalton
Fixes #7768 - positioning of RTL stacking contexts. r? @pcwalton Source-Repo: https://github.com/servo/servo Source-Revision: e68bd8d4ffc7f2cd9511999760c7a67418a853e1
This commit is contained in:
parent
64fbdb7d1c
commit
96964b7093
@ -2126,9 +2126,10 @@ impl Flow for BlockFlow {
|
||||
}
|
||||
|
||||
fn compute_overflow(&self) -> Rect<Au> {
|
||||
self.fragment.compute_overflow(&self.base
|
||||
.early_absolute_position_info
|
||||
.relative_containing_block_size)
|
||||
self.fragment.compute_overflow(&self.base.early_absolute_position_info
|
||||
.relative_containing_block_size,
|
||||
self.base.early_absolute_position_info
|
||||
.relative_containing_block_mode)
|
||||
}
|
||||
|
||||
fn iterate_through_fragment_border_boxes(&self,
|
||||
|
@ -2160,9 +2160,12 @@ impl Fragment {
|
||||
}
|
||||
|
||||
/// Computes the overflow rect of this fragment relative to the start of the flow.
|
||||
pub fn compute_overflow(&self, relative_containing_block_size: &LogicalSize<Au>) -> Rect<Au> {
|
||||
// FIXME(pcwalton, #2795): Get the real container size.
|
||||
let container_size = Size2D::zero();
|
||||
pub fn compute_overflow(&self,
|
||||
relative_containing_block_size: &LogicalSize<Au>,
|
||||
relative_containing_block_mode: WritingMode)
|
||||
-> Rect<Au> {
|
||||
let container_size =
|
||||
relative_containing_block_size.to_physical(relative_containing_block_mode);
|
||||
let mut border_box = self.border_box.to_physical(self.style.writing_mode, container_size);
|
||||
|
||||
// Relative position can cause us to draw outside our border box.
|
||||
|
@ -1775,7 +1775,8 @@ impl Flow for InlineFlow {
|
||||
let mut overflow = ZERO_RECT;
|
||||
for fragment in &self.fragments.fragments {
|
||||
overflow = overflow.union(&fragment.compute_overflow(
|
||||
&self.base.early_absolute_position_info.relative_containing_block_size))
|
||||
&self.base.early_absolute_position_info.relative_containing_block_size,
|
||||
self.base.early_absolute_position_info.relative_containing_block_mode));
|
||||
}
|
||||
overflow
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user