User Agent: Steps to reproduce: 1. Open testcase, allow to finish loading (jumps to the end). 2. Click at "click and wait 1" Actual results: 2. Fx freezes for about 15 s Expected results: Jumps to anchor immediately. No freeze.
Attachment #557562 - Attachment mime type: text/plain → text/html
good 22.214.171.124 bad 3.0.19
This regressed between 1.9a7pre: 2007071506 and 1.9a7pre: 2007071605 Range: http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=PhoenixTinderbox&branch=HEAD&branchtype=match&dir=&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2007-07-15+06%3A00%3A00&maxdate=2007-07-16+05%3A00%3A00&cvsroot=%2Fcvsroot likely Bug 388019, no?
Status: UNCONFIRMED → NEW
Component: General → Layout
Ever confirmed: true
Keywords: regression, testcase
OS: Linux → All
Product: Firefox → Core
QA Contact: general → layout
Hardware: x86_64 → All
Stefan, thanks for the testcase! So the issue here is that we spend 85% of our time constructing line iterators (which involves two walks over the line list: once to count the lines and once to stick them in the array) and then 15% more finding the line containing a given frame. The reason the construction takes so long is that the <a name="xX"> contains all the text on the page. So when we do the walk over continuations in PresShell::DoScrollContentIntoView we end up calling AccumulateFrameBounds 10498 times. And each call constructs a line iterator for a block that has 14815 lines. I can make this part faster, but the FindLineContaining cost will still be there, of course. That's bug 682052.
Depends on: 682052
(In reply to Boris Zbarsky (:bz) from comment #4) > The reason the construction takes so long is that the <a name="xX"> contains > all the text on the page. Thanks for the hint, I forgot to close the <a> tags. > I can make this part faster, but the FindLineContaining cost will still be > there, of course. That's bug 682052. Why does it jump so fast with Fx 2?
Because we fixed bug 66619 since then, which involves looking at continuations; that's needed to make multi-line links scroll sanely.
Created attachment 557906 [details] [diff] [review] Speed up iterating over the continuations of the frame when scrolling to it.
Attachment #557906 - Flags: review?(roc)
Assignee: nobody → bzbarsky
Priority: -- → P2
Whiteboard: [need review]
Attachment #557906 - Flags: review?(roc) → review+
Whiteboard: [need review] → [need landing]
Whiteboard: [need landing]
Target Milestone: --- → mozilla9
Backed out - https://tbpl.mozilla.org/?tree=Mozilla-Inbound&usebuildbot=1&rev=d01a282b5a40 should be the clearest rev to see the orange from this set, free from the leak that backout fixed.
This patch wasn't the problem; repushed as http://hg.mozilla.org/integration/mozilla-inbound/rev/16813bde78b9
Status: NEW → RESOLVED
Last Resolved: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.