- From: Robert O'Callahan <robert@ocallahan.org>
- Date: Wed, 27 Aug 2014 11:18:04 +1200
- To: www-svg <www-svg@w3.org>
- Message-ID: <CAOp6jLZix+9LqctDd6EK+k99iR_u38dE24Ef6kf70yu7wff=kw@mail.gmail.com>
On Tue, Aug 26, 2014 at 4:39 AM, Cameron McCormack <cam@mcc.id.au> wrote: > > krit: external resources are not supported for the most part in > Blink/WebKit > > Rossen_: IE will implement them > ... animations not running would be much simpler > ... can we make the case for not running them? > We've had extensive discussions about how external resources should work, on #whatwg and across various mailing lists. The consensus (between me, Tab, Anne, krit and everyone else I've managed to drag in) is that external resource document loads should be exactly the same as SVG image loads. I apologize for not ensuring this is written down in a spec. The main reason is to solve the ambiguity problem where CSS rules like "mask:url(foo.svg#bar)" could be either an external resource reference to the paint-server #bar in foo.svg, or an SVG image foo.svg with #bar as the active element (see SVG image stacks). If the load step behaves differently in these two cases, then the ambiguity is very difficult to resolve satisfactorily. If the load step is the same for both cases, then it's easy: we can check whether the #bar element is a paint server (<pattern> etc); if it is --- and the resource is same-origin --- we treat the url() as an external resource reference, otherwise we treat it as an SVG image. Implications: -- External resource documents must be stand-alone resources, obeying the same restrictions as SVG images. In particular an external resource document can only reference another external resource document through a data: or blob: URI. It is not possible to create cyclic references between external resource documents, but it is possible for multiple external resource documents to reference a common external resource document via a blob: URI. -- External resource documents should run animations, since SVG images do. -- The animation timeline rules for external resource documents should be the same as SVG images. Really, the goal is for "external resource documents" as a concept to go away and we'll just have SVG image documents which can also be the target of external resource references. This is a change in Gecko behavior, but we'll fix Gecko. It should not create any Web compatibility issues since Webkit/Blink don't implement external resources yet. It simplifies things from the spec point of view; external resource references have never been properly specced anyway. Most use cases for external resource references will continue to work. Rob -- oIo otoeololo oyooouo otohoaoto oaonoyooonoeo owohooo oioso oaonogoroyo owoiotoho oao oboroootohoeoro oooro osoiosotoeoro owoiololo oboeo osouobojoeocoto otooo ojouodogomoeonoto.o oAogoaoiono,o oaonoyooonoeo owohooo osoaoyoso otooo oao oboroootohoeoro oooro osoiosotoeoro,o o‘oRoaocoao,o’o oioso oaonosowoeoroaoboloeo otooo otohoeo ocooouoroto.o oAonodo oaonoyooonoeo owohooo osoaoyoso,o o‘oYooouo ofooooolo!o’o owoiololo oboeo oiono odoaonogoeoro ooofo otohoeo ofoioroeo ooofo ohoeololo.
Received on Tuesday, 26 August 2014 23:18:32 UTC