• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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