Open Bug 916624 Opened 12 years ago Updated 3 years ago

Vertical gradient on element with height >64k pixels causes page to stop scrolling/rerendering

Categories

(Core :: Layout, defect)

24 Branch
All
Linux
defect

Tracking

()

People

(Reporter: josh, Unassigned)

Details

Attachments

(1 file)

I've attached a minimal test page, which applies a vertical linear gradient to the body. The body contains several thousand paragraphs, and as a result takes up more than 64k pixels of height. If I attempt to scroll this page to the bottom, either by pressing end or by holding down page-down, the scrolling stops somewhere in the middle, right around the 64k pixel mark. Once scrolling stops, the page no longer responds to any attempt to scroll with either the keyboard or the scrollbar. Force-refreshing the page returns to the top. This depends specifically on rendered height: if I increase or decrease the font size, the point at which scrolling freezes will move up or down in the text accordingly. If I decrease the font size enough, I can reach the bottom of the page without triggering the problem. The freeze doesn't always occur at exactly the same location, but generally within a few dozen lines of the 64k pixel mark. I can reproduce this scroll freeze 100% reliably with this test case. The test case seems oddly fragile in a few ways. If I drastically increase the font size on the html element (for instance, going to 50px), the problem goes away, but the gradient still mis-renders in many places in the page (restarting, or showing a solid color). If I replace the relative 1.1em font-size on body with an absolute one, even one resulting in about the same size, I see the same behavior: no scrolling issue, but a mis-rendered gradient.
Scrolling works fine for me, the only problem I see is that around line 840 the background turns blue and stays blue until it fades out to white between 1655-1656. Same thing again at 2498 where it turns blue to the end. I tried different fonts/sizes but could not reproduce the scroll freeze. (on 64-bit Linux)
Severity: normal → minor
(In reply to Mats Palmgren (:mats) from comment #1) > Scrolling works fine for me, the only problem I see is that around line 840 > the background turns > blue and stays blue until it fades out to white between 1655-1656. Same > thing again at 2498 > where it turns blue to the end. I tried different fonts/sizes but could not > reproduce the scroll > freeze. (on 64-bit Linux) What version of Firefox did you attempt to reproduce with? Does the behavior change if you reduce or increase font size?
Note that I can reliably reproduce this in safe mode, as well.
I tested both Firefox Nightly and 23.0.1. Same behavior regardless on fonts/sizes. It might depend on graphics environment, system fonts and such. Can you reproduce the problem if you add an explicit font-family to the test? (it might help others to reproduce the scroll problem). Can you paste your Graphics section from about:support please?
With Firefox 26, I'm now seeing the same behavior described in comment 1: bad gradient rendering, but no hang anymore. Still a bug, but a significant improvement.
Severity: minor → S4
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: