Closed Bug 804948 Opened 12 years ago Closed 12 years ago

Add an early-return for scrollbox.ensureElementIsVisible when there is no overflow

Categories

(Toolkit :: UI Widgets, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 752376

People

(Reporter: jaws, Assigned: jaws)

References

Details

(Whiteboard: [Snappy][sps])

Attachments

(1 file)

This profile, http://people.mozilla.com/~bgirard/cleopatra/?report=dee237c64c55db4ab71691167424dd52738965c7, shows some terrible slow-down when switching tabs from about:blank to a long data URI.

There is a large amount of time spent calculating the boundingRect for the scrollbox in _handleTabSelect -> ensureElementIsVisible -> get_scrollClientRect.

I don't think this is necessary if there is no overflow in the scrollbox. I may be missing something, but I think we can assume that the element is visible if the scrollbuttons are collapsed.

This patch adds an early-return in the case that there is no overflow on the tabstrip, which removes the single most expensive part of the associated profile.
Attached patch PatchSplinter Review
See comment #0 for an explanation of this patch. I ran into issues filing this bug.
Attachment #674588 - Flags: review?(dao)
You can use the data URI in https://www.msu.edu/~weinjare/804948/largeDataURI.txt to test with this.

Open one tab with this data URI
Open another tab to about:blank
Wait > 10 seconds for the image to be discarded
Now switch back to the image tab
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
Attachment #674588 - Flags: review?(dao)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: