Add repository first-content User Timings
What does this MR do and why?
Adds User Timings for the first real file-tree row and first highlighted blob content. Both wait for content in the DOM and keep the first measurement when more lazy-rendered rows or chunks appear.
References
Related to #402772
Screenshots or screen recordings
No visible UI change. The new User Timing entries are “Repository File Tree: First row” and “Repository File Viewer: First highlighted content”.
How to set up and validate locally
Open a repository tree and a text blob. Inspect the User Timing marks and measures in browser performance tools. Scrolling through more rows or chunks should keep the first measurements.
Run the tree content, table index, table row, CE and EE blob content viewer, source viewer and source chunk Jest specs. Local result: 251 tests and 4 snapshots passed. ESLint and Prettier passed on all changed files.
MR acceptance checklist
Evaluate this MR against the MR acceptance checklist.