Bug 6022 - SVG Filters do not support source images besides "sourceGraphic" and "sourceAlpha"
Summary: SVG Filters do not support source images besides "sourceGraphic" and "sourceA...
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: SVG (show other bugs)
Version: 420+
Hardware: Macintosh OS X 10.4
: P2 Normal
Assignee: Nobody
URL: http://www.w3.org/TR/SVG/filters.html...
Keywords: InRadar, NeedsReduction, SVGHitList
Depends on: 19835 19991 33320
Blocks: 68469 26389
  Show dependency treegraph
 
Reported: 2005-12-09 00:19 PST by Eric Seidel (no email)
Modified: 2016-04-13 20:05 PDT (History)
8 users (show)

See Also:


Attachments
testcase showing a related bug (575 bytes, image/svg+xml)
2006-01-28 01:33 PST, Alexander Kellett
no flags Details
Support for FilterEffect SourceAlpha (24.92 KB, patch)
2009-10-03 14:24 PDT, Dirk Schulze
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Eric Seidel (no email) 2005-12-09 00:19:57 PST
WebKit+SVG does not support any source images besides "sourceGraphic"
http://www.w3.org/TR/SVG/filters.html#CommonAttributes

We need to add support for:
SourceAlpha | BackgroundImage | BackgroundAlpha | FillPaint | StrokePaint | <filter-primitive-reference>
Comment 1 Eric Seidel (no email) 2005-12-09 00:23:53 PST
Sorry, we already (clearly!) support <filter-primitive-reference>, just not the rest.  None of these should 
be hard to do (with the possible exception of BackgroundImage/BackgroundAlpha.

FillPaint and StrokePaint should probably be implemented as CIImages with ImageProviders, so they can 
lazily create the bits as needed.

SourceAlpha is just SourceGraphic w/ an alpha-only filter applied.

All of these should be lazily generated on demand.
Comment 2 Eric Seidel (no email) 2006-01-26 15:45:44 PST
This is one of our two most basic SVG filter support bugs.  Shipping SVG with filter support would require solving this bug.  Adding SVGHitList keyword and bumping to p2.  I've included instructions above on how we might implement these.
Comment 3 Alexander Kellett 2006-01-28 01:33:38 PST
Created attachment 6036 [details]
testcase showing a related bug

i've attached a reduced testcase showing a bug in the current sourcealpha support
Comment 4 Eric Seidel (no email) 2006-08-11 23:30:24 PDT
Oh, those above numbers were using 5 runs each, cached content.
Comment 5 Eric Seidel (no email) 2007-10-28 04:01:10 PDT
We really need some test cases for these various modes.
Comment 6 Dirk Schulze 2009-10-03 14:24:40 PDT
Created attachment 40584 [details]
Support for FilterEffect SourceAlpha

Support for FilterEffect SourceAlpha.
Comment 7 Nikolas Zimmermann 2009-10-05 08:02:38 PDT
Comment on attachment 40584 [details]
Support for FilterEffect SourceAlpha

Looks great, r=me.
Comment 8 Dirk Schulze 2009-10-05 23:02:04 PDT
Comment on attachment 40584 [details]
Support for FilterEffect SourceAlpha

Clering review flag. Landed in r49153.
Comment 9 Andres Gomez Garcia 2015-10-16 08:44:02 PDT
Just adding a reference test, in case it is useful:
https://rawgit.com/tanty/design-hodgepodge/master/svg/filter/feBlend-backgroundimage-tests.html

Notice that for SVG 2 the "enable-background" is deprecated and the blending is governed by the isolation property:
http://dev.w3.org/fxtf/compositing-1/#isolation

Also, notice that, if I'm understanding correctly how the isolation property works, when using a SVG filter we shouldn't worry about what it is behind the SVG document since the filter makes a mandatory isolated group:
https://drafts.fxtf.org/compositing-1/#csscompositingrules_SVG

Similar issues from other web engines:
https://bugzilla.mozilla.org/show_bug.cgi?id=437554
https://code.google.com/p/chromium/issues/detail?id=137230
https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/10238658-implement-backgroundimage-backgroundalpha-input-so
Comment 10 Radar WebKit Bug Importer 2016-04-13 20:05:39 PDT
<rdar://problem/25719215>