Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: third_party/WebKit/LayoutTests/compositing/overflow/scrolling-neg-z-index-descendants-should-cause-repaint.html

Issue 2747333006: Modify paint/invalidation/compositing/scrolling-neg-z-index-descendants-should-cause-repaint-expect… (Closed)
Patch Set: Rebase Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <script>
5 if (window.testRunner)
6 window.testRunner.dumpAsText();
7
8 if (window.internals) {
9 window.internals.settings.setPreferCompositingToLCDTextEnabled(false);
10 }
11
12 function hasScrollbarRepaint(layerTree)
13 {
14 return hasScrollbarRepaintHelper(JSON.parse(layerTree));
15 }
16
17 function hasScrollbarRepaintHelper(jsonLayerTree) {
18 var repaintRects = jsonLayerTree["repaintRects"];
19 if (repaintRects) {
20 for (var i = 0; i < repaintRects.length; ++i) {
21 var width = repaintRects[i][2];
22 var height = repaintRects[i][3];
23 if (width == 15 && height == 285)
24 return true;
25 }
26 }
27 var children = jsonLayerTree["children"];
28 if (children) {
29 for (var i = 0; i < children.length; i++) {
30 if (hasScrollbarRepaintHelper(children[i]))
31 return true;
32 }
33 }
34 return false;
35 }
36
37 function testRepaint() {
38 var result = "";
39 var container = document.getElementById("container");
40
41 document.body.offsetTop;
42
43 if (window.internals)
44 window.internals.startTrackingRepaints(document);
45
46 container.scrollTop = 100;
47
48 if (window.internals) {
49 if (hasScrollbarRepaint(window.internals.layerTreeAsText(document, i nternals.LAYER_TREE_INCLUDES_PAINT_INVALIDATIONS)))
50 result += "PASS repainted when expected\n";
51 else
52 result += "FAIL did not repaint when expected\n";
53 window.internals.stopTrackingRepaints(document);
54 }
55
56 var pre = document.createElement('pre');
57 document.body.appendChild(pre);
58 pre.innerHTML = result;
59 if (!window.internals)
60 document.getElementById("description").style.display = "block";
61 }
62
63 window.onload = testRepaint;
64 </script>
65 <style>
66 #container {
67 width: 100px;
68 height: 300px;
69 box-shadow: inset 3px 3px 10px grey;
70 overflow: auto;
71 border: 1px black solid;
72 overflow: scroll;
73 position: relative;
74 -webkit-backface-visibility: hidden;
75 }
76
77 #neg-z {
78 position: relative;
79 z-index: -1;
80 }
81
82 .scrolled {
83 width: 50px;
84 height: 50px;
85 margin: 10px;
86 position: relative;
87 background-color: green;
88 }
89
90 #description {
91 display: none;
92 }
93 </style>
94 </head>
95 <body>
96 <pre id="description">
97 This test ensures that the logic for ensuring that we don't repaint when
98 scrolling composited layers works correctly in the face of neg z-order
99 descendants.
100 </pre>
101 <div id="container">
102 <div id="neg-z">
103 <div class="scrolled"></div>
104 <div class="scrolled"></div>
105 <div class="scrolled"></div>
106 <div class="scrolled"></div>
107 <div class="scrolled"></div>
108 <div class="scrolled"></div>
109 <div class="scrolled"></div>
110 </div>
111 </div>
112 </body>
113 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698