| OLD | NEW |
| (Empty) | |
| 1 <!DOCTYPE html> |
| 2 <body> |
| 3 <script src="../resources/runner.js"></script> |
| 4 <style> |
| 5 .column { |
| 6 width: 180px; |
| 7 height: 310px; |
| 8 border: 1px solid black; |
| 9 font-size: 1px; |
| 10 } |
| 11 .row { |
| 12 width: 150px; |
| 13 border: 1px solid cornflowerblue; |
| 14 } |
| 15 .row > span { |
| 16 border: 1px solid rebeccapurple; |
| 17 } |
| 18 </style> |
| 19 <script> |
| 20 // This test measures the lifecycle update performance of changing paint offset. |
| 21 |
| 22 // Create a column with 100 rows of divs and 50 spans on each row. |
| 23 function createColumn(parent) { |
| 24 var rowsPerColumn = 100; |
| 25 var spansPerRow = 50; |
| 26 var columnDiv = document.createElement('div'); |
| 27 parent.appendChild(columnDiv); |
| 28 columnDiv.setAttribute('class', 'column'); |
| 29 for (var row = 0; row < rowsPerColumn; row++) { |
| 30 var rowDiv = document.createElement('div'); |
| 31 rowDiv.setAttribute('class', 'row'); |
| 32 columnDiv.appendChild(rowDiv); |
| 33 for (var span = 0; span < spansPerRow; span++) { |
| 34 var spanElement = document.createElement('span'); |
| 35 rowDiv.appendChild(spanElement); |
| 36 } |
| 37 } |
| 38 return columnDiv; |
| 39 } |
| 40 |
| 41 var rowMarginsToChange = createColumn(document.body).querySelectorAll('.row'); |
| 42 var changeRowMargins = function(runCount) { |
| 43 for (var index = 0; index < rowMarginsToChange.length; index++) |
| 44 rowMarginsToChange[index].style.marginLeft = (runCount % 10) + 'px'; |
| 45 } |
| 46 |
| 47 var spanMarginsToChange = createColumn(document.body).querySelectorAll('.row > s
pan'); |
| 48 var changeRowSpanMargins = function(runCount) { |
| 49 for (var index = 0; index < spanMarginsToChange.length; index += 8) |
| 50 spanMarginsToChange[index].style.marginLeft = ((runCount + index) % 3) + 'px
'; |
| 51 } |
| 52 |
| 53 var firstRowHeightToChange = createColumn(document.body).querySelector('.row'); |
| 54 var changeFirstRowHeight = function(rowCount) { |
| 55 firstRowHeightToChange.style.height = (5 + runCount % 5) + 'px'; |
| 56 } |
| 57 |
| 58 var runCount = 0; |
| 59 PerfTestRunner.measureFrameTime({ |
| 60 run: function() { |
| 61 runCount++; |
| 62 changeRowMargins(runCount); |
| 63 changeRowSpanMargins(runCount); |
| 64 changeFirstRowHeight(runCount); |
| 65 }, |
| 66 warmUpCount: 5, |
| 67 }); |
| 68 </script> |
| 69 </body> |
| OLD | NEW |