OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <style> | 2 <style> |
3 #flexbox { | 3 #flexbox { |
4 display: -webkit-flex; | 4 display: -webkit-flex; |
5 -webkit-flex-flow: column; | 5 -webkit-flex-flow: column; |
6 height: 300px; | 6 height: 300px; |
7 width: 200px; | 7 width: 200px; |
8 } | 8 } |
9 #left { | 9 #left { |
10 -webkit-flex: 1; | 10 -webkit-flex: 1; |
11 background-color: yellow; | 11 background-color: yellow; |
12 min-height: 0; | 12 min-height: 0; |
13 } | 13 } |
14 #content { | 14 #content { |
15 -webkit-flex: 1; | 15 -webkit-flex: 1; |
16 border: 5px solid blue; | 16 border: 5px solid blue; |
17 min-height: 0; | 17 min-height: 0; |
18 } | 18 } |
19 #content > div { | 19 #content > div { |
20 height: 350px; | 20 height: 350px; |
21 background-color: orange; | 21 background-color: orange; |
22 } | 22 } |
23 </style> | 23 </style> |
| 24 <script src="../../fast/repaint/resources/text-based-repaint.js"></script> |
24 <script> | 25 <script> |
25 // This test makes sure that we repaint the right region of a flexbox when | 26 // This test makes sure that we repaint the right region of a flexbox when |
26 // changing the flex values. Only the middle of the test page should be | 27 // changing the flex values. Only the middle of the test page should be |
27 // repainted. If the top of the test page (above the flexbox) is repainted, | 28 // repainted. If the top of the test page (above the flexbox) is repainted, |
28 // this test fails. | 29 // this test fails. |
29 function setFlex(value) | 30 function setFlex(value) |
30 { | 31 { |
31 document.getElementById("content").style.webkitFlex = value; | 32 document.getElementById("content").style.webkitFlex = value; |
32 } | 33 } |
33 | 34 |
34 window.onload = function() { | 35 window.testIsAsync = true; |
35 if (window.testRunner) { | 36 window.onload = runRepaintTest; |
36 testRunner.dumpAsText(); | 37 |
37 document.body.offsetTop; | 38 function repaintTest() { |
38 window.internals.startTrackingRepaints(document); | |
39 testRunner.waitUntilDone(); | |
40 } | |
41 setTimeout(function() { | 39 setTimeout(function() { |
42 setFlex(4.6); | 40 setFlex(4.6); |
43 setTimeout(function() { | 41 setTimeout(function() { |
44 setFlex(5); | 42 setFlex(5); |
45 if (window.testRunner) { | 43 finishRepaintTest(); |
46 document.body.offsetTop; | |
47 var repaintRects = window.internals.repaintRectsAsText(document)
; | |
48 window.internals.stopTrackingRepaints(document); | |
49 var pre = document.createElement('pre'); | |
50 document.body.appendChild(pre); | |
51 pre.textContent += repaintRects; | |
52 | |
53 testRunner.notifyDone(); | |
54 } | |
55 }) | 44 }) |
56 }) | 45 }) |
57 }; | 46 }; |
58 </script> | 47 </script> |
59 <div style="height: 60px"></div> | 48 <div style="height: 60px"></div> |
60 <div id="flexbox" dir="rtl"> | 49 <div id="flexbox" dir="rtl"> |
61 <div id="left"></div> | 50 <div id="left"></div> |
62 <div id="content"><div></div></div> | 51 <div id="content"><div></div></div> |
OLD | NEW |