The default bug view has changed. See this FAQ.

SVG marker orientation wrong on curved paths

RESOLVED FIXED in Firefox 15

Status

()

Core
SVG
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: dirk bergstrom, Assigned: heycam)

Tracking

({regression, testcase})

Trunk
mozilla16
regression, testcase
Points:
---

Firefox Tracking Flags

(firefox13 affected, firefox14- affected, firefox15+ verified, firefox16+ fixed)

Details

Attachments

(3 attachments)

(Reporter)

Description

5 years ago
Created attachment 637325 [details]
File demonstrating the problem

User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:13.0) Gecko/20100101 Firefox/13.0.1
Build ID: 20120615112143

Steps to reproduce:

When rendering a curved SVG path with an orient="auto" marker at the start and/or end, the marker is not properly oriented.  See the attached test case.


Actual results:

The wide black arrows on the ends of the arc point roughly perpendicular to the line.

The arrows point in different directions depending on how the line is drawn, and in many cases they point in the opposite direction that they should.


Expected results:

The arrows should point "along" the line, with the arrow on the right pointing down and the one on the left pointing up.  View the testcase in Chrome to see the expected/proper behavior.
(Reporter)

Comment 1

5 years ago
This is very similar to bug 288165, but I didn't want to reopen a seven year old bug.

Comment 2

5 years ago
There is a regression indeed. Left arrow is up and right arrow is down in FF12-. Broken in FF13+ (Nightly too).

Mozregression range:

m-c
good=2012-02-20
bad=2012-02-21
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=561771f01881&tochange=be559203ece8

m-i
good=2012-02-19
bad=2012-02-20
http://hg.mozilla.org/integration/mozilla-inbound/pushloghtml?fromchange=fc2b5bfc02a2&tochange=4ad3d672bf46

Suspected bug:
766fdf473acd	Cameron McCormack — Bug 728661 - Remove CalcVectorAngle and use AngleOfVector instead. r=jwatt
Blocks: 728661
Status: UNCONFIRMED → NEW
Component: Untriaged → SVG
Ever confirmed: true
Keywords: regression, testcase
OS: Linux → All
Product: Firefox → Core
QA Contact: untriaged → general
Hardware: x86_64 → All
(Assignee)

Comment 3

5 years ago
Thanks for the regression range, I'll look into it.
Assignee: nobody → cam
Status: NEW → ASSIGNED
(Assignee)

Comment 4

5 years ago
Created attachment 637398 [details] [diff] [review]
patch

The previous fix was bogus was completely bogus -- AngleOfVector computes the angle between the vector and the x axis, so for computing theta we didn't need to use the (1,0) vector and for delta we can just pass the second point to AngleOfVector and get the difference between that and theta.
Attachment #637398 - Flags: review?
(Assignee)

Comment 5

5 years ago
Comment on attachment 637398 [details] [diff] [review]
patch

*cough double bogosity*
Attachment #637398 - Flags: review? → review?(jwatt)

Comment 6

5 years ago
I experienced the same problem on firefox 13.0.1 and 14.0 beta. firefox 12.0 has no problem.

The problem is 
 marker arrow is added to arch with refX and refY, but the arrow position is not put properly.


Boris
boris@netflowauditor.com
(Assignee)

Comment 7

5 years ago
Comment on attachment 637398 [details] [diff] [review]
patch

I think jwatt is away at the moment.
Attachment #637398 - Flags: review?(jwatt) → review?(longsonr)

Updated

5 years ago
Attachment #637398 - Attachment is patch: true

Updated

5 years ago
status-firefox13: --- → affected
status-firefox14: --- → affected
status-firefox15: --- → affected
status-firefox16: --- → affected
Version: 13 Branch → Trunk
Comment on attachment 637398 [details] [diff] [review]
patch

r=jwatt, but fix the bug number mentioned in the test and ref to 769115.

We should land this on branches too.
Attachment #637398 - Flags: review?(longsonr) → review+
(Assignee)

Comment 9

5 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/a8b4c3e86584
tracking-firefox14: --- → ?
tracking-firefox15: --- → ?
tracking-firefox16: --- → ?
Not tracking for Firefox 14 as this is not a new regression in FF14, and doesn't sound particularly critical from the user perspective. If this patch carries near-zero risk, please nominate for Beta approval on top of Aurora approval.
tracking-firefox14: ? → -
tracking-firefox15: ? → +
tracking-firefox16: ? → +
https://hg.mozilla.org/mozilla-central/rev/a8b4c3e86584
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla16

Comment 12

5 years ago
Created attachment 640124 [details]
Network topology traffic with arch and marker

The bug - marker on arch was fixed in the http://ftp.mozilla.org/pub/mozilla.org/firefox/tinderbox-builds/mozilla-inbound-win32/1341747570/firefox-16.0a1.en-US.win32.zip

It has been tested with NetFlow Auditor on several cases.

Thanks for so fast respond.

boris@netflowauditor.com

Updated

5 years ago
status-firefox16: affected → fixed
Dirk, thanks for the bug report, and for the nice small testcase.

Boris, you're welcome, and thanks for testing the patch.

By the way, the SVG team could really do with some help catching problems like this _before_ they reach the release builds. We don't seem to have enough people testing SVG before that stage right now. The Beta builds are very stable (get virtually no changes before release), so if you'd be willing to use Beta or Aurora builds for your day-to-day browsing and report any regressions that you notice, that would be a great help. If you're interested, you can find Beta/Aurora builds here:

http://www.mozilla.org/en-US/firefox/channel/

Updated

5 years ago
Attachment #637398 - Flags: approval-mozilla-beta?
(In reply to Alex Keybl [:akeybl] from comment #10)
> If this patch carries near-zero risk, please nominate for Beta approval on top
> of Aurora approval.

It does indeed have near zero risk. Pretty much all this patch can do is change the orientation of markers, and if that were to be wrong for some reason, well we'd just swap one type of orientation breakage for another. I think it's worth taking this on beta, so nominating.

Comment 15

5 years ago
Jonathan,

We are happy to do some test for you. Our product only uses a small part of SVG. It would be useful to understand your release/development cycle so we can align some of our development. Alternatively you can install an eval of our software (NetFlow Auditor) in your network so that you can test SVG with our netflow visualization feature at any stage of your development.
Pushed https://hg.mozilla.org/releases/mozilla-aurora/rev/57da580cdad0

Awaiting beta approval before pushing to beta.
status-firefox15: affected → fixed
Boris: https://wiki.mozilla.org/Releases provides some info on upcoming releases. Basically I'm suggesting that you use one of the upcoming releases instead of the release version of Firefox when developing your product. That way you'll be able to report in advance if we break something that affects you, and hopefully we can fix it before it affects your customers. We don't have the time or resources to run everyone's applications for them I'm afraid.

Comment 18

5 years ago
No problem, we will try it. Thanks.
Awesome, thank you!
Comment on attachment 637398 [details] [diff] [review]
patch

Thanks for getting this into Aurora, it's too late to land this on Beta now though so we'll have to let this ride another cycle.
Attachment #637398 - Flags: approval-mozilla-beta? → approval-mozilla-beta-

Updated

5 years ago
Duplicate of this bug: 773266
Verified fixed on FF 15b3 on Win 7, Ubuntu 12.04 and Mac OS X 10.6 using the STR in comment 0.
status-firefox15: fixed → verified
You need to log in before you can comment on or make changes to this bug.