Closed Bug 23156 Opened 26 years ago Closed 25 years ago

Reflow targeting wrong - Fieldset should create child frames in nsCSSFrameConstructor

Categories

(Core :: Layout, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: rods, Assigned: eric)

References

Details

(Whiteboard: Fixed will check in with new dirty box code.)

Attachments

(1 file)

The Dropdown is NOT rolluped when inside table that is inside a fieldset. Once the combobox is dropped down and you click on it to roll it up an incremental reflow is generated with the target beng the nsListControlFrame. The reflow works its way down into the fieldset and into the AreaFrame of the fieldset. Then somewhere in the block code between the Fieldset's AreaFrame and the nsTableFrame the reflow gets changed from an incremental reflow to a resize reflow. And for some reason the resize reflow never gets to nsComboboxFrame or the nsListControlframe (which is the target). I will attach a test case.
because of this bug I can't turn on my resize reflow optimization for the combobox. Note: This probablem does not occur for a select inside a fieldset, or a select inside of a table, or a select inside just a form.
adding troy to cc list
Ok, one additional comment. The resize optimization code absolutely relies on there being an incremental reflow when a style change occurs, then followed by one or more resize reflows that typically all get thrown away. So this bug really has two problems: 1) The resize reflow never gets to the listcontrolframe 2) The incremental reflow gets converted to a resize reflow (#2 may cause #1 to happen)
Status: NEW → ASSIGNED
Depends on: 11537
Target Milestone: M14
Just want to make sure I understand: this only happens when a combo-box is inside a table which is inside a fieldset. If that's true, it might be a duplicate of a bug assigned to evaughan for fieldset handling of incremental reflows. See bug 11537. Since 11537 is assigned to M13, I'm assigning this one to M14.
Assignee: buster → evaughan
Status: ASSIGNED → NEW
After talking with Troy, it appears that the root of this evil may be the old style of frame construction where we had frames creating their child frames. The FieldSetFrame is creating an AreaFrame and the reparenting all the child frames from the initial child list to it. This may be the problem, or it could be how the FieldSet processes its reflow command. reassigning to evaughan. All of this frame construction should be moved out into the nsCSSFrameConstructor.
Summary: Incremental reflow is incorrectly changed to a resize reflow → Reflow targeting wrong - Fieldset should create child frames in nsCSSFrameConstructor
Changed summary
Assignee: evaughan → rods
reassigning to me - I have the fix in my tree
Eri, when you turn on the new FeildSet work close this bug out
Assignee: rods → evaughan
Status: NEW → ASSIGNED
Whiteboard: Fixed will check in with new dirty box code.
Fixed.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Fixed in Feb 21 build.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: