Last Comment Bug 423823 - Overflowing tbody rows render background color for overflowing rows
: Overflowing tbody rows render background color for overflowing rows
Status: VERIFIED FIXED
: regression, testcase, verified1.9.0.2, verified1.9.1
Product: Core
Classification: Components
Component: Layout: Tables (show other bugs)
: Trunk
: x86 Windows XP
: -- normal with 4 votes (vote)
: ---
Assigned To: Robert O'Callahan (:roc) (email my personal email if necessary)
:
:
Mentors:
: 438017 438827 439444 439653 444000 449598 452473 (view as bug list)
Depends on:
Blocks: 317375
  Show dependency treegraph
 
Reported: 2008-03-19 03:50 PDT by Plucera
Modified: 2009-07-21 10:17 PDT (History)
24 users (show)
roc: blocking1.9.1+
samuel.sidler+old: wanted1.9.0.x+
roc: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
test case (1.08 KB, text/html)
2008-03-19 03:51 PDT, Plucera
no flags Details
this file demonstrates the bug and also a bug of rules (21.61 KB, text/html)
2008-03-22 15:57 PDT, Michael Fayez
no flags Details
reduced testcase (1.52 KB, text/html)
2008-05-24 23:33 PDT, Bernd
no flags Details
fix (7.03 KB, patch)
2008-06-24 15:32 PDT, Robert O'Callahan (:roc) (email my personal email if necessary)
no flags Details | Diff | Splinter Review
fix v2 (7.44 KB, patch)
2008-07-09 22:53 PDT, Robert O'Callahan (:roc) (email my personal email if necessary)
fantasai.bugs: review+
dbaron: superreview+
samuel.sidler+old: approval1.9.0.2+
Details | Diff | Splinter Review
Firefox 3 on Ubuntu 8.04 deterioration screenshot (62.78 KB, image/png)
2008-07-14 05:04 PDT, Lachezar Dobrev
no flags Details

Description Plucera 2008-03-19 03:50:51 PDT
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b4) Gecko/2008030714 Firefox/3.0b4
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9b4) Gecko/2008030714 Firefox/3.0b4

Se attached test-case. If the rows of the tbody overflows, background color renders outside its boundary.

Reproducible: Always

Steps to Reproduce:
1.Open test case
2.Set browser window to a size that makes the tbody rows overflow.

Actual Results:  
The background renders outside the tbody-box

Expected Results:  
No background renders outside
Comment 1 Plucera 2008-03-19 03:51:56 PDT
Created attachment 310440 [details]
test case
Comment 2 Plucera 2008-03-19 08:35:20 PDT
I may add that this is a FF3 bug only
Comment 3 Michael Fayez 2008-03-22 15:18:01 PDT
This is a bug in Firefox 3 only not Firefox 2
Comment 4 Michael Fayez 2008-03-22 15:57:47 PDT
Created attachment 311195 [details]
this file demonstrates the bug and also a bug of rules
Comment 5 Matthew Knowlton 2008-05-23 08:39:59 PDT
I am also encountering this issue on a system. In my case we have a table that the height attribute has been set upon the tbody so that you can scroll through the tbody. I have different inline styles being applied to the tr tags. After the style for the set height is applied the background-colors that were on the rows before they disappeared into the overflow remain on the screen.
Comment 6 Matthew Knowlton 2008-05-23 08:42:30 PDT
The second file already attached to this bug https://bugzilla.mozilla.org/attachment.cgi?id=311195
is a good represantation of how it is happening.
Comment 7 Bernd 2008-05-24 23:33:48 PDT
Created attachment 322419 [details]
reduced testcase
Comment 8 Bernd 2008-05-25 09:15:10 PDT
the key is the background-color on the row, if the background-color is set on the td everything is OK.
Comment 9 Bernd 2008-05-25 09:30:43 PDT
hmm I did file this before in 2005 and it got revisited in 2006, taking the testcase there.

*** This bug has been marked as a duplicate of bug 317137 ***
Comment 10 Brian Polidoro 2008-06-24 12:21:13 PDT
Bug 317137 is about table columns.  This bug is about table rows.  Reopening.
Comment 11 Brian Polidoro 2008-06-24 12:25:25 PDT
In bug Bug 438017 Ria found that this regressed from Bug 317375.
Comment 12 Brian Polidoro 2008-06-24 12:26:06 PDT
*** Bug 438017 has been marked as a duplicate of this bug. ***
Comment 13 Brian Polidoro 2008-06-24 12:26:33 PDT
*** Bug 439444 has been marked as a duplicate of this bug. ***
Comment 14 Brian Polidoro 2008-06-24 12:27:26 PDT
*** Bug 438827 has been marked as a duplicate of this bug. ***
Comment 15 Brian Polidoro 2008-06-24 12:27:52 PDT
*** Bug 439653 has been marked as a duplicate of this bug. ***
Comment 16 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-06-24 14:12:36 PDT
Probably the best option is to treat rowgroups with overflow not 'visible' like rowgroups with 'opacity' --- start a new stacking context there.
Comment 17 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-06-24 15:32:55 PDT
Created attachment 326572 [details] [diff] [review]
fix

That approach is simple enough.
Comment 18 fantasai 2008-07-03 15:20:13 PDT
Comment on attachment 326572 [details] [diff] [review]
fix

I don't actually understand the data structures here well enough to know if IsScrolled()'s definition is right. Does this fix also work for -moz-hidden-unscrollable?

Please add reftests for '-moz-hidden-unscrollable' and 'scroll'
Comment 19 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-07-03 15:34:23 PDT
Comment on attachment 326572 [details] [diff] [review]
fix

IsScrolled would return false for -moz-hidden-unscrollable. I suppose we should handle that too.
Comment 20 philippe (part-time) 2008-07-08 01:49:34 PDT
(In reply to comment #8)
> the key is the background-color on the row, if the background-color is set on
> the td everything is OK.
>
Bug 444000 has a test case where the background is assigned to the <td>. The key seems to specify explicitly:
table {border-collapse:collapse).

Comment 21 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-07-09 22:53:15 PDT
Created attachment 328824 [details] [diff] [review]
fix v2

Updated.

overflow:-moz-hidden-unscrollable actually doesn't work on table rowgroups at all; the layout is wrong. So I'm not testing that.
Comment 22 fantasai 2008-07-09 23:26:51 PDT
Comment on attachment 328824 [details] [diff] [review]
fix v2

+ GetStyleDisplay()->mOverflowX == NS_STYLE_OVERFLOW_CLIP

I would have expected that to say mOverflowY, no? Does the patch work if it's just overflow-y: hidden;?
Comment 23 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-07-09 23:32:20 PDT
You can't have OVERFLOW_CLIP in only one direction.
Comment 24 Lachezar Dobrev 2008-07-14 05:04:56 PDT
Created attachment 329428 [details]
Firefox 3 on Ubuntu 8.04 deterioration screenshot

I am attaching a screen-shot from Ubuntu with Mozilla Firefox 3.
The screen shot shows a severely deteriorated rendering of the attached test case.

Reproducing:
1. Open the 'This file demonstrates...' attachment.
2. Scroll the table body a few notches.
3. Refresh the page (not CTRL-F5, just F5).
4. Firefox has remembered the scroll position, and draws the table offset-ed.

Result: Firefox draws the table > body > tr background ignoring the clip area, starting at the 'correct' position, but misses the border.
The screen shot also demonstrates previously unstated 'funny behavior' with the table inner borders (see how they scroll inconsistently).

Testbed: Ubuntu 8.04 as of 14th of July 2008.

Our Intranet application is based on Firefox 2 and works great, seeing this deterioration with Firefox 3 has made us forbid company-wide migration due to the extensive use of scrollable tables throughout the application.
Comment 25 fantasai 2008-07-14 09:45:16 PDT
roc, was that a "yes, that should be mOverflowY but it doesn't matter" or "no that actually should be mOverflowX"?

Lachezar, please don't report bugs by posting comments in existing ones. It's not helpful. We already know how to reproduce this one. If the bug you're seeing is not the one described here, file a new report.
Comment 26 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-07-14 15:33:01 PDT
That was a "it's fine for it to be mOverflowX".
Comment 27 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-07-14 19:32:44 PDT
Sorry. Either both mOverflowX and mOverflowY are -moz-hidden-unscrollable or they both aren't, so it doesn't matter which one we test. Testing mOverflowY would be slightly more logical though so I'll change that.
Comment 28 fantasai 2008-07-14 19:34:45 PDT
Comment on attachment 328824 [details] [diff] [review]
fix v2

r=fantasai with s/mOverflowX/mOverflowY/
Comment 29 denis 2008-08-07 21:57:41 PDT
*** Bug 449598 has been marked as a duplicate of this bug. ***
Comment 30 David Baron :dbaron: ⌚️UTC-8 2008-08-08 15:27:00 PDT
Comment on attachment 328824 [details] [diff] [review]
fix v2

sr=dbaron
Comment 31 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-08-16 02:10:52 PDT
Pushed 36c88ee6e809.
Comment 32 Daniel.S 2008-08-16 04:49:44 PDT
*** Bug 444000 has been marked as a duplicate of this bug. ***
Comment 33 Samuel Sidler (old account; do not CC) 2008-08-17 19:06:56 PDT
Let's get this in 1.9.0.x since it's a regression from Firefox 2.

roc: Can you request approval on a patch for 1.9.0.x?
Comment 34 Samuel Sidler (old account; do not CC) 2008-08-17 19:53:30 PDT
Comment on attachment 328824 [details] [diff] [review]
fix v2

Approved for 1.9.0.2. Please land in CVS. a=ss
Comment 35 Robert O'Callahan (:roc) (email my personal email if necessary) 2008-08-25 02:38:23 PDT
Checked into 1.9.0.
Comment 36 philippe (part-time) 2008-08-27 16:45:23 PDT
*** Bug 452473 has been marked as a duplicate of this bug. ***
Comment 37 Al Billings [:abillings] 2008-09-09 14:59:49 PDT
Verified for 1.9.0.2 with Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.0.2) Gecko/2008090212 Firefox/3.0.2.
Comment 38 Aakash Desai [:aakashd] 2009-07-21 10:17:51 PDT
verified FIXED on builds:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090721 Minefield/3.6a1pre ID:20090721044139

and

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.1pre) Gecko/20090720 Shiretoko/3.5.1pre ID:20090720042942

Note You need to log in before you can comment on or make changes to this bug.