| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <script type="text/javascript" src="../resources/runner.js"></script> | |
| </head> | |
| <body> | |
| <div id="wrapper"> | |
| <div id="host"></div> | |
| </div> | |
| <script> | |
| var numDivsInHost = 100; | |
| var typeNames = ['A', 'B', 'C']; | |
| var array = new Array(numDivsInHost); | |
| function setup() | |
| { | |
| var nDivs = numDivsInHost; | |
| window.shadowRoot = host.webkitCreateShadowRoot(); | |
| shadowRoot.innerHTML = '<h2>Selected</h2><div id="selected"><content select=".selected"></content></div><h2>NonSelected</h2><div id="nonselected"><content></content></div>'; | |
| for (var i = 0; i < nDivs; ++i) { | |
| var div = document.createElement('div'); | |
| div.appendChild(document.createTextNode('div' + i)); | |
| div.className = typeNames[i % typeNames.length]; | |
| host.appendChild(div); | |
| array[i] = div; | |
| } | |
| } | |
| function run() | |
| { | |
| var nDivs = numDivsInHost; | |
| var array = window.array; | |
| var selected = shadowRoot.getElementById('selected'); | |
| var nonSelected = shadowRoot.getElementById('nonselected'); | |
| var contentSelected = selected.querySelector('content'); | |
| for (var i = 0; i < 100; ++i) { | |
| for (var j = 0; j < typeNames.length; ++j) { | |
| contentSelected.select = '.' + typeNames[j]; | |
| selected.offsetLeft; | |
| nonSelected.offsetLeft; | |
| } | |
| } | |
| } | |
| function done() | |
| { | |
| wrapper.innerHTML = ''; | |
| } | |
| setup(); | |
| PerfTestRunner.measureTime({ | |
| description: "Measure distribution and layout performance when select attribute is changed", | |
| run: run, | |
| done: done | |
| }); | |
| </script> | |
| </body> | |
| </html> |