FillPaint and StrokePaint for in="" and in2="" attributes on filter primitives are not implemented and currently cause the whole filter to fail.
Created attachment 637934 [details] [diff] [review]
This is what I've got so far.
It passes http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectMiniApproved/filters-composite-03-f.html
Something is wrong with the sizing of the filter input or output I think. See how the edges are too sharp.
I don't really need feedback on how the code is structured at this stage, and I know I've not put in any comments.
Oh and there's lots of duplicate code that needs factoring out too.
Created attachment 644968 [details] [diff] [review]
Created attachment 645016 [details]
testcase where feGaussianBlur fails to interpolate out of bounds "pixels"
(In reply to Robert Longson from comment #1)
> Something is wrong with the sizing of the filter input or output I think.
> See how the edges are too sharp.
If that's a bug (I think it is), then it's a preexisting bug with feGaussianBlur. The same thing happens with this testcase.
Compare it with Opera/Chrome.
Comment on attachment 644968 [details] [diff] [review]
That's my feedback for now until you've addressed the other things you mentioned.
(In reply to Jonathan Watt [:jwatt] from comment #4)
> it's a preexisting bug with feGaussianBlur.
I filed bug 776694 on that issue.
Created attachment 648313 [details] [diff] [review]
This passes http://dev.w3.org/SVG/profiles/1.1F2/test/svg/filters-composite-03-f.svg but does not pass http://dev.w3.org/SVG/profiles/1.1F2/test/svg/filters-overview-01-b.svg as fillpaint and strokepaint backgrounds have no blur. See comment 7 for more info.