ff3 rendering nested tables before page fully loaded causing concertina-like left-to-right display behaviour due to incorrectly estimated column widths.




10 years ago
10 years ago


(Reporter: Derek Rogers, Unassigned)


3.0 Branch
Windows XP

Firefox Tracking Flags

(Not tracked)





10 years ago
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9) Gecko/2008052906 Firefox/3.0
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9) Gecko/2008052906 Firefox/3.0

My site uses lots of nested tables and since Firefox 3 became available I have noticed the rendering of these tables behaves in a lef-to-right conertina-like behaviour.

You initially see the tables at their full expansion which is grossly overestimated by the browser and as everything starts to complete after loading the rendering engine realises it doesn't need the column width's allocated and starts to shrink them to the widths desired. This shrinking of the columns as the page loads causes the left-to-right concertina-like behaviour.

This flash movie demonstrates the behvaiour (albeit briefly) and is best shown upon the second refresh (where the cursor disappears off the top of the screen) about halfway through the movie. Note that sometimes it happens so fast (because it's locally hosted) that you don't notice the rendering characteristic.

At the end of the movie the images are not displayed to show how the "alt" attribute text of each of the numbered images in the 'wizard' table is causing FF3 to estimate the TD column width to be far greater than required once the images are successfully loaded and the alt tags are no longer displayed.

Reproducible: Sometimes

Steps to Reproduce:
1. Watch the flash movie - unfortunately it can't be reproduced due to confidentiality concerns.

Expected Results:  
Waited until the column widths are correctly estimated before displaying the content of the page.

Have started to notice this behaviour on other sites as well now.


10 years ago
Version: unspecified → 3.0 Branch
Maybe changing the value of the pref nglayout.initialpaint.delay will help? 
In about:config make a new pref with the name nglayout.initialpaint.delay and an integer value of whatever you want (try 10000 or 5000).

If there's a big difference between the Firefox 2 and Firefox 3 behaviour a testcase is needed.

Comment 2

10 years ago
The table layout algorithm isn't overestimating anything -- the "problem" is that the image alt text is shown expanded while the images load.  If you give your images width and height attributes, that won't happen, and all browsers (not just Firefox) will be able to compute the table layout correctly.

(Btw, the link from to the HTML redirects to another IP address and never loads.)
Last Resolved: 10 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.