Update web-platform-tests to revision be5419e845d39089ba6dc338c1bd0fa279108317

This commit is contained in:
Josh Matthews 2018-01-04 13:44:24 -05:00
parent aa199307c8
commit 2b6f573eb5
3440 changed files with 109438 additions and 41750 deletions

View file

@ -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>

View file

@ -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>

View file

@ -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>