The default bug view has changed. See this FAQ.

Filter output is mislocated with CSS transforms

RESOLVED FIXED in Firefox 15

Status

()

Core
SVG
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: birtles, Assigned: birtles)

Tracking

({regression})

Trunk
mozilla17
x86_64
Windows 7
regression
Points:
---

Firefox Tracking Flags

(firefox14 unaffected, firefox15 verified, firefox16 fixed)

Details

Attachments

(3 attachments)

(Assignee)

Description

5 years ago
Created attachment 633342 [details]
Test case

When an SVG filter is used inside content that is scaled using a CSS transform, the position of the filter output is sometimes incorrect.

In the attached test case there is a filter applied to a shape. The shape is then reproduced with just a stroke. The stroke should sit on top of the blurred shape.

If you look at the SVG file alone, or set the scale to 1, the result is as expected.

With the scale set to 1.2 the two shapes fail to align. Interestingly the horizontal position seems fine.
Hmm. I'm not seeing this problem, either in current m-c, or if F13.
(Assignee)

Comment 2

5 years ago
(In reply to Jonathan Watt [:jwatt] from comment #1)
> Hmm. I'm not seeing this problem, either in current m-c, or if F13.

I see it in trunk and Aurora. Might be Windows specific. What platform are you on?
Mac. What if you turn on/off hardware acceleration, or any other gfx stuff that might affect this?
CC'ing roc, since he may be the only person with a Window's machine who knows the CSS-transforms code well enough to track this down.
(Assignee)

Comment 5

5 years ago
(In reply to Jonathan Watt [:jwatt] from comment #3)
> Mac. What if you turn on/off hardware acceleration, or any other gfx stuff
> that might affect this?

Yeah, if I set gfx.direct2d.disabled to true it renders correctly.
Can you check the layer state too please (in about:support)
(Assignee)

Comment 7

5 years ago
(In reply to Matt Woodrow (:mattwoodrow) from comment #6)
> Can you check the layer state too please (in about:support)

I get:

GPU Accelerated Windows: 1/1 Direct3D 10
OS: All → Windows 7
Hardware: All → x86_64
(Assignee)

Comment 8

5 years ago
Oh, and AzureBackend: direct2d
Bas, see comment 5.
Most likely an Azure-drawn content bug.
(Assignee)

Comment 11

5 years ago
I'm not sure if this is related, but I'm also seeing incorrect results with non-scaling stroke when direct2d is enabled for the following test:

http://schepers.cc/svg/vectoreffects/nonscalingstroke.svg

Specifically, the stroke appears way off to the left (i.e. doesn't even line up with the fill).

It's fine with direct2d disabled.
(Assignee)

Comment 12

5 years ago
This appears to be affected by regular SVG transforms too. I'm seeing it, or something very similar, in situations where animateTransform is applied.
(Assignee)

Comment 13

5 years ago
Created attachment 643150 [details] [diff] [review]
Proposed patch v1a
Assignee: nobody → birtles
Status: NEW → ASSIGNED
Attachment #643150 - Flags: review?(bas.schouten)
(Assignee)

Comment 14

5 years ago
There should probably be a reftest for this too. Will add tomorrow.
Attachment #643150 - Flags: review?(bas.schouten) → review+
(Assignee)

Comment 15

5 years ago
Created attachment 643370 [details] [diff] [review]
Reftest v1a
Attachment #643370 - Flags: review?(bas.schouten)
(Assignee)

Comment 16

5 years ago
Regression range:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=36e938e51481&tochange=f43e8d300f21

Which points to:
Bug 715768: Enable Azure-Thebes wrapper by default for D2D
status-firefox14: --- → unaffected
status-firefox15: --- → affected
Keywords: regression
(Assignee)

Updated

5 years ago
Blocks: 715768
Comment on attachment 643370 [details] [diff] [review]
Reftest v1a

Review of attachment 643370 [details] [diff] [review]:
-----------------------------------------------------------------

I'm pretty sure you didn't mean to disable all those other test categories! Don't forget to re-enable before you push!
Attachment #643370 - Flags: review?(bas.schouten) → review+
(Assignee)

Comment 18

5 years ago
(In reply to Bas Schouten (:bas) from comment #17)
> I'm pretty sure you didn't mean to disable all those other test categories!
> Don't forget to re-enable before you push!

Ooh yeah. Thanks for that!
(Assignee)

Comment 19

5 years ago
Pushed to m-i:
https://hg.mozilla.org/integration/mozilla-inbound/rev/9f9d8eb30fb7
https://hg.mozilla.org/integration/mozilla-inbound/rev/5510df5fbe30
https://hg.mozilla.org/mozilla-central/rev/9f9d8eb30fb7
https://hg.mozilla.org/mozilla-central/rev/5510df5fbe30
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
(Assignee)

Comment 21

5 years ago
Comment on attachment 643150 [details] [diff] [review]
Proposed patch v1a

Requesting approval to land on Aurora and Beta

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 715768
User impact if declined: Filter effects in some cases render in the wrong location
Testing completed (on m-c, etc.): Baked on m-c
Risk to taking this patch (and alternatives if risky): None
String or UUID changes made by this patch: None
Attachment #643150 - Flags: approval-mozilla-beta?
Attachment #643150 - Flags: approval-mozilla-aurora?
Comment on attachment 643150 [details] [diff] [review]
Proposed patch v1a

Go ahead and land to branches, no risk and baked on m-c looks good.
Attachment #643150 - Flags: approval-mozilla-beta?
Attachment #643150 - Flags: approval-mozilla-beta+
Attachment #643150 - Flags: approval-mozilla-aurora?
Attachment #643150 - Flags: approval-mozilla-aurora+
status-firefox16: --- → affected
(Assignee)

Comment 23

5 years ago
Pushed to beta and aurora:
https://hg.mozilla.org/releases/mozilla-beta/rev/7ad53adfa8c1
https://hg.mozilla.org/releases/mozilla-aurora/rev/f62ab8356d23
status-firefox15: affected → fixed
status-firefox16: affected → fixed
Verified fixed on FF 15b3 loading the test case in comment 0. Able to see the issue on FF 15b2.
status-firefox15: fixed → verified
You need to log in before you can comment on or make changes to this bug.