diff options
-rw-r--r-- | components/layout/flow.rs | 7 | ||||
-rw-r--r-- | tests/html/overflow-bug-0.html | 18 | ||||
-rw-r--r-- | tests/html/overflow-bug-1.html | 29 | ||||
-rw-r--r-- | tests/html/overflow-bug-2.html | 28 | ||||
-rw-r--r-- | tests/wpt/metadata-css/css21_dev/html4/numbers-units-018.htm.ini | 3 |
5 files changed, 75 insertions, 10 deletions
diff --git a/components/layout/flow.rs b/components/layout/flow.rs index bfb0c407d95..2df03d43233 100644 --- a/components/layout/flow.rs +++ b/components/layout/flow.rs @@ -251,13 +251,6 @@ pub trait Flow: fmt::Debug + Sync + Send + 'static { container_size); 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)) - } } _ => {} } diff --git a/tests/html/overflow-bug-0.html b/tests/html/overflow-bug-0.html new file mode 100644 index 00000000000..10e2207ca56 --- /dev/null +++ b/tests/html/overflow-bug-0.html @@ -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> + diff --git a/tests/html/overflow-bug-1.html b/tests/html/overflow-bug-1.html new file mode 100644 index 00000000000..1a11bf1320f --- /dev/null +++ b/tests/html/overflow-bug-1.html @@ -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> diff --git a/tests/html/overflow-bug-2.html b/tests/html/overflow-bug-2.html new file mode 100644 index 00000000000..1251b6de34c --- /dev/null +++ b/tests/html/overflow-bug-2.html @@ -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> diff --git a/tests/wpt/metadata-css/css21_dev/html4/numbers-units-018.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/numbers-units-018.htm.ini deleted file mode 100644 index 232a3f71a50..00000000000 --- a/tests/wpt/metadata-css/css21_dev/html4/numbers-units-018.htm.ini +++ /dev/null @@ -1,3 +0,0 @@ -[numbers-units-018.htm] - type: reftest - expected: FAIL |