| <!DOCTYPE html> |
| <body> |
| <script src="../resources/runner.js"></script> |
| <script src="resources/line-layout-perf-test.js"></script> |
| <style> |
| #container { |
| width: 400px; |
| height: 200px; |
| overflow: scroll; |
| } |
| </style> |
| <div id="container"></div> |
| <script> |
| const NUMBER_OF_WORDS = 300; |
| const NUMBER_OF_MOVES = 500; |
| const container = document.getElementById('container'); |
| const selection = window.getSelection(); |
| |
| for (let wordCount = NUMBER_OF_WORDS; wordCount > 0; --wordCount) { |
| const word = document.createElement('span'); |
| word.textContent = Math.random().toString(36).slice(2) + ' '; |
| container.appendChild(word); |
| } |
| |
| PerfTestRunner.measureRunsPerSecond({ |
| setup: () => { |
| }, |
| run: () => { |
| container.scrollTo(0, container.scrollHeight); |
| selection.collapse(container, container.childNodes.length); |
| for (let i = 0; i < NUMBER_OF_MOVES; ++i) |
| selection.modify('extend', 'backward', 'character'); |
| }, |
| }); |
| </script> |