Closed Bug 1318625 Opened 5 years ago Closed 5 years ago

Dotted border rendering artifacts when setting elliptical shaped corner

Categories

(Core :: Layout, defect)

50 Branch
x86_64
Windows 10
defect
Not set
minor

Tracking

()

RESOLVED FIXED
mozilla53
Tracking Status
firefox50 --- wontfix
firefox51 --- fixed
firefox52 --- fixed
firefox53 --- fixed

People

(Reporter: massamino, Assigned: arai)

References

Details

Attachments

(4 files)

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.
Blocks: 382721
To see the result I get (dashed is ok)
Status: UNCONFIRMED → NEW
Has STR: --- → yes
Ever confirmed: true
Component: General → Layout
Product: Firefox → Core
I reproduce with latest Aurora v51 (20161114004005) and latest Nightly v53 (20161117030212).
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 :)
https://hg.mozilla.org/integration/mozilla-inbound/rev/2405181a4bf97a0f8f8c3588ad373d98a21d159d
Bug 1318625 - Part 1: Stop calculating circles around r=0 in DottedCornerFinder. r=0 in DottedCornerFinder.,jrmuizel

https://hg.mozilla.org/integration/mozilla-inbound/rev/16c4898b35b2fbb4a3482e5162764d5b29ae3d18
Bug 1318625 - Part 2: Add testcase. r=jrmuizel
https://hg.mozilla.org/mozilla-central/rev/2405181a4bf9
https://hg.mozilla.org/mozilla-central/rev/16c4898b35b2
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
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+
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.