3 <div style=
"height: 2000px; width: 2000px;">
4 <div id=
"targetImage" style=
"width: 50px; height: 50px">
6 <img id=
"testTarget" style=
"visibility: hidden">
8 <script src=
"../../fast/repaint/resources/text-based-repaint.js"></script>
10 window
.testIsAsync
= true;
12 // The image should not show a paint invalidation if offscreen if Slimming Paint is on.
13 // Otherwise it should.
17 // 2. Move the image offscreen
18 // 3. Start tracking paint invalidation rects
19 // 4. Call layoutAndPaintAsyncThen (via runRepaintTest, which does this for us) to draw a frame
20 // 5. Wait longer than 100ms, so that the timer between the first and second animated GIF
21 // frame expires and a paint invalidation is issued on the animated GIF. (100ms is the
22 // length of the first frame of the animation in the GIF file.)
23 // 6. Stop tracking paint invalidation rects (finishRepaintTest does this for us)
25 // These steps differ from a standard repaint test in that step 3 precedes step 4.
26 // This is critical because layoutAndPaintAsyncThen may take longer than the 100ms of the timer,
29 function repaintTest() {
30 setTimeout(finishRepaintTest
, 150);
33 function targetImageOnload() {
34 window
.scrollTo(0, 1000);
36 window
.internals
.startTrackingRepaints(document
);
40 window
.onload = function() {
41 targetImage
.style
.background
= "url(../../fast/backgrounds/resources/red-green-animated.gif)";
43 // Use a parallel image element as a hack to detect whether the image has loaded, and therefore
45 testTarget
.onload
= targetImageOnload
;
46 testTarget
.src
= "../../fast/backgrounds/resources/red-green-animated.gif";