Closed Bug 124963 Opened 23 years ago Closed 23 years ago

Table becomes excessively wide with XBL checkboxes

Categories

(Core :: XUL, defect)

defect
Not set
blocker

Tracking

()

RESOLVED FIXED
mozilla1.0

People

(Reporter: bryner, Assigned: bryner)

References

Details

Attachments

(2 files)

Steps to reproduce: 1. Enable XBL form controls (Preferences -> Debug) 2. Go to http://bugzilla.mozilla.org/query.cgi and do a query that will give a list of bugs. 3. Click the "Change several bugs at once" link at the bottom of the page. Result: The table has become several thousand pixels wide, leaving a large empty area between the ID and Severity columns. This is a blocker for turning on XBL checkboxes.
Blocks: 112716
Severity: normal → blocker
Keywords: nsbeta1
bryner: could you attach a less complicated testcase? ;-), where is the maxelementsize for the XBL checkboxes computed?
Using XBL- based form controls are still in construction. That might be reason for this error. I cant find the link "Change several bugs at once" at the bottom of the query list page.
Marking nsbeta1+
Keywords: nsbeta1nsbeta1+
Target Milestone: --- → mozilla1.0
Attached file test case (deleted) —
This is a fairly reduced testcase for the problem. For the problem to appear, it seems to be necessary to have two rows in the table, both of which contain a checkbox.
I'm not seeing the problem with a 2/11/2 build; the checkboxes looked fine. Have xbl form controls changed that much in a day or am I doing something wrong.
a correct initial reflow without xbl form controls area 00E49298 r=1 a=9180,UC c=9180,UC cnt=899 block 00E49580 r=1 a=9180,UC c=8940,UC cnt=900 text 00E4980C r=0 a=8940,UC c=UC,UC cnt=901 text 00E4980C d=0,0 tblO 00E499DC r=0 a=8940,UC c=0,0 cnt=902 tbl 00E5A37C r=0 a=8940,UC c=UC,UC cnt=903 rowG 00E5A51C r=0 a=UC,UC c=UC,UC cnt=904 row 00E5A680 r=0 a=UC,UC c=UC,UC cnt=905 cell 00E5A7F4 r=0 a=UC,UC c=UC,UC cnt=906 block 00E5A854 r=0 a=UC,UC c=UC,UC cnt=907 CheckboxControl(input)(0) 00E5AB3C r=0 a=UC,UC c=135,135 cnt=908 CheckboxControl(input)(0) 00E5AB3C d=195,195 me=195 text 00E5AC88 r=0 a=UC,UC c=UC,UC cnt=909 text 00E5AC88 d=600,285 me=600 block 00E5A854 d=900,285 me=600 cell 00E5A7F4 d=930,315 me=630 the bad reflow with xbl area 02ED4154 r=1 a=15225,UC c=15225,UC cnt=653 block 02ED443C r=1 a=15225,UC c=14985,UC cnt=654 text 02ED46A8 r=0 a=14985,UC c=UC,UC cnt=655 text 02ED46A8 d=0,0 tblO 02ED4878 r=0 a=14985,UC c=0,0 cnt=656 tbl 02ED4A48 r=0 a=14985,UC c=UC,UC cnt=657 rowG 02ECC2B4 r=0 a=UC,UC c=UC,UC cnt=658 row 02ED4D1C r=0 a=UC,UC c=UC,UC cnt=659 cell 02ED4E90 r=0 a=UC,UC c=UC,UC cnt=660 block 02ED4EF0 r=0 a=UC,UC c=UC,UC cnt=661 inline 02ED521C r=0 a=UC,UC c=UC,UC cnt=662 inline 02ED521C d=60,300 me=0 text 02ED5288 r=0 a=UC,UC c=UC,UC cnt=663 text 02ED5288 d=600,285 me=600 block 02ED4EF0 d=765,285 me=600 cell 02ED4E90 d=795,315 me=630 problems: 1. the inline as a replacement for the checkbox is to small 60twips instead of 195 2. the reported maxElementsize is 0 -> tables could squeeze it down to zero. This is not a table problem. If the xbl form element will report correct sizes as the non-xbl counterpart the reflow will work as expected. I have no idea how one should debug the xbl elements, till yesterday they even did not work in viewer.
Thanks Bernd, --> XBL, CCing attinasi.
Assignee: karnaze → hyatt
Component: HTMLTables → XBL
QA Contact: amar → ian
Actually, this is a XUL box bug.
Component: XBL → XP Toolkit/Widgets: XUL
QA Contact: ian → jrgm
taking, i have a fix
Assignee: hyatt → bryner
Status: NEW → ASSIGNED
Attached patch patch (deleted) — Splinter Review
Ok, here's what the problem was. nsLeafBoxFrame::Reflow was not setting maxElementSize during the reflow. In a debug build, we check this against a bogus 0xdeadbeef starting value and clear it to 0 if it's not set, so this problem only shows up in non-debug builds. Anyway, nsLeafBoxFrame::Reflow should work exactly like nsBoxFrame::Reflow, except that they can't share the implementation due to the LeafFrame/ContainerFrame class structure. What I did was synced up nsLeafBoxFrame's version with the current nsBoxFrame version, which does the right thing. I added the slight optimization of not checking NS_STATE_IS_ROOT.
Comment on attachment 69345 [details] [diff] [review] patch r=jag with the comments added we discussed.
Attachment #69345 - Flags: review+
checked in
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
Component: XP Toolkit/Widgets: XUL → XUL
QA Contact: jrgmorrison → xptoolkit.widgets
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: