- From: Stephen White <senorblanco@chromium.org>
- Date: Thu, 25 Jul 2013 08:13:58 -0400
- To: Dirk Schulze <dschulze@adobe.com>
- Cc: Boris Zbarsky <bzbarsky@mit.edu>, "www-style@w3.org" <www-style@w3.org>, "public-fx@w3.org" <public-fx@w3.org>
- Message-ID: <CAPeKFTiMLKufwtFNL3Gah8xvUnBGd_6+YD7Ao-Vtxun02_7p3g@mail.gmail.com>
One related case is that even a valid filter with a url() could be pending a network load. If we do a "best effort" render (render the valid parts of the chain), then a mix of shorthand filters mixed with a url() filter, e.g. filter: blur(4px) url(foo.svg#bar) contrast(0.5); will render progressively. I.e., it'll render the blur and contrast, and then re-render once the network fetch is done. This is likely how it works in Chrome/Safari, but I'm not sure it's the best behaviour. Stephen On Sun, Jul 14, 2013 at 10:20 AM, Dirk Schulze <dschulze@adobe.com> wrote: > > On Jul 12, 2013, at 2:31 PM, Boris Zbarsky <bzbarsky@MIT.EDU> wrote: > > > On 7/12/13 5:25 PM, Robert O'Callahan wrote: > >> I feel pretty strongly that the SVG behavior is not appropriate. I think > >> any sort of invalid 'filter' value, including a <filter> element with a > >> child element of unknown type, should cause the filtered element to be > >> rendered normally (i.e. 'filter' treated as 'none'). Otherwise I think > >> introducing new <fe> SVG element types does not get useful fallback. > > > > OK, should that be raised as an issue on SVG, then? I feel like we > > should have consistency between the case when there is only one url() in > > 'filter' and the case when there are multiple things including a url()… > > I forgot to paste the link to the Filter Effects specification that allows > multiple declarations on url() [1]. Sorry for that. > > 1) SVG 1.1 was not clear about what happens if the specified URL is not > referencing an existing <filter> element. Implementations treat this case > as if 'none' was specified. > 2) For SVG 1.1: if one of the primitives is in an error state (which used > to happen quite often in earlier versions of the spec.) then nothing gets > rendered at all. > > I agree with you Boris that we should not treat both cases differently. > However, I am more in favor of just not applying the filter then stop > rendering of the filtered element entirely (suggestion from roc). > > With Filter Effects we have a new situation since we allow multiple filter > functions or url()s. The reason why it changes the way to look at the topic > is the following: > > A) Treat errors as "filter: none" and refuse the whole filter chain > > might be described similarly with > > B) Treat failing filter function as pass-through and still apply the other > filter functions. > > Both, A) and B) just make a difference on applying multiple filter > functions if we agree on the behavior of 1). > > Greetings, > Dirk > > [1] http://dev.w3.org/fxtf/filters/#FilterProperty > > > CCed public-fx again. > > > > > -Boris > > > > >
Received on Thursday, 25 July 2013 12:14:25 UTC