Closed
Bug 1131264
Opened 10 years ago
Closed 9 years ago
SVG circle not display
Categories
(Core :: SVG, defect)
Tracking
()
People
(Reporter: lebec.alexis, Assigned: twointofive)
References
()
Details
(Keywords: regression)
Attachments
(3 files, 1 obsolete file)
1.27 KB,
image/png
|
Details | |
1.83 KB,
patch
|
longsonr
:
review+
|
Details | Diff | Splinter Review |
5.49 KB,
patch
|
Details | Diff | Splinter Review |
User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36
Steps to reproduce:
When a circle in svh have a a large viewBox, a circle does not display !
I use firefox 35.0.1 with Windows 8.1 64b in french.
For example : http://jsfiddle.net/3NXbL/136/
<svg viewBox="100 100 10 10" height="100" width="100" xmlns="http://www.w3.org/2000/svg">
<circle stroke-width="0.05" stroke="#ff0000" fill="none" r="1" cx="104" cy="104"/>
<rect height="2" width="2" y="107" x="107" />
</svg>
<br>
<svg viewBox="10000 10000 10 10" height="100" width="100" xmlns="http://www.w3.org/2000/svg">
<circle stroke-width="0.05" stroke="#ff0000" fill="none" r="1" cx="10004" cy="10004"/>
<rect height="2" width="2" y="10007" x="10007" />
</svg>
Actual results:
On the second SVG (with extanded viewbox) , I only see the rectangle, the circle do not display
Expected results:
This 2 SVG shoud display the same circle and rectangle.
Reporter | ||
Updated•10 years ago
|
Reporter | ||
Comment 1•10 years ago
|
||
Reporter | ||
Comment 2•10 years ago
|
||
I try to restart firefox in safe mode and SVG display correctly .
Even if i disable all module svg fail in normal mode !
Reporter | ||
Comment 3•10 years ago
|
||
If i disable "acceleration matérielle graphique" (in french) SVG display correctly!
Comment 4•10 years ago
|
||
Regression window(m-i)
Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/bbb12d0bcf49
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/15.0 Firefox/15.0a1 ID:20120521220651
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/abbf642df562
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/15.0 Firefox/15.0a1 ID:20120521222950
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=bbb12d0bcf49&tochange=abbf642df562
Regressed by: Bug
Regression window(m-i) with force gfx.content.azure.enabled = true
Good:
http://hg.mozilla.org/integration/mozilla-inbound/rev/c87c1aedefd4
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120104 Firefox/12.0a1 ID:20120104212324
Bad:
http://hg.mozilla.org/integration/mozilla-inbound/rev/590333161e6f
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0a1) Gecko/20120104 Firefox/12.0a1 ID:20120104231823
Pushlog:
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=c87c1aedefd4&tochange=590333161e6f
Regressed by: Bug 711063
Status: UNCONFIRMED → NEW
status-firefox35:
--- → affected
status-firefox36:
--- → affected
status-firefox37:
--- → affected
status-firefox38:
--- → affected
status-firefox-esr31:
--- → affected
Ever confirmed: true
Keywords: regression
Version: 35 Branch → 17 Branch
Updated•10 years ago
|
status-firefox39:
--- → affected
status-firefox40:
--- → affected
This is a variation on bug 1143303 (unfortunately I didn't know about it when I wrote the patch for that bug!).
In both cases the issue is with the workaround for trying to draw a circle using D2D's ArcSegment, and in both cases what goes wrong is that startPoint and endPoint wind up too close together for D2D to handle. In this bug that happens because the large aOrigin coordinates in the computation of startPoint and endPoint drown out the tiny adjustment introduced into endAngle (or startAngle) to try to work around this issue.
A note on the kEpsilon value this time:
if I draw a circle with radius .0063 (about the largest radius circle that fails using the original workaround) and let diff = abs(startPoint.x - endPoint.x) + abs(startPoint.y - endPoint.y), and then
vary endAngle (or startAngle, I forget which) by adjusting the 1.9999 factor in the original workaround, I get that D2D works with a diff of 2.1773e-6 but fails with a diff of 1.979e-6. So I chose kEpsilon = 1e-5.
With that kEpsilon, the draw-two-half-arcs path gets taken for circles with a radius < ~0.032.
Assignee: nobody → twointofive
Attachment #8631268 -
Flags: review?(bas)
Comment 6•9 years ago
|
||
It would be nice if the reftests had a stroked circle with a dasharray that would prove that dashing started from the right point on the circle and went in the right direction. We have some existing tests for larger circles in bug 944704 could you add some small circles to those testcases?
Attachment #8631858 -
Flags: review?(longsonr)
Updated•9 years ago
|
Attachment #8631858 -
Flags: review?(longsonr) → review+
Updated•9 years ago
|
Attachment #8631268 -
Flags: review?(bas) → review+
Bitrot update (diff context changed), carrying bas: review+.
Attachment #8631268 -
Attachment is obsolete: true
Assignee | ||
Comment 10•9 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/3df173f3761d4dc2bd77ba43ffa503545456b80c
Bug 1131264 - Extend the workaround for drawing D2D circles. r=bas
https://hg.mozilla.org/integration/mozilla-inbound/rev/367d328e4cd7ad407a2cff21b2b09d2dee51781b
Bug 1131264, part 2 - Add small circle reftest to stroke-dasharray-02.svg. r=longsonr
Comment 11•9 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/3df173f3761d
https://hg.mozilla.org/mozilla-central/rev/367d328e4cd7
Status: NEW → RESOLVED
Closed: 9 years ago
status-firefox45:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla45
You need to log in
before you can comment on or make changes to this bug.
Description
•