Open Bug 501263 Opened 10 years ago Updated Last year

rendering glitch when stripe borders are on either side of a dotted border but only one corner curved


(Core :: Web Painting, defect, minor)

Not set




(Reporter: zwol, Unassigned)


(Depends on 1 open bug)



(1 file)

The fixes currently being worked out in bug 19963 for dotted/dashed interaction with solid or stripe borders do not address a number of corner cases, and this is one of them.  If you have

 #foo {
   border-width: 10px;
   border-style: dotted double;

then, after 19963 lands, all four corners will be drawn striped, not dotted, as if you had had border-style: dotted none;.  (This is as intended.)  If instead you have

  #foo {
   border-width: 10px;
   border-style: dotted double;
   [-moz-]border-radius: 30px 0;

there will be an obvious error in the rendering of the curved corners (bug 382721) but also, the sharp corners will be drawn as-if the style was 'solid double' -- with a solid-colored triangle occupying the half of the corner that "belongs" to the dotted side.  There are similar, but harder-to-describe, errors with groove/ridge adjacent to dotted, or -moz-border-colors adjacent to dotted.  That is this bug.

(The *current* behavior -- bug 19963 not yet having been landed -- is also wrong, but in a different way.  There is no use working on this bug before 19963 lands.  As a lot of the problem here is that we are stuck using filled, clipped rounded rectangles to draw rounded corners and so it's hard to distinguish the sharp corners in this case from the curved ones, bug 501262 would also help.)
Attached file test case
Here's a test case demonstrating the problem; after 19963 lands, compare the bottom left corners on the second line with those on the first.  (If there aren't four boxes per line, make your window wider.)
I no longer work for Mozilla, I am deassigning myself from bugs I have no intention of working on as a volunteer.
Assignee: zackw → nobody
Component: Layout: View Rendering → Layout: Web Painting
You need to log in before you can comment on or make changes to this bug.