• 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    <div id="host"></div>
10</div>
11
12<script>
13var numDivsInHost = 256;
14var nLoops = 100;
15var classNames = ['A', 'B', 'C', 'D', 'E'];
16
17function setup()
18{
19    var nDivs = numDivsInHost;
20
21    for (var i = 0; i < nDivs; ++i) {
22        var div = document.createElement('div');
23        div.appendChild(document.createTextNode('div' + i));
24
25        var names = new Array();
26        for (var j = 0; j < classNames.length; ++j) {
27            if (i & (1 << j))
28                names.push(classNames[j]);
29        }
30        div.className = names.join(' ');
31
32        host.appendChild(div);
33    }
34
35    var shadowRoot = host.webkitCreateShadowRoot();
36    for (var i = 0; i < classNames.length; ++i) {
37        var content = document.createElement('content');
38        content.setAttribute('select', '.' + classNames[i]);
39        shadowRoot.appendChild(content);
40    }
41    shadowRoot.appendChild(document.createElement('content'));
42}
43
44function run()
45{
46    var host = document.getElementById('host');
47    var nLoops = window.nLoops;
48
49    var div = document.createElement('div');
50    for (var i = 0; i < nLoops; ++i) {
51        host.appendChild(div);
52        host.removeChild(div);
53        host.offsetLeft;
54    }
55}
56
57function done()
58{
59    wrapper.innerHTML = '';
60}
61
62
63setup();
64
65PerfTestRunner.measureTime({
66    description: "Measure Distribution and Layout time in a case there are multiple InsertionPoints",
67    run: run,
68    done: done
69});
70</script>
71</body>
72</html>
73