| <!DOCTYPE html> |
| <script src="../resources/runner.js"></script> |
| <style> |
| .a .b { background-color: green } |
| </style> |
| <div id="root"></div> |
| <script> |
| function appendDivChildren(root, childCount, levels) { |
| if (levels <= 0) |
| return; |
| for (var i = 0; i < childCount; i++) { |
| var div = document.createElement("div"); |
| appendDivChildren(div, childCount, levels - 1) |
| root.appendChild(div); |
| } |
| } |
| |
| var root = document.getElementById("root"); |
| appendDivChildren(root, 5, 5); |
| root.firstChild.className = "b"; |
| document.body.offsetTop; // force style recalc. |
| |
| PerfTestRunner.measureRunsPerSecond({ |
| description: "Measure the style recalc performance when changing a class affecting the style of a single descendant.", |
| run: function() { |
| root.className = "a"; |
| root.offsetTop; // force recalc. |
| root.className = ""; |
| root.offsetTop; // force recalc. |
| }}); |
| </script> |