Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / third_party / WebKit / LayoutTests / compositing / squashing / squash-paint-invalidation-fixed-position.html
blob67342d980615c952ab64ff22eb28379062197447
1 <!doctype html>
2 <div style="position: fixed; height: 5000px; width: 100px; background: lightblue; transform: translateZ(0)"></div>
3 <div style="position: fixed; top: 25px; height: 100px; width: 100px; background: lightgray"></div>
4 <div id="foo" style="position: fixed; top: 50px; height: 100px; width: 100px; background: lightgray"></div>
5 <script src="../../resources/run-after-layout-and-paint.js"></script>
6 <script>
7 // This test verifies that a repaint request for a squashed layer that is position:fixed into another position: fixed layer
8 // issue the correct paint invalidations even with the window scrolled.
10 if (window.testRunner) {
11 testRunner.dumpAsText();
12 testRunner.waitUntilDone();
14 runAfterLayoutAndPaint(function() {
15 if (window.internals)
16 window.internals.startTrackingRepaints(document);
18 var output = '';
20 document.getElementById("foo").style.background = 'red';
22 if (window.internals)
23 output += window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS) + ' ';
25 if (window.internals)
26 window.internals.stopTrackingRepaints(document);
28 scrollTo(0, 50);
30 if (window.internals)
31 window.internals.startTrackingRepaints(document);
33 document.getElementById("foo").style.background = 'blue';
35 if (window.internals)
36 output += window.internals.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS);
38 if (window.internals)
39 window.internals.stopTrackingRepaints(document);
41 testRunner.setCustomTextOutput(output);
43 if (window.testRunner)
44 testRunner.notifyDone();
45 });
47 </script>