On Thu, Aug 13, 2015 at 2:20 PM, Rik Cabanier <[email protected]> wrote:
> > > On Thu, Aug 13, 2015 at 1:44 PM, Tab Atkins Jr. <[email protected]> > wrote: > >> In our recent Intent To Implement for backdrop-filter, Enne brought up >> a case that is seemingly circular: >> >> <body> >> AAA >> <div style="opacity: .5"> >> BBB >> <div style="backdrop-filter: blur(5px)">foo</div> >> </div> >> </body> >> >> What does BBB look like blur filter? Is it half-opaque, as if you'd >> already done all compositing of its ancestors? If that's the case, >> then when you composite the page for real, it'll get double-opacity'd, >> right? >> >> Or is it fully opaque, like you'd pretended the opacity effect doesn't >> yet apply for the purpose of calculating the backdrop? Presumably >> this would mean recursively unwrapping any effects up to the root? >> >> Or is there something else going on? The spec isn't written clearly >> enough for me to figure this out, but *maybe* the backdrop only goes >> to the nearest isolation context, so the backdrop in this case would >> just be BBB? >> > > You execute an extra pass where you render everything upto your nearest > sibling, but you ignore any opacity, filters and compositiing. > Then you use this as input to the backdrop filter. > http://www.w3.org/TR/SVG/filters.html#EnableBackgroundProperty describes > the algorithm in more details. > > This is the same problem that we faced when we planning on introducing > non-isolated blending. https://codereview.chromium.org/23455060/#msg33 > describes the notes from enne on how to implement this. > The actual location of the solution is here: https://codereview.chromium.org/23455060/#msg37
