Closed Bug 1771060 Opened 2 years ago Closed 2 years ago

[CTW] Caching lines is slow with large blocks

Categories

(Core :: Disability Access APIs, defect)

defect

Tracking

()

RESOLVED FIXED
102 Branch
Tracking Status
firefox102 --- fixed

People

(Reporter: Jamie, Assigned: Jamie)

References

Details

(Whiteboard: [ctw-m2])

Attachments

(1 file)

Spun off bug 1770606.

When sending the cache for a subtree containing a large block, IsLocalAccAtLineStart is slow because it does a linear walk of the lines in the block. With the cursor changes in bug 1770981, we can optimise this by using the line cursor. This way, subsequent calls to fetch subsequent lines in the same block will be much faster.

This will require switching to nsBlockInFlowLineIterator, since nsLineIterator doesn't support the cursor. We don't actually care about line numbers anyway, so nsLineIterator isn't necessary.

nsLineIterator doesn't use the line cursor, so switch to nsBlockInFlowLineIterator.
We don't actually care about the line number here anyway.

Pushed by jteh@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fc89774bca04
Make use of the line cursor in IsLocalAccAtLineStart to improve performance. r=jfkthame
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 102 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: