| <!doctype html> |
| <head> |
| <script src="../resources/runner.js"></script> |
| <style> |
| #rootview { |
| position: absolute; |
| left: 0; |
| top: 0; |
| right: 0; |
| bottom: 0; |
| display: flex; |
| flex-direction: column; |
| } |
| #elements-content { color: gray; overflow: auto; } |
| .outline { outline: auto; } |
| </style> |
| </head> |
| <body> |
| <div id="rootview"> |
| <div id="elements-content"></div> |
| </div> |
| <script> |
| const container = document.getElementById('elements-content'); |
| const kItems = 100; |
| for (let i = 0; i < kItems; ++i) { |
| const child = document.createElement('li'); |
| container.appendChild(child); |
| child.innerHTML = `child ${i} - ` + `<span>= </span>`.repeat(200); |
| } |
| |
| PerfTestRunner.forceLayout(); |
| |
| const startAt = Date.now(); |
| |
| // For http://crbug.com/980399 |
| PerfTestRunner.measureRunsPerSecond({ |
| descritpion: 'Measuers performance of moving foucs around list item.', |
| run : () => { |
| let lastChild = null; |
| for (const child of container.childNodes) { |
| if (lastChild) lastChild.classList.toggle('outline'); |
| child.classList.toggle('outline'); |
| lastChild = child; |
| PerfTestRunner.forceLayout(); |
| } |
| }, |
| done: () => { |
| container.textContent = ''; |
| }, |
| }); |
| </script> |
| </body> |