| <!DOCTYPE html> |
| <html> |
| <head> |
| <title>Performance test for appending inline items one at a time and setting selection</title> |
| <meta charset="utf-8"> |
| <script src="../resources/runner.js"></script> |
| </head> |
| <body> |
| <div id="container"></div> |
| <script> |
| const pangrams = [ |
| 'Amazingly few discotheques provide jukeboxes.', |
| 'All questions asked by five watched experts amaze the judge.', |
| 'Pack my box with five dozen liquor jugs.', |
| 'Sphinx of black quartz, judge my vow!', |
| 'My faxed joke won a pager in the cable TV quiz show.' |
| ]; |
| |
| function addItem(container, text) { |
| container.appendChild(document.createTextNode(text)); |
| container.appendChild(document.createElement('br')); |
| } |
| |
| function test() { |
| const container = document.createElement('div'); |
| document.body.appendChild(container); |
| for (var i = 0; i < 100; i++) { |
| addItem(container, i + ') ' + pangrams[i % 5]); |
| PerfTestRunner.forceLayout(); |
| getSelection().collapse(container.lastChild, 0); |
| getSelection().removeAllRanges(); |
| } |
| document.body.removeChild(container); |
| } |
| |
| PerfTestRunner.measureRunsPerSecond({ |
| description: 'Measures performance of appending inline ' + |
| 'items one at a time and setting selection', |
| run: test |
| }); |
| </script> |
| </body> |
| </html> |