Closed Bug 23156 Opened 25 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: