aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/layout/flow.rs7
-rw-r--r--tests/html/overflow-bug-0.html18
-rw-r--r--tests/html/overflow-bug-1.html29
-rw-r--r--tests/html/overflow-bug-2.html28
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/numbers-units-018.htm.ini3
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