| <!DOCTYPE html> |
| <body> |
| <script src="../resources/runner.js"></script> |
| <script src="resources/paint.js"></script> |
| <style> |
| table { |
| border: 2px solid green; |
| border-collapse: collapse; |
| font-size: 3px; |
| will-change: transform; |
| } |
| td { |
| border: 1px solid blue; |
| } |
| table.text td::before { |
| content: "ABC"; |
| } |
| table.background td { |
| background: green; |
| } |
| </style> |
| <script> |
| function createTable(rows, columns) { |
| var table = document.createElement("TABLE"); |
| for (var i = 0; i < rows; ++i) { |
| var tr = document.createElement("TR"); |
| for (var j = 0; j < columns; ++j) { |
| var td = document.createElement("TD"); |
| tr.appendChild(td); |
| } |
| table.appendChild(tr); |
| } |
| return table; |
| } |
| |
| var table1 = createTable(100, 100); |
| document.body.appendChild(table1); |
| |
| var table2= createTable(150, 150); |
| table2.className = 'text'; |
| document.body.appendChild(table2); |
| |
| var table3 = createTable(150, 150); |
| table3.className = 'background'; |
| document.body.appendChild(table3); |
| |
| var count = 0; |
| var ix = 30; |
| var iy = 30; |
| |
| measurePaint({ |
| iterationCount: 40, |
| run: function() { |
| if (count % 4 == 0) { |
| table1.style.borderColor = table1.style.borderColor == 'green' ? |
| 'yellow' : 'green'; |
| } else { |
| var table = [table1, table2, table3][count % 3]; |
| table.childNodes[iy].childNodes[ix].style.borderColor = "red"; |
| ix++; |
| iy++; |
| } |
| count++; |
| }, |
| }); |
| </script> |
| </body> |