Reflow targeting wrong - Fieldset should create child frames in nsCSSFrameConstructor

VERIFIED FIXED in M14

Status

()

P3
major
VERIFIED FIXED
19 years ago
19 years ago

People

(Reporter: rods, Assigned: eric)

Tracking

Trunk
x86
Windows NT
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

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

Attachments

(1 attachment)

(Reporter)

Description

19 years ago
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.
(Reporter)

Comment 1

19 years ago
Created attachment 3979 [details]
Demostrates the problem
(Reporter)

Comment 2

19 years ago
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.
(Reporter)

Comment 3

19 years ago
adding troy to cc list
(Reporter)

Comment 4

19 years ago
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)

Updated

19 years ago
Status: NEW → ASSIGNED
Depends on: 11537
Target Milestone: M14

Comment 5

19 years ago
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.
(Reporter)

Updated

19 years ago
Assignee: buster → evaughan
Status: ASSIGNED → NEW
(Reporter)

Comment 6

19 years ago
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.
(Reporter)

Updated

19 years ago
Summary: Incremental reflow is incorrectly changed to a resize reflow → Reflow targeting wrong - Fieldset should create child frames in nsCSSFrameConstructor
(Reporter)

Comment 7

19 years ago
Changed summary
(Reporter)

Updated

19 years ago
Assignee: evaughan → rods
(Reporter)

Comment 8

19 years ago
reassigning to me - I have the fix in my tree
(Reporter)

Comment 9

19 years ago
Eri, when you turn on the new FeildSet work close this bug out
Assignee: rods → evaughan
(Assignee)

Updated

19 years ago
Status: NEW → ASSIGNED
Whiteboard: Fixed will check in with new dirty box code.
(Assignee)

Comment 10

19 years ago
Fixed.
Status: ASSIGNED → RESOLVED
Last Resolved: 19 years ago
Resolution: --- → FIXED

Comment 11

19 years ago
Fixed in Feb 21 build.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.