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)
Tracking
()
RESOLVED
FIXED
People
(Reporter: netrolller.3d, Assigned: vlad)
References
()
Details
(Keywords: regression)
Attachments
(1 file)
(deleted),
patch
|
roc
:
review+
roc
:
superreview+
|
Details | Diff | Splinter Review |
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.
Comment 1•18 years ago
|
||
Dupe of bug 379474?
Reporter | ||
Comment 2•18 years ago
|
||
No, that's about misrendering the dotted border when scrolling. This one is the black "bleeding" outside the border.
Comment 3•18 years ago
|
||
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].
Updated•18 years ago
|
Flags: blocking1.9?
Assignee | ||
Updated•18 years ago
|
Flags: blocking1.9? → blocking1.9+
Assignee | ||
Updated•18 years ago
|
Assignee: nobody → vladimir
Assignee | ||
Comment 4•18 years ago
|
||
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)
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+
Assignee | ||
Comment 6•18 years ago
|
||
checked in, with utility function for oRect.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Updated•18 years ago
|
Flags: in-testsuite?
You need to log in
before you can comment on or make changes to this bug.
Description
•