Closed
Bug 413311
Opened 17 years ago
Closed 16 years ago
[BC] borders do not react to dynamic CSS class changes of TRs
Categories
(Core :: Layout: Tables, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: marcus, Unassigned)
References
Details
(Keywords: testcase)
Attachments
(2 files)
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b3pre) Gecko/2008011704 Minefield/3.0b3pre
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b3pre) Gecko/2008011704 Minefield/3.0b3pre
Collapsed borders behave incorrectly when the style for TR elements is changed dynamically by script. The affected borders do not follow the CSS priority rules for collapsed borders. Sometimes only part of the border (e.g. the bottom border) is correctly updated.
The same DOM in a static HTML file is rendered correctly.
Reproducible: Always
Reporter | ||
Comment 1•17 years ago
|
||
For comparison, Konqueror gets this case right.
Reporter | ||
Comment 2•17 years ago
|
||
The bottom border of the second row is rendered correctly (blue). The right, left and top borders remain dotted red.
Comment 3•17 years ago
|
||
CONFIRMED
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9b3pre) Gecko/2008012104 Minefield/3.0b3pre
vs.
Konqueror
This is not a regression, 2.0.0.11 reveals same issue.
Note the reporter is setting className via JS in body onLoad.
Comment 4•17 years ago
|
||
Is it just me or should product be changed to "Firefox"? Hoping to flag for 3.0
Reporter | ||
Comment 5•17 years ago
|
||
(In reply to comment #3)
> Note the reporter is setting className via JS in body onLoad.
The bug also shows if className is set at a later time. My original problem came up when working on a rich AJAX framework.
Comment 6•17 years ago
|
||
Could someone please change product to Firefox so this can be flagged?
Status: UNCONFIRMED → NEW
Ever confirmed: true
No. It's in the correct product.
The Firefox 3 release ships with Gecko 1.9, so the *1.9 flags here correspond to the *firefox3 flags in the Firefox product.
Comment 8•17 years ago
|
||
rgr, thanks David.
Updated•17 years ago
|
Flags: blocking1.9?
Comment 9•17 years ago
|
||
If this is not a regression from 200x than I'm moving to wanted list. As in we'd love to fix it but will not block the release on it.
Flags: wanted1.9+
Flags: blocking1.9?
Flags: blocking1.9-
Comment 10•17 years ago
|
||
This is not a regression, it simply did never work as it was never implemented. There is no code that would react on a border style change. It should trigger a new border collapse computation via SetBCDamageArea. If you search for this function you will find that it is only used for frame manipulations (adding/removing frames).
Comment 11•17 years ago
|
||
And it does not work if you set on any of the table frames (luckily IE7 renders the test case as we do)
Comment 12•17 years ago
|
||
Boris: is there a way to detect during reflow that the border style has changed?
![]() |
||
Comment 13•17 years ago
|
||
You could set a bit in DidSetStyleContext(), but that would only tell you that _some_ style has changed, not what style.
I suppose DidSetStyleContext could compare the new border style to the old one if the old one is stored somewhere outside the style context.
Another option is to add an additional mechanism for the frame to be notified of this change (another change hint, basically), I guess. It'd be pretty hacky.
Comment 14•17 years ago
|
||
I think this is not feasible/desirable in the 1.9 time frame. If we start to react on the dynamic changes we would need a full round of fuzzing + bug squeezing in a very fragile code (euphemism for messy code).
Comment 15•17 years ago
|
||
and btw this is a dupe imho of bug 258377
Comment 16•17 years ago
|
||
Can this please be retriaged, I am against putting this into the 1.9 see comment 14.
Flags: blocking1.9?
Comment 17•17 years ago
|
||
Taking this off the blocker list per comment #16 (and comment #14).
Thanks, Bernd.
Flags: blocking1.9? → blocking1.9-
Flags: wanted1.9-
Flags: wanted1.9+
Flags: wanted-next+
Comment 18•16 years ago
|
||
fixed by checkin for bug 258377
You need to log in
before you can comment on or make changes to this bug.
Description
•