blob: 1a503498994465bbc37a5f347fbee9c7f2684970 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<!DOCTYPE html>
<html class="reftest-wait"
reftest-displayport-x="0" reftest-displayport-y="0"
reftest-displayport-w="800" reftest-displayport-h="1500">
<meta charset="utf-8">
<title>Test for bug 1546856: When the first painted item in a layer is removed, invalidation takes the wrong last paint offset because it hasn't initialized the last paint offset for that layer yet for this paint</title>
<style>
html {
background: linear-gradient(white, white) 0 0 / 100vw 100vh no-repeat fixed;
}
body {
height: 4000px;
padding: 200px 0;
}
div {
width: 600px;
height: 200px;
box-sizing: border-box;
margin-bottom: -200px;
}
#main.fill {
background-color: rgba(255, 0, 0, 0.9);
}
#main.ownLayer {
will-change: opacity;
}
#layerBoundsMaintainer {
position: relative;
border: 1px solid black;
}
</style>
<div id="main"></div>
<div id="layerBoundsMaintainer"></div>
<script>
const mainElement = document.querySelector('#main');
document.scrollingElement.scrollTop = 0;
document.addEventListener('MozReftestInvalidate', () => {
requestAnimationFrame(() => {
document.scrollingElement.scrollTop = 200;
mainElement.className = 'fill';
requestAnimationFrame(() => {
mainElement.className = 'fill ownLayer';
requestAnimationFrame(() => {
mainElement.className = '';
document.documentElement.className = '';
});
});
});
});
</script>
|