1<!DOCTYPE html> 2<html> 3<head> 4 <script type="text/javascript" src="../resources/runner.js"></script> 5</head> 6<body> 7 8<div id="wrapper"> 9 <h2>Selected</h2> 10 <div id="selected"></div> 11 <h2>NonSelected</h2> 12 <div id="nonselected"></div> 13</div> 14 15<script> 16var numDivsInHost = 100; 17var array = new Array(numDivsInHost); 18 19function setup() 20{ 21 var nDivs = numDivsInHost; 22 var nonSelected = document.getElementById('nonselected'); 23 24 for (var i = 0; i < nDivs; ++i) { 25 var div = document.createElement('div'); 26 div.appendChild(document.createTextNode('div' + i)); 27 array[i] = div; 28 nonSelected.appendChild(div); 29 } 30} 31 32function run() 33{ 34 var nDivs = numDivsInHost; 35 var array = window.array; 36 37 var selected = document.getElementById('selected'); 38 var nonSelected = document.getElementById('nonselected'); 39 40 for (var i = 2; i < 100; ++i) { 41 for (var j = 0; j < nDivs; ++j) { 42 if (j % i == 0) { 43 array[j].className = 'selected'; 44 selected.appendChild(array[j]); 45 } else { 46 array[j].className = ''; 47 nonSelected.appendChild(array[j]); 48 } 49 } 50 selected.offsetLeft; 51 nonSelected.offsetLeft; 52 } 53} 54 55function done() 56{ 57 wrapper.innerHTML = ''; 58} 59 60setup(); 61 62PerfTestRunner.measureTime({ 63 description: "Measure distribution and layout performance when className is changed (without ShadowDOM)", 64 run: run, 65 done: done 66}); 67</script> 68</body> 69</html> 70