Re: [css-filters-2] Clarify 'backdrop-filter' in circular case

On Thu, Aug 13, 2015 at 2:20 PM, Rik Cabanier <cabanier@gmail.com> wrote:

>
>
> On Thu, Aug 13, 2015 at 1:44 PM, Tab Atkins Jr. <jackalmage@gmail.com>
> 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

Received on Thursday, 13 August 2015 21:29:46 UTC