4 <script src="../resources/runner.js"></script>
5 <div id="sandbox" style="display:none"></div>
7 var sandbox = document.getElementById('sandbox');
9 for (var i = 0; i < 200; ++i)
10 node = node.appendChild(document.createElement('div'));
11 var observing = false;
13 var observer = new WebKitMutationObserver(listener);
14 var tickledSpan = document.createElement('span');
15 observer.observe(tickledSpan, {attributes: true});
17 function resetState() {
24 tickledSpan.setAttribute('data-foo', numRuns);
27 function hideFromObservation(func) {
29 observer.disconnect();
32 observer.observe(sandbox, {childList: true, subtree: true});
35 function listener(mutations) {
37 var time = Date.now() - start;
39 PerfTestRunner.log(time);
43 hideFromObservation(function() {
44 for (var i = 0; i < 50000; ++i)
45 node.appendChild(document.createElement('div'));
48 while (node.firstChild)
49 node.removeChild(node.firstChild);
51 PerfTestRunner.logStatistics(times);
55 PerfTestRunner.log('\n------------\n');
56 PerfTestRunner.log('Running ' + numRuns + ' times with observation');
57 setTimeout(runAgain, 0);
63 PerfTestRunner.log('Running ' + numRuns + ' times without observation');
64 window.addEventListener('load', runAgain);