Closed Bug 459945 Opened 11 years ago Closed 10 years ago

Issues with inner border-radius computation for outer rings on grooved borders

Categories

(Core :: Layout: Block and Inline, defect)

defect
Not set

Tracking

()

RESOLVED INVALID

People

(Reporter: cmtalbert, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

This is a follow-on bug for the issue discovered in bug 458131, comment 6.

Here is the relevant discussion from that comment:

> * border-intersection-double.html -- should the double lines of a border always
> be parallel?  Here, you can see that in the bottom right corner, the lines move
> toward each other.  These borders do not change thickness, so I think this is
> also a bug. Zach, what do you think?

Staring at that and border-intersection-groove makes me think the problem is
we're not doing a proper inner radius computation for the outer ring(s).  It's
more obvious in -groove because there's only two rings to look at; the
curvature of the middle boundary should not be exactly the same as the
curvature of the outer boundary.

It's not possible to make the lines all be perfectly parallel here, I think,
but doing that ought to make it look better anyway.

I'll attach the groove testcase that we were discussing.
Attached image another testcase (SVG)
I finally got back around to investigating this in more detail, and it looks like either there's no bug or the bug is in the spec.  This and the HTML file I just attached render eye-identical (possibly not reftest-identical) in current trunk, which means we *are* shrinking the intermediate ellipse semi-axes as the spec says, but you can still see the visual glitch that Clint pointed out - in both files.  (It's most obvious on the inner stripe, which looks kinked.)

What I now think is, to get visually smooth inner stripes, we have to either allow the inner curves to extend past the corner rectangle to some extent, or *not* reduce the inner curve semi-axes as much as the border thickness would suggest, or both.  Neither of these things is specified and frankly I don't know what the right behavior would be.
This is the reftest analyzer output for the HTML vs SVG reference.  Although visually identical, reftest claims that the curves are not equal.
I'm going to close this as INVALID.  I audited the code and confirmed that the inner stripe radii are being calculated as specified.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.