OLD | NEW |
---|---|
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../../resources/run-after-display.js"></script> | |
4 <style> | 5 <style> |
5 .composited { | 6 .composited { |
6 -webkit-transform: translatez(0); | 7 -webkit-transform: translatez(0); |
7 } | 8 } |
8 | 9 |
9 .background { | 10 .background { |
10 position: fixed; | 11 position: fixed; |
11 background-color: lightgray; | 12 background-color: lightgray; |
12 width: 300px; | 13 width: 300px; |
13 height: 300px; | 14 height: 300px; |
(...skipping 26 matching lines...) Expand all Loading... | |
40 #testResults { | 41 #testResults { |
41 display: none; | 42 display: none; |
42 } | 43 } |
43 | 44 |
44 body { | 45 body { |
45 margin: 0px; | 46 margin: 0px; |
46 } | 47 } |
47 </style> | 48 </style> |
48 | 49 |
49 <script> | 50 <script> |
50 if (window.testRunner) | 51 if (window.testRunner) { |
52 testRunner.waitUntilDone(); | |
51 testRunner.dumpAsText(); | 53 testRunner.dumpAsText(); |
54 } | |
52 | 55 |
53 if (window.internals) { | 56 if (window.internals) { |
54 internals.settings.setAcceleratedCompositingForFixedPositionEnabled(true ); | 57 internals.settings.setAcceleratedCompositingForFixedPositionEnabled(true ); |
55 internals.settings.setLayerSquashingEnabled(true); | 58 internals.settings.setLayerSquashingEnabled(true); |
56 } | 59 } |
57 | 60 |
58 function runTest() | 61 function runTest() |
59 { | 62 { |
60 if (!window.internals) | 63 if (!window.internals) |
61 return; | 64 return; |
62 | 65 |
63 // Case 1 | 66 (function() { |
64 document.getElementById('Case1').textContent = window.internals.layerTre eAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); | |
65 | 67 |
66 // Case 2 | 68 return new Promise(function(resolve) { |
67 window.internals.startTrackingRepaints(document); | 69 // Case 1 |
68 window.scrollTo(0, 80); | 70 document.getElementById('Case1').textContent = window.internals.la yerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); |
69 document.getElementById('Case2').textContent = window.internals.layerTre eAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); | |
70 window.internals.stopTrackingRepaints(document); | |
71 | 71 |
72 // Case 3 | 72 resolve(); |
73 window.internals.startTrackingRepaints(document); | 73 }); |
74 window.scrollTo(0, 120); | |
75 document.getElementById('Case3').textContent = window.internals.layerTre eAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); | |
76 window.internals.stopTrackingRepaints(document); | |
77 | 74 |
78 // Case 4 | 75 })().then(function() { |
79 window.internals.startTrackingRepaints(document); | |
80 window.scrollTo(0, 170); | |
81 document.getElementById('Case4').textContent = window.internals.layerTre eAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); | |
82 window.internals.stopTrackingRepaints(document); | |
83 | 76 |
84 // Display the test results only after test is done so that it does not affect repaint rect results. | 77 return new Promise(function(resolve) { |
85 document.getElementById('testResults').style.display = "block"; | 78 |
79 // Case 2 | |
80 window.internals.startTrackingRepaints(document); | |
81 window.scrollTo(0, 80); | |
82 runAfterDisplay(function() { | |
83 document.getElementById('Case2').textContent = window.intern als.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); | |
84 window.internals.stopTrackingRepaints(document); | |
85 | |
86 resolve(); | |
87 }); | |
88 | |
89 }); | |
90 | |
91 }).then(function() { | |
92 | |
93 return new Promise(function(resolve) { | |
94 | |
95 // Case 3 | |
96 window.internals.startTrackingRepaints(document); | |
97 window.scrollTo(0, 120); | |
98 runAfterDisplay(function() { | |
99 document.getElementById('Case3').textContent = window.intern als.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); | |
100 window.internals.stopTrackingRepaints(document); | |
101 | |
102 resolve(); | |
103 }); | |
104 | |
105 }); | |
106 | |
107 }).then(function() { | |
108 | |
109 return new Promise(function(resolve) { | |
110 | |
111 // Case 4 | |
112 window.internals.startTrackingRepaints(document); | |
113 window.scrollTo(0, 170); | |
114 runAfterDisplay(function() { | |
115 document.getElementById('Case4').textContent = window.intern als.layerTreeAsText(document, internals.LAYER_TREE_INCLUDES_REPAINT_RECTS); | |
116 window.internals.stopTrackingRepaints(document); | |
117 | |
118 resolve(); | |
119 }); | |
120 | |
121 }); | |
122 | |
123 }).then(function() { | |
124 | |
125 // Display the test results only after test is done so that it does no t affect repaint rect results. | |
126 document.getElementById('testResults').style.display = "block"; | |
127 | |
128 if (window.testRunner) | |
129 testRunner.notifyDone(); | |
130 | |
131 }); | |
esprehn
2014/03/24 21:50:43
You need a catch() on the end to log exceptions. O
ykyyip
2014/03/24 22:15:03
Done.
| |
86 } | 132 } |
87 </script> | 133 </script> |
88 </head> | 134 </head> |
89 | 135 |
90 <body onload="runTest()"> | 136 <body onload="runTest()"> |
91 | 137 |
92 <div id="description"> | 138 <div id="description"> |
93 <p>The gray div is a composited fixed-position element, and the cyan/lime | 139 <p>The gray div is a composited fixed-position element, and the cyan/lime |
94 elements should be squashed together on top. When scrolling, paragraphs may | 140 elements should be squashed together on top. When scrolling, paragraphs may |
95 pop in-and-out of the squashing layer when they change overlapping status | 141 pop in-and-out of the squashing layer when they change overlapping status |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
128 CASE 3, scrolling y to 120, no repaints expected: | 174 CASE 3, scrolling y to 120, no repaints expected: |
129 <pre id="Case3"></pre> | 175 <pre id="Case3"></pre> |
130 | 176 |
131 CASE 4, scrolling y to 170 new layers will be squashed, so things repaint: | 177 CASE 4, scrolling y to 170 new layers will be squashed, so things repaint: |
132 <pre id="Case4"></pre> | 178 <pre id="Case4"></pre> |
133 </div> | 179 </div> |
134 | 180 |
135 </body> | 181 </body> |
136 | 182 |
137 </html> | 183 </html> |
OLD | NEW |