<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>219729</bug_id>
          
          <creation_ts>2020-12-09 23:35:27 -0800</creation_ts>
          <short_desc>filter won&apos;t apply to child elements while they are animating</short_desc>
          <delta_ts>2025-08-14 18:21:20 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>macOS 10.15</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jamie Kyle">me</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>agafvv</cc>
    
    <cc>dino</cc>
    
    <cc>git</cc>
    
    <cc>graouts</cc>
    
    <cc>hello</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1713444</commentid>
    <comment_count>0</comment_count>
      <attachid>415839</attachid>
    <who name="Jamie Kyle">me</who>
    <bug_when>2020-12-09 23:35:27 -0800</bug_when>
    <thetext>Created attachment 415839
A demo of the bug

Online Demo: https://jsbin.com/gucaweyica/1/edit?html,output (code is attached)

    &lt;div style=&quot;filter: url(#filter)&quot;&gt;
      &lt;div style=&quot;animation: ...&quot;&gt;
    &lt;/div&gt;

When a parent element has a filter, and the child element has an (active) animation, the child element will render without the filter applied.

When the element stops animating, the filter will apply to the child element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714988</commentid>
    <comment_count>1</comment_count>
    <who name="Smoley">smoley</who>
    <bug_when>2020-12-15 18:13:28 -0800</bug_when>
    <thetext>Thanks for filing, I can reproduce this on Safari 13.1.3 and STP 117.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1714989</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-12-15 18:13:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/72366401&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1732079</commentid>
    <comment_count>3</comment_count>
    <who name="Maurici Abad">hello</who>
    <bug_when>2021-02-22 03:13:48 -0800</bug_when>
    <thetext>I&apos;m also encountering with this error</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2136662</commentid>
    <comment_count>4</comment_count>
    <who name="Evelyn Hathaway">git</who>
    <bug_when>2025-08-14 16:59:47 -0700</bug_when>
    <thetext>This issue still persists in Safari 18.5 and TP 225.

Note that it&apos;s not all animations. For instance, if you modify the original demo to be a `background-color` animation, it will animate with the blur just fine. It seems to be specifically related to certain properties that create a new stacking context. In the demo, this is caused by animating a `transform`, but I&apos;ve found that `scale`, `rotate`, `translate`, `opacity`, `filter`, and `backdrop-filter` all cause the same issue as well.

Similar to the `animation`, triggering a `transition` with one of those properties will prevent the filters from applying for the duration of the transition, and setting `will-change` to one will prevent the filter from applying indefinitely — no actual animation is needed. Interestingly, actually using one of the stacking context properties mentioned does not prevent the filter from being applied, it&apos;s only when they are used in `animation:`, `transition:`, or `will-change:`.

Additionally, `animation-fill-mode: forwards` prevents the filter from applying even after the animation is complete, just like the underlying `will-change`.

And even when they are not visually applied, Safari&apos;s performance grinds to a halt if the filter is computationally intensive. I am not a Safari performance expert, but compositor trace items take longer, and scrolling through a page with a lot of complex SVG dilation filters will prevent even unfiltered portions of the page to fail to paint unless you wait, so it seems almost if this compute is still being done, just not displayed.

---

Reporter&apos;s online demo modified to have will-change and no animations, which still prevents the blur from applying to the child: https://jsbin.com/siqizotova/edit?html,output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2136684</commentid>
    <comment_count>5</comment_count>
    <who name="Evelyn Hathaway">git</who>
    <bug_when>2025-08-14 18:21:20 -0700</bug_when>
    <thetext>Interestingly, the bug doesn&apos;t occur when animating a custom property, so adding a custom property as a proxy may be a workaround for those experiencing the issue.

Reporter&apos;s online demo modified to animate a custom property in the keyframes which visually animates as the reporter intended: https://jsbin.com/tuwonegaya/1/edit?html,output</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>415839</attachid>
            <date>2020-12-09 23:35:27 -0800</date>
            <delta_ts>2020-12-09 23:35:27 -0800</delta_ts>
            <desc>A demo of the bug</desc>
            <filename>example.html</filename>
            <type>text/html</type>
            <size>817</size>
            <attacher name="Jamie Kyle">me</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgoJPGhlYWQ+CgkJPG1ldGEgY2hhcnNldD0idXRmLTgiIC8+
CgkJPHN0eWxlPgoJCQlAa2V5ZnJhbWVzIHNwaW4gewoJCQkJZnJvbSB7CgkJCQkJdHJhbnNmb3Jt
OiByb3RhdGUoMGRlZyk7CgkJCQl9CgkJCQl0byB7CgkJCQkJdHJhbnNmb3JtOiByb3RhdGUoMzYw
ZGVnKTsKCQkJCX0KCQkJfQoKCQkJLmNpcmNsZSB7CgkJCQl3aWR0aDogMTAwcHg7CgkJCQloZWln
aHQ6IDEwMHB4OwoJCQkJYm9yZGVyLXJhZGl1czogNTAlOwoJCQkJYmFja2dyb3VuZDogcHVycGxl
OwoJCQkJYm9yZGVyOiAyMHB4IGRvdHRlZCByZWQ7CgkJCX0KCgkJCS5zcGluIHsKCQkJCWFuaW1h
dGlvbjogc3BpbiA1cyBsaW5lYXIgMTsKCQkJfQoKCQkJLmJsdXIgewoJCQkJZmlsdGVyOiB1cmwo
I3N2Zy1maWx0ZXIpOwoJCQl9CgkJPC9zdHlsZT4KCTwvaGVhZD4KCTxib2R5PgoJCTxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCQkJPGZpbHRlciBpZD0ic3ZnLWZpbHRl
ciIgd2lkdGg9IjMiIGhlaWdodD0iMyIgeD0iLTEiIHk9Ii0xIj4KCQkJCTxmZUdhdXNzaWFuQmx1
ciBpbj0iU291cmNlR3JhcGhpYyIgc3RkRGV2aWF0aW9uPSI1IiAvPgoJCQk8L2ZpbHRlcj4KCQk8
L3N2Zz4KCgkJPGRpdiBjbGFzcz0iYmx1ciI+CgkJCTxkaXYgY2xhc3M9ImNpcmNsZSI+PC9kaXY+
CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9ImJsdXIiPgoJCQk8ZGl2IGNsYXNzPSJjaXJjbGUgc3Bp
biI+PC9kaXY+CgkJPC9kaXY+CgoJCTxkaXYgY2xhc3M9ImNpcmNsZSBzcGluIGJsdXIiPjwvZGl2
PgoJPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>