4 <script src="../resources/runner.js"></script>
5 <div id="sandbox" style="display:none"></div>
7 var sandbox = document.getElementById('sandbox');
10 var observer = new WebKitMutationObserver(listener);
11 var tickledSpan = document.createElement('span');
12 observer.observe(tickledSpan, {attributes: true});
14 function resetState() {
21 tickledSpan.setAttribute('data-foo', numRuns);
24 function hideFromObservation(func) {
29 observer.observe(sandbox, {childList: true});
32 function listener(mutations) {
34 var time = Date.now() - start;
36 PerfTestRunner.log(time);
40 hideFromObservation(function() {
41 for (var i = 0; i < 50000; ++i)
42 sandbox.appendChild(document.createElement('div'));
45 while (sandbox.firstChild)
46 sandbox.removeChild(sandbox.firstChild);
48 PerfTestRunner.logStatistics(times);
50 observer.observe(sandbox, {childList: true});
53 PerfTestRunner.log('\n------------\n');
54 PerfTestRunner.log('Running ' + numRuns + ' times with observation');
55 setTimeout(runAgain, 0);
61 PerfTestRunner.log('Running ' + numRuns + ' times without observation');
62 window.addEventListener('load', runAgain);