<?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>207044</bug_id>
          
          <creation_ts>2020-01-31 07:19:08 -0800</creation_ts>
          <short_desc>[Web Animations] [WK1] REGRESSION: opacity doesn&apos;t animate</short_desc>
          <delta_ts>2020-01-31 09:58:29 -0800</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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=207054</see_also>
          <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="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1613347</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-01-31 07:19:08 -0800</bug_when>
    <thetext>We fail to animate opacity in WK1 because we make the assumption that just because an animation targets only accelerated properties it will be accelerated and won&apos;t need to be updated as it runs in WebAnimation::timeToNextTick(). This is incorrect, an animation may fail to start or may fail to get a composited layer, the latter being the case on WK1 because usesCompositing() is false in RenderLayerCompositor::requiresCompositingForAnimation().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613348</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-01-31 07:19:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/59061225&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613378</commentid>
    <comment_count>2</comment_count>
      <attachid>389353</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-01-31 08:38:15 -0800</bug_when>
    <thetext>Created attachment 389353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613399</commentid>
    <comment_count>3</comment_count>
      <attachid>389353</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2020-01-31 09:20:02 -0800</bug_when>
    <thetext>Comment on attachment 389353
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=389353&amp;action=review

&gt; Source/WebCore/animation/WebAnimation.cpp:1448
&gt; +        if (!isCompletelyAccelerated() || !isRunningAccelerated())

This would be clearers as hasAnyNonAcceleratedProperties or something, I think.

&gt; LayoutTests/webanimations/opacity-animation.html:15
&gt; +        setTimeout(() =&gt; testRunner.notifyDone(), 100);

100ms is a really long test. Would setting the current time and pausing test the same way? Why didn&apos;t requestAnimationFrame work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613442</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-01-31 09:54:23 -0800</bug_when>
    <thetext>(In reply to Simon Fraser (smfr) from comment #3)
&gt; Comment on attachment 389353 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=389353&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/animation/WebAnimation.cpp:1448
&gt; &gt; +        if (!isCompletelyAccelerated() || !isRunningAccelerated())
&gt; 
&gt; This would be clearers as hasAnyNonAcceleratedProperties or something, I
&gt; think.

I&apos;ll switch the code around to have a condition that starts with `if (isCompletelyAccelerated() &amp;&amp; isRunningAccelerated())` instead. This covers the case of animations that don&apos;t need to be updated while running.

&gt; &gt; LayoutTests/webanimations/opacity-animation.html:15
&gt; &gt; +        setTimeout(() =&gt; testRunner.notifyDone(), 100);
&gt; 
&gt; 100ms is a really long test. Would setting the current time and pausing test
&gt; the same way?

Alas, no, because at that point it would no longer be running an accelerated animation, which is precisely what we&apos;re trying to test.

&gt; Why didn&apos;t requestAnimationFrame work?

Alas, I&apos;m not sure. I&apos;ll try to improve this in bug 207054.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1613445</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2020-01-31 09:58:29 -0800</bug_when>
    <thetext>Committed r255504: &lt;https://trac.webkit.org/changeset/255504&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>389353</attachid>
            <date>2020-01-31 08:38:15 -0800</date>
            <delta_ts>2020-01-31 09:20:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-207044-20200131173814.patch</filename>
            <type>text/plain</type>
            <size>4477</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU1NDk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDc5MDczOWM3YjMzNDcy
OTIzY2RlYTUyYWM5MzdmMzhjODJhMTIxMS4uNzBmOGVkMWMxOGYxNWM0ZDliMjk5OWYyZWJjYzE2
NmNlNDM0NmVkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIwLTAxLTMxICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBbV0sxXSBSRUdSRVNTSU9OOiBvcGFjaXR5IGRvZXNuJ3QgYW5pbWF0ZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjA3MDQ0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS81OTA2MTIyNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiB3ZWJhbmltYXRpb25zL29wYWNpdHktYW5pbWF0aW9uLmh0bWwK
KworICAgICAgICBXZSBmYWlsZWQgdG8gYW5pbWF0ZSBvcGFjaXR5IGluIFdLMSBiZWNhdXNlIHdl
IG1hZGUgdGhlIGFzc3VtcHRpb24gdGhhdCBqdXN0IGJlY2F1c2UgYW4gYW5pbWF0aW9uIHRhcmdl
dHMgb25seSBhY2NlbGVyYXRlZCBwcm9wZXJ0aWVzIGl0IHdvdWxkIGJlIGFjY2VsZXJhdGVkCisg
ICAgICAgIGFuZCB3b3VsZG4ndCBuZWVkIHRvIGJlIHVwZGF0ZWQgYXMgaXQgcnVucyBpbiBXZWJB
bmltYXRpb246OnRpbWVUb05leHRUaWNrKCkuIFRoaXMgaXMgaW5jb3JyZWN0LCBhbiBhbmltYXRp
b24gbWF5IGZhaWwgdG8gc3RhcnQgb3IgbWF5IGZhaWwgdG8gZ2V0IGEgY29tcG9zaXRlZAorICAg
ICAgICBsYXllciwgdGhlIGxhdHRlciBiZWluZyB0aGUgY2FzZSBvbiBXSzEgYmVjYXVzZSB1c2Vz
Q29tcG9zaXRpbmcoKSBpcyBmYWxzZSBpbiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVz
Q29tcG9zaXRpbmdGb3JBbmltYXRpb24oKS4KKworICAgICAgICBXZSBub3cgY2hlY2sgdGhhdCBh
biBhbmltYXRpb24gaXMgYm90aCBvbmx5IGFuaW1hdGluZyBhY2NlbGVyYXRlZCBwcm9wZXJ0aWVz
IGFuZCBydW5uaW5nIGFjY2VsZXJhdGVkIHRvIGRldGVybWluZSB0aGF0IGFuIGFuaW1hdGlvbiB3
b24ndCBuZWVkIHRvIGJlIHVwZGF0ZWQKKyAgICAgICAgdW50aWwgaXQgY29tcGxldGVzLgorCisg
ICAgICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrIGNvbnN0KToKKwogMjAyMC0wMS0zMSAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVzc2lvbihyMjU1MzU5
KTogaW1wb3J0ZWQvbW96aWxsYS9zdmcvc3ZnLWludGVncmF0aW9uL2NsaXBQYXRoLWh0bWwtMDYu
eGh0bWwgaXMgZmFpbGluZyBjb25zaXN0ZW50bHkgb24gd2luZG93cwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
bmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAppbmRleCBiZjc3ZWRiM2JkNWQ5MWIzZWYwMzhlOTRi
OTdlYTM1ZjIwNGM4MTllLi4yNWE2MGNhZThhOTQwMmQ3MGM0NDY0ZGNkODFhN2ZmYTEyODJkMTNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmNwcApAQCAtMTQ0NSw3
ICsxNDQ1LDcgQEAgU2Vjb25kcyBXZWJBbmltYXRpb246OnRpbWVUb05leHRUaWNrKCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIChlZmZlY3QuZGVsYXkoKSAtIHRpbWluZy5sb2NhbFRpbWUudmFsdWUo
KSkgLyBwbGF5YmFja1JhdGU7CiAgICAgY2FzZSBBbmltYXRpb25FZmZlY3RQaGFzZTo6QWN0aXZl
OgogICAgICAgICAvLyBOb24tYWNjZWxlcmF0ZWQgYW5pbWF0aW9ucyBpbiB0aGUgImFjdGl2ZSIg
cGhhc2Ugd2lsbCBuZWVkIHRvIHVwZGF0ZSB0aGVpciBhbmltYXRlZCB2YWx1ZSBhdCB0aGUgaW1t
ZWRpYXRlIG5leHQgb3Bwb3J0dW5pdHkuCi0gICAgICAgIGlmICghaXNDb21wbGV0ZWx5QWNjZWxl
cmF0ZWQoKSkKKyAgICAgICAgaWYgKCFpc0NvbXBsZXRlbHlBY2NlbGVyYXRlZCgpIHx8ICFpc1J1
bm5pbmdBY2NlbGVyYXRlZCgpKQogICAgICAgICAgICAgcmV0dXJuIDBfczsKICAgICAgICAgLy8g
QWNjZWxlcmF0ZWQgQ1NTIEFuaW1hdGlvbnMgbmVlZCB0byB0cmlnZ2VyICJhbmltYXRpb25pdGVy
YXRpb24iIGV2ZW50cywgaW4gdGhpcyBjYXNlIHdlIGNhbiB3YWl0IHVudGlsIHRoZSBuZXh0IGl0
ZXJhdGlvbi4KICAgICAgICAgaWYgKGlzQ1NTQW5pbWF0aW9uKCkpIHsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkN2I5M2M1
OGUxMThkNTg1Y2VhOWZmYjE0OThjYzY5ZGNhNjcwODQ4Li5jNzUxMDgxMzczMDUzMzgwNWI2NzBh
Yjc2ZDNlOWYwNTVlZjkzZGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDEtMzEgIEFu
dG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViIEFuaW1hdGlv
bnNdIFtXSzFdIFJFR1JFU1NJT046IG9wYWNpdHkgZG9lc24ndCBhbmltYXRlCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDcwNDQKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzU5MDYxMjI1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogd2ViYW5pbWF0aW9ucy9vcGFjaXR5LWFuaW1hdGlvbi1leHBlY3Rl
ZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiB3ZWJhbmltYXRpb25zL29wYWNpdHktYW5pbWF0aW9u
Lmh0bWw6IEFkZGVkLgorCiAyMDIwLTAxLTMwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFJFR1JFU1NJT046IFtNYWMgd2sxXSBpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL21hdGhtbC9wcmVzZW50YXRpb24tbWFya3VwL3NjcmlwdHMvdW5kZXJvdmVy
LXBhcmFtZXRlcnMtMy5odG1sIGlzIGEgZmxha2V5IGZhaWx1cmUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3dlYmFuaW1hdGlvbnMvb3BhY2l0eS1hbmltYXRpb24tZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvb3BhY2l0eS1hbmltYXRpb24tZXhwZWN0ZWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jNzg4YWQzYzI2OTdmOWY4OGZhMDdmY2YyOGFjMGFlYThlMzVjMjRkCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9vcGFjaXR5LWFuaW1hdGlv
bi1leHBlY3RlZC5odG1sCkBAIC0wLDAgKzEgQEAKKzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNv
bHV0ZTsgdG9wOiAwOyBsZWZ0OiAwOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tn
cm91bmQtY29sb3I6IGJsYWNrOyBvcGFjaXR5OiAwLjU7Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3dlYmFuaW1hdGlvbnMvb3BhY2l0eS1hbmltYXRpb24uaHRtbCBiL0xheW91dFRl
c3RzL3dlYmFuaW1hdGlvbnMvb3BhY2l0eS1hbmltYXRpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYWNh
MTgyNTE3MjI3M2JhMTk2NTQ0YTE5YWY5ZWYyNWIzNzRjMGQ5Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvd2ViYW5pbWF0aW9ucy9vcGFjaXR5LWFuaW1hdGlvbi5odG1sCkBAIC0wLDAg
KzEsMTkgQEAKKzxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAwOyBsZWZ0OiAw
OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQtY29sb3I6IGJsYWNrOyI+
PC9kaXY+Cis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgdGVzdFJ1bm5l
ci53YWl0VW50aWxEb25lKCk7CisKK2NvbnN0IGFuaW1hdGlvbiA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImRpdiIpLmFuaW1hdGUoWworICAgIHsgb3BhY2l0eTogMCB9LAorICAgIHsgb3BhY2l0
eTogMC41LCBvZmZzZXQ6IDAuMDAxIH0sCisgICAgeyBvcGFjaXR5OiAwLjUgfQorXSwgMTAwMCk7
CisKK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIGFuaW1hdGlvbi5yZWFkeS50aGVuKCgp
ID0+IHsKKyAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKSwg
MTAwKTsKKyAgICB9KTsKK30KKworPC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="405039"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>