layout: Remove some bogus code that tried to handle

absolutely-positioned flows separately when storing overflow.

This code dates back to the time when absolutely positioned flows were
ignored by all of their ancestors up to the containing block. This
hasn't been true for at least a year.

Closes #9306.
Closes #9309.
Is a partial fix for #9308.
This commit is contained in:
Patrick Walton 2016-01-22 18:02:19 -08:00
parent 842ec7c415
commit 9c7b9fa32d
5 changed files with 75 additions and 10 deletions

View file

@ -251,13 +251,6 @@ pub trait Flow: fmt::Debug + Sync + Send + 'static {
container_size); container_size);
overflow = overflow.union(&kid_overflow.translate(&kid_position.origin)) overflow = overflow.union(&kid_overflow.translate(&kid_position.origin))
} }
for kid in mut_base(self).abs_descendants.iter() {
let kid_overflow = base(kid).overflow;
let kid_position = base(kid).position.to_physical(base(kid).writing_mode,
container_size);
overflow = overflow.union(&kid_overflow.translate(&kid_position.origin))
}
} }
_ => {} _ => {}
} }

View file

@ -0,0 +1,18 @@
<!DOCTYPE html>
<!-- https://github.com/servo/servo/issues/9306 -->
<style>
body {
margin: 0;
}
.green {
background: #0F0;
height: 40px;
width: 600px;
margin-left: -300px;
}
</style>
<div class="green">
</div>

View file

@ -0,0 +1,29 @@
<!DOCTYPE html>
<!-- https://github.com/servo/servo/issues/9306 -->
<style>
body {
margin: 0;
}
.green {
background: #0F0;
height: 40px;
width: 400px;
top: 40px;
left: 50%;
margin-left: -300px;
position: absolute;
padding: 0px 100px;
}
.red {
background: #F00;
position: absolute;
right: 0;
}
</style>
<div class="green">
<span class="red">x</span>
</div>

View file

@ -0,0 +1,28 @@
<!DOCTYPE html>
<!-- https://github.com/servo/servo/issues/9309 -->
<style>
body {
margin: 0;
}
.a {
background: red;
width: 100%;
height: 100%;
position: absolute;
overflow: hidden;
}
.b {
background: green;
width: 40px;
height: 40px;
position: absolute;
right: -40px;
}
</style>
<div class="a">
<div class="b"></div>
</div>

View file

@ -1,3 +0,0 @@
[numbers-units-018.htm]
type: reftest
expected: FAIL