Dotted border rendering artifacts when setting elliptical shaped corner

RESOLVED FIXED in Firefox 51

Status

()

--
minor
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: massamino, Assigned: arai)

Tracking

50 Branch
mozilla53
x86_64
Windows 10
Points:
---

Firefox Tracking Flags

(firefox50 wontfix, firefox51 fixed, firefox52 fixed, firefox53 fixed)

Details

Attachments

(4 attachments)

(Reporter)

Description

2 years ago
testcase
When setting top and bottom border width to a value and setting the side borders to 0 and than setting the top right border radius to 40px 200px, the rendering of the border goes wrong.

It shows an overshoot after half the height of the div.
(Reporter)

Updated

2 years ago
Blocks: 382721
(Reporter)

Comment 1

2 years ago
To see the result I get (dashed is ok)
Status: UNCONFIRMED → NEW
Has STR: --- → yes
status-firefox51: --- → affected
Ever confirmed: true
Component: General → Layout
Product: Firefox → Core
I reproduce with latest Aurora v51 (20161114004005) and latest Nightly v53 (20161117030212).
status-firefox53: --- → affected
thanks.
I found that the DottedCornerFinder goes into wrong state after the dot size becomes almost 0.
Will try fixing.
Assignee: nobody → arai.unmht
Status: NEW → ASSIGNED
While calculating circle around r=0, it may fail to search correct circle (due to the restriction for avoid taking too long time), and in that case it returns wrong circle that is bigger than previous circle (note that we're calculating circles from wider side to narrow side),

So changed the code to detect that case and stop calculating.
it will now return circle with r=0, so that nsCSSBorderRenderer::DrawDottedCornerSlow will leave the loop.


I'll try creating reftest, but it may take some time, so I'd like to ask review for the code first.
Attachment #8812310 - Flags: review?(jmuizelaar)
Added testcase from comment #0.
Attachment #8812323 - Flags: review?(jmuizelaar)
Attachment #8812310 - Flags: review?(jmuizelaar) → review+
Attachment #8812323 - Flags: review?(jmuizelaar) → review+
Thank you for reviewing :)
status-firefox50: --- → affected
status-firefox52: --- → affected

Comment 8

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/2405181a4bf9
https://hg.mozilla.org/mozilla-central/rev/16c4898b35b2
Status: ASSIGNED → RESOLVED
Last Resolved: 2 years ago
status-firefox53: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla53
Comment on attachment 8812310 [details] [diff] [review]
Stop calculating circles around r=0 in DottedCornerFinder.

same patch is applicable to mozilla-aurora and mozilla-beta

Approval Request Comment
> [Feature/regressing bug #]
bug 382721

> [User impact if declined]
unnecessary wrong dots are rendered with dotted border radius in some case.
(comment #0)

> [Describe test coverage new/current, TreeHerder]
tested on m-c

> [Risks and why]
low, just avoid rendering wrong dots

> [String/UUID change made/needed]
none
Attachment #8812310 - Flags: approval-mozilla-beta?
Attachment #8812310 - Flags: approval-mozilla-aurora?
Comment on attachment 8812310 [details] [diff] [review]
Stop calculating circles around r=0 in DottedCornerFinder.

Fix a rendering issue related to dotted border radius. Beta51+ and Aurora52+. Should be in 51 beta 3.
Attachment #8812310 - Flags: approval-mozilla-beta?
Attachment #8812310 - Flags: approval-mozilla-beta+
Attachment #8812310 - Flags: approval-mozilla-aurora?
Attachment #8812310 - Flags: approval-mozilla-aurora+
status-firefox50: affected → wontfix
QA Whiteboard: [good first verify]
I have reproduced this bug with Firefox Nightly 53.0a1 (Build ID: 20161118030222) on 
Windows 8.1, 64-bit.

Verified as fixed with Latest Firefox beta 53.0b5 (Build ID: 20170320143328)
Mozilla/5.0 (Windows NT 6.3; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0
QA Whiteboard: [good first verify] → [good first verify] [bugday-20170322]
You need to log in before you can comment on or make changes to this bug.