mirror of
https://github.com/servo/servo.git
synced 2025-08-08 23:15:33 +01:00
Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317
This commit is contained in:
parent
aa199307c8
commit
2b6f573eb5
3440 changed files with 109438 additions and 41750 deletions
|
@ -0,0 +1,60 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Sticky positioning can cause overflow but must be accessible.</title>
|
||||
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
|
||||
<meta name="assert" content="This test checks that a sticky positioned element
|
||||
can cause overflow but must still be accessible through scrolling" />
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<style>
|
||||
.container {
|
||||
overflow: scroll;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
.box {
|
||||
background-color: green;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
.sticky {
|
||||
position: sticky;
|
||||
top: 200px; /* Forces the sticky position element below the overflow. */
|
||||
}
|
||||
</style>
|
||||
|
||||
<div id="scroller1" class="container">
|
||||
<div class="sticky box"></div>
|
||||
</div>
|
||||
|
||||
<div id="scroller2" class="container">
|
||||
<div class="sticky box"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
test(() => {
|
||||
var scroller = document.getElementById('scroller1');
|
||||
var sticky = scroller.querySelector('.sticky');
|
||||
|
||||
var stickyOffset = sticky.offsetTop -
|
||||
scroller.scrollTop - scroller.offsetTop;
|
||||
assert_equals(stickyOffset, 200);
|
||||
assert_equals(scroller.scrollHeight, 250);
|
||||
}, 'sticky position offset should be able to cause overflow');
|
||||
|
||||
test(() => {
|
||||
var scroller = document.getElementById('scroller2');
|
||||
var sticky = scroller.querySelector('.sticky');
|
||||
|
||||
scroller.scrollTop = 150;
|
||||
var stickyOffset = sticky.offsetTop -
|
||||
scroller.scrollTop - scroller.offsetTop;
|
||||
assert_equals(stickyOffset, 50);
|
||||
// Scroll height should be unaffected.
|
||||
assert_equals(scroller.scrollHeight, 250);
|
||||
|
||||
}, 'sticky position offset in overflow should be accessible');
|
||||
</script>
|
|
@ -0,0 +1,48 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Nested position:sticky table elements should render correctly</title>
|
||||
<style>
|
||||
.scroller {
|
||||
width: 100px;
|
||||
height: 250px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.contents {
|
||||
height: 700px;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
#child, td, th {
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
padding: 0;
|
||||
background: green;
|
||||
}
|
||||
|
||||
.prepadding {
|
||||
height: 155px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script>
|
||||
window.addEventListener('load', function() {
|
||||
document.getElementById('scroller1').scrollTop = 150;
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="scroller1" class="scroller">
|
||||
<div class="contents">
|
||||
<div class="prepadding"></div>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr><td><div id="child"></div></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div>There should be a green square at the top of the scroll view and no red visible.</div>
|
|
@ -0,0 +1,72 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Nested position:sticky table elements should render correctly</title>
|
||||
<link rel="match" href="position-sticky-table-parts-ref.html" />
|
||||
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
|
||||
<meta name="assert" content="This test checks that nested position:sticky table elements render correctly" />
|
||||
|
||||
<style>
|
||||
.scroller {
|
||||
position: relative;
|
||||
width: 100px;
|
||||
height: 250px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.contents {
|
||||
height: 700px;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.child, td, th {
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.child {
|
||||
background: green;
|
||||
}
|
||||
|
||||
table * {
|
||||
position: sticky;
|
||||
top: 5px;
|
||||
}
|
||||
|
||||
.indicator {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
background-color: red;
|
||||
height: 50px;
|
||||
width: 50px;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script>
|
||||
window.addEventListener('load', function() {
|
||||
document.body.offsetTop;
|
||||
document.getElementById('scroller1').scrollTop = 150;
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="scroller1" class="scroller">
|
||||
<div class="contents">
|
||||
<div class="indicator" style="top: 155px;"></div>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr><td><div class="child"></div></td></tr>
|
||||
<tr><td></td></tr>
|
||||
<tr><td></td></tr>
|
||||
<tr><td></td></tr>
|
||||
<tr><td></td></tr>
|
||||
<tr><td></td></tr>
|
||||
<tr><td></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div>There should be a green square at the top of the scroll view and no red visible.</div>
|
Loading…
Add table
Add a link
Reference in a new issue