Closed Bug 21193 Opened 25 years ago Closed 16 years ago

[FLOAT] Half-size Box Acid Test Layout broken due to rounding

Categories

(Core :: Layout: Floats, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla1.9

People

(Reporter: Jikes, Unassigned)

References

(Blocks 1 open bug, )

Details

(Keywords: css1, testcase)

Attachments

(2 files)

Oh dear.  Here comes another **** bug report.

Problem: http://style.verso.com/boxacidtest/half/  does not lay out correctly.
Standard 100% Box Acid Test does fine, 200% Box Acid Test does fine, 50% Acid
Test barfs, throwing boxes all over the place.

Platform: Win 95
Build: Daily, 12-8-99
Bug Reporter: Clueless, lazy, and at work without source.

Whether this is due to icky Win32 widget barfing, or actual layout problems, I
do not know, but it won't automagically fix itself no matter what I toggle or
manipulate, and it IS supposed to lay out correctly.

When I get home I will whack on it with a CVS build for Linux.  Please please
please fix CSS1!  There is a special place in Heaven for all you saints who are
working on Mozilla.  Thank you!
Assignee: troy → kipp
Looks like a problem in the block code
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
My memory is that this is actually not a bug, and the half-size boxacidtest is
invalid, because of rounding issues.

Marking as duplicate of bug 4098.  If you want this dealt with, reopen that bug
** and reassign it to the default owner of the component **.

*** This bug has been marked as a duplicate of 4098 ***
Status: RESOLVED → REOPENED
Summary: Half-Acid Test Layout Blow'd Up → [PP]Half-Acid Test Layout Blow'd Up
Actually, I'm reopening this, because it works fine on Linux, and is therefore a
platform parity issue.  Marking as such.
Resolution: DUPLICATE → ---
Clearing DUPLICATE resolution due to reopen.
Updating to default Layout Assignee...kipp no longer with us :-(
Why are you re-reassing layout bugs? Do NOT touch layout bugs.

The bugs are assigned to Kipp so they can stay neatly organized until we have a
new owner for the block/inline code.
mass moving all Kipp's pre-beta bugs to M15.  Nisheeth and I will
prioritize these and selectively move high-priority bugs into M13 and M14.
Keywords: pp
Summary: [PP]Half-Acid Test Layout Blow'd Up → Half-Acid Test Layout Blow'd Up
mine! mine mine mine!  all mine!  whoo-hoo!
Assignee: kipp → buster
This is currently a problem on Linux.  Removing pp keyword, adding css1 keyword,
marking All/All, adding dependency to boxacidtest tracking bug, and marking
[FLOAT].

I think the correct solution to this bug is in the float positioning code:  If a
float doesn't fit horizontally in its parent by less than half a pixel (or
perhaps it should be done by whether the edge would be rounded to outside the
parent / over another float when displayed, if that's possible), then I think it
should not be carried to the next "line" of floats.

I think this is a real problem, since people do use floater-based structures to
make columns using CSS.
Blocks: acid1
Keywords: ppcss1
OS: Windows 95 → All
Hardware: PC → All
Summary: Half-Acid Test Layout Blow'd Up → [FLOAT]Half-Acid Test Layout Blow'd Up
moving all buster m15 bugs to m16.
Target Milestone: M15 → M16
pushing off until after beta2
Status: NEW → ASSIGNED
Target Milestone: M16 → M18
redistributing bugs across future milestones, sorry for the spam
Target Milestone: M18 → M19
Nom nsbeta3, recc nsbeta3+. This test suite is highly influential and closely 
watched in standards compliance circles. css1 compliance issue.
Keywords: nsbeta3
Priority: P3 → P2
As per meeting with ChrisD today, taking QA.
QA Contact: petersen → py8ieh=bugzilla
Blah! Anyone actively working on this?

Taking a stab at prioritizing buster's nsbeta3 bugs...

According to IanH, this is a rounding problem caused by half-pixel values - 
deemed edge-case.
Whiteboard: [nsbeta3-]
Severity: major → minor
Summary: [FLOAT]Half-Acid Test Layout Blow'd Up → [FLOAT] Half-Acid Test Layout Blow'd Up
marking future:  not enough time to get to this edge case before RTM.  if 
someone else wanted to look into adding pixel rounding, I would be happy to work 
with them on it.
Target Milestone: M19 → Future
Keywords: nsbeta3mozilla1.0
Whiteboard: [nsbeta3-]
Moving to m1.0.
Target Milestone: Future → mozilla1.0
Blocks: float
anyone remember what Todd's current server is called?
We need to change nsBlockReflowState::CanPlaceFloater (near the beginning) to
allow a half pixel of overflow.
Build reassigning Buster's bugs to Marc.
Assignee: buster → attinasi
Status: ASSIGNED → NEW
Changing url and moving to m1.1.
The URL given appears fine in both 1.0 and the latest nightly (on Win NT4).
Should this bug be marked fixed?
I think it would be easy to construct testcases that are still broken.
The rounding issue is still there on linux 1.2.1 with text zoom 100%. Try
playing with the text zoom and it'll display sometimes just fine and sometimes
messed up.
==> floats
Assignee: attinasi → float
Component: Layout → Layout: Floats
perhaps of interest to some - the layout switches between proper and improper
rendering when you increase or decrease font size. (1.3a / os x)
Summary: [FLOAT] Half-Acid Test Layout Blow'd Up → [FLOAT] Half-size Box Acid Test Layout broken due to rounding
*** Bug 195505 has been marked as a duplicate of this bug. ***
I think this testcase is a good demonstration of the problem.
Keywords: testcase
retargeting
Target Milestone: mozilla1.1alpha → Future
Target Milestone: Future → ---
Is this bug still a problem? the URL for the test case is long gone,
Although the url in comment 0 is dead, the URL in the url field of the bug
(http://style.cleverchimp.com/boxacidtest/half/) is still alive, and still fails
to render properly using Mozilla 1.7Alpha.  The XHTML Testcase in the
attachments also still exhibits the problem.
I agree there is a problem with rounding here. But I am not sure the testcase
description is good: It expects the each whole div to fit on a line.

But, IMHO, the sum of table's widths is 100%; so calculating I get:

Total width of n tables stacked one after the other on one line =

sum for each table(width + borders + padding)

=

100% div's width + n * 1px > parent div's width

(for what I reckon, either you decide that the half border of collapsed borders
table bleeds and as such can overwrite the other border; then sum = 100% OK, or
you decide to enlarge/inflate table's margin to prevent overlapping, and then
the previous calculus is good)

So the bug would be solved by (I think -- yes I do... sometimes)
a) Solving the "borders of collapsed table" bug
(https://bugzilla.mozilla.org/show_bug.cgi?id=155955)
b) Solving the "rounding errors" bug (do not recall the number)

_FrnchFrgg_
The testcase is now WFM, but the URL still fails using Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20061208 Minefield/3.0a1 ID:2006120804 [cairo]
Attached image screenshot of URL link
The testcase now WFM on Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9) Gecko/2008053008 Firefox/3.0 and the URL shows a correct half-size image.

Should this be resolved WFM? (This is the last bug blocking tracking bug 8914)
Might this have been fixed by bug 287624 or (more likely) bug 417178?
Assignee: layout.floats → nobody
QA Contact: ian → layout.floats
Fixed between Linux nightlies 2008-03-24-04-trunk and 2008-03-25-04-trunk, thus by bug 417178.
Status: NEW → RESOLVED
Closed: 25 years ago16 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla1.9
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: