Closed Bug 379505 Opened 18 years ago Closed 18 years ago

Content overflows border with -moz-border-radius (regression from 368247)

Categories

(Core :: Graphics, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: netrolller.3d, Assigned: vlad)

References

()

Details

(Keywords: regression)

Attachments

(1 file)

On an object with a black background and a wide, -moz-border-radius border, the black background is visible outside the border. See attachment 213310 [details] for details. Reproductions steps: 1. Load attachment 213310 [details]. 2. Notice the overflowing black on the "rounded borders" and "green circle" testcases.
No, that's about misrendering the dotted border when scrolling. This one is the black "bleeding" outside the border.
FYI, the black background is correct, the border should match the black area instead. attachment 263356 [details] shows a very similar problem. On the other hand there are indeed some problems with a overflowing background. See attachment 254651 [details].
Flags: blocking1.9?
Depends on: 141715
Flags: blocking1.9? → blocking1.9+
Assignee: nobody → vladimir
Attached patch fix corner radius coverage (deleted) — Splinter Review
Note that this patch depends on the latest patch in bug 368247. This is mostly a fix; it's probably the best we're going to get. The curve path that's used is identical to the one that's used for the border outside edge, but there's a problem at the outside edge due to pixel coverage issues. There's a workaround that mostly fixes it, but in some situations (such as the testcase here) you can still see some slight fringing on the outside when border radius is used. (See the comment for more details.) This also fixes bug 353860. An alternate approach is to inset the entire rectangle by 0.5px on all sides; this results in a much better situation in the corners, but on the sides you have bogus non-pixel-aligned bits, and bug 353860 would remain broken.
Attachment #266352 - Flags: review?(roc)
Blocks: 353860
Comment on attachment 266352 [details] [diff] [review] fix corner radius coverage + gfxRect oRect(gfxFloat(aBgClipArea.x) / appUnitsPerPixel, + gfxFloat(aBgClipArea.y) / appUnitsPerPixel, + gfxFloat(aBgClipArea.width) / appUnitsPerPixel, + gfxFloat(aBgClipArea.height) / appUnitsPerPixel); We have utility functions for this now
Attachment #266352 - Flags: superreview+
Attachment #266352 - Flags: review?(roc)
Attachment #266352 - Flags: review+
checked in, with utility function for oRect.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Flags: in-testsuite?
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: