mirror of
https://github.com/servo/servo.git
synced 2025-10-15 16:00:28 +01:00
54 lines
1.4 KiB
HTML
54 lines
1.4 KiB
HTML
<!DOCTYPE html>
|
|
<html class='reftest-wait'>
|
|
<title>Sticky elements inside fixed ancestors and iframe shouldn't account for scroll</title>
|
|
<link rel="match" href="position-sticky-fixed-ancestor-iframe-ref.html" />
|
|
<link rel="help" href="https://www.w3.org/TR/css-position-3/#sticky-pos" />
|
|
<link rel="help" href="https://crbug.com/1019142">
|
|
<meta name="assert" content="This test checks that a sticky element inside a fixed subtree and iframe doesn't scroll with the viewport "/>
|
|
|
|
<script src="/common/reftest-wait.js"></script>
|
|
|
|
<style>
|
|
body,html {
|
|
margin: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
iframe {
|
|
margin: 10px;
|
|
width: 90%;
|
|
height: 90%;
|
|
border: 1px solid black;
|
|
}
|
|
|
|
.spacer {
|
|
height: 120vh;
|
|
}
|
|
</style>
|
|
|
|
<div class="spacer"></div>
|
|
<iframe src="resources/position-sticky-fixed-ancestor-iframe-child.html"></iframe>
|
|
<div class="spacer"></div>
|
|
|
|
<script>
|
|
const child = document.querySelector('iframe');
|
|
child.scrollIntoView();
|
|
window.onload = () => {
|
|
const childDoc = child.contentDocument;
|
|
function toggleFixed() {
|
|
childDoc.querySelector('.position-parent').classList.toggle('fixed');
|
|
}
|
|
|
|
childDoc.getElementById('button').addEventListener('click', toggleFixed);
|
|
|
|
requestAnimationFrame(() => {
|
|
childDoc.scrollingElement.scrollTop = childDoc.querySelector('.long').clientHeight;
|
|
requestAnimationFrame(() => {
|
|
toggleFixed();
|
|
takeScreenshot();
|
|
});
|
|
});
|
|
};
|
|
</script>
|
|
</html>
|