Closed Bug 286794 Opened 20 years ago Closed 20 years ago

border-collapse tables cause unnecessary one pixel of overflow (causing scrollbar)

Categories

(Core :: Layout: Tables, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla1.8beta2

People

(Reporter: mcsmurf, Assigned: dbaron)

References

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

To reproduce: 1. Open testcase 2. Observe horizontal scrollbar also none is needed This bug was caused by Bug 271755.
Attached file Testcase
I think the solution here is to make the BC table cell code store the full width of the border and pick the appropriate half when it needs one half or the other. While there, I'd also want to convert these values to 16-bit instead of 8-bit.
*** Bug 288515 has been marked as a duplicate of this bug. ***
Summary: Scrollbar appears on page with table where no scrollbar is needed → border-collapse tables cause unnecessary one pixel of overflow (causing scrollbar)
Assignee: nobody → dbaron
OS: Windows 2000 → All
Priority: -- → P1
Hardware: PC → All
Target Milestone: --- → mozilla1.8beta2
Attached patch patch (obsolete) — Splinter Review
This patch does a bunch of things (it's not that big, though): * converts the BC border widths to 16-bit numbers and coverts the remaining (I hope) users of PRUint8 or PRUint32 foo : 8 to use the BCPixelSize typedef * changes what nsBCTableCellFrame stores to be the entire border width instead of just the inner half * simplifies a bunch of the functions using the BCPropertyData using the macros in nsTablePainter.h * adds a float() cast to clarify the macros in nsTablePainter.h (I don't think this should change anything, and it's what some of the existing callers were doing, but not others) * adds some comments * fixes a few other nits I had in my tree (all minor) It does *not* convert what the columns and rows store to be the entire border width, so we still have that inconsistency. That's a good bit more work, and I didn't feel the need to do it right now to fix this regression. (The BCPropertyData for the table already stored the whole thing, so I've just made the inconsistency (table, cell) vs. (row, column) instead of (table) vs. (row, cell, column). It's probably worth fixing columns and rows at some point too.)
Attachment #179669 - Flags: review?(bernd.mielke)
Oh, it also removes an unused version of SetBorderWidth on nsBCTableCellFrame.
Hrm, still doesn't fix bug 224309. Maybe a new patch shortly, if I find the problem...
Blocks: 224309
Attached patch patchSplinter Review
This adds the additional changes needed to make borders wider than 63px actually work.
Attachment #179669 - Attachment is obsolete: true
Attachment #179672 - Flags: review?(bernd.mielke)
*** Bug 288576 has been marked as a duplicate of this bug. ***
Comment on attachment 179669 [details] [diff] [review] patch looks good to me
Attachment #179669 - Flags: review?(bernd.mielke) → review+
Attachment #179669 - Flags: review+
Comment on attachment 179672 [details] [diff] [review] patch this patch is rather the thing that needs review... ;-)
Attachment #179672 - Flags: review?(bernd.mielke) → review+
Attachment #179672 - Flags: superreview?(roc) → superreview+
Comment on attachment 179672 [details] [diff] [review] patch This is a fix for a regression I caused a few weeks ago. Not a tiny patch, but relatively straightforward.
Attachment #179672 - Flags: approval1.8b2?
Comment on attachment 179672 [details] [diff] [review] patch Fix pre-existing misspelling of "dominant" as "dominate" in celldata.h? a=me for 1.8b2. /be
Attachment #179672 - Flags: approval1.8b2? → approval1.8b2+
Fix checked in to trunk, 2005-04-07 11:04 -0700.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
thanks
WOOHOO! Thanks for the fix! :-)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: