<?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>240061</bug_id>
          
          <creation_ts>2022-05-04 03:32:23 -0700</creation_ts>
          <short_desc>[css-easing-2] Implement linear(...) easing function for css animations</short_desc>
          <delta_ts>2023-08-14 03:48:11 -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 14</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.mozilla.org/show_bug.cgi?id=1764126</see_also>
    
    <see_also>https://github.com/w3c/csswg-drafts/pull/6533</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=260136</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="Tim Nguyen (:ntim)">ntim</reporter>
          <assigned_to name="Devin Rousso">hi</assigned_to>
          <cc>augus.dupin</cc>
    
    <cc>cyb.ai.815</cc>
    
    <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>graouts</cc>
    
    <cc>jaffathecake</cc>
    
    <cc>joris.bruijnzeels</cc>
    
    <cc>safari-dev</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1866414</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-05-04 03:32:23 -0700</bug_when>
    <thetext>There&apos;s a draft spec here:
https://github.com/w3c/csswg-drafts/pull/6533
...which I think we could start implementing sometime soon.

Quoting that github pull-request:

    The overall goal is to allow something like:

    .whatever {
    animation-timing-function: linear(0, 0.003, 0.013, 0.03, 0.05, 0.08, 0.11, 0.15, 0.2, 0.26, 0.31, 0.38, 0.45, 0.53, 0.62, 0.71, 0.81, 0.9, 0.99, 0.94, 0.89, 0.85, 0.82, 0.79, 0.77, 0.76, 0.752, 0.75, 0.755, 0.77, 0.78, 0.81, 0.84, 0.87, 0.92, 0.97, 0.99, 0.97, 0.95, 0.94, 0.938, 0.94, 0.949, 0.96, 0.99, 0.994, 0.986, 0.985, 0.989, 1 100% 100%);
    }
    …which would graph like this:
    https://user-images.githubusercontent.com/93594/130435372-05471f97-7e33-4876-ac45-cc7073eb1f5c.png
    And here&apos;s a demo of how that would animate: https://static-misc-3.glitch.me/linear-easing/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1868089</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-11 03:33:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/93088094&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1884623</commentid>
    <comment_count>2</comment_count>
    <who name="Jake Archibald">jaffathecake</who>
    <bug_when>2022-07-17 04:21:26 -0700</bug_when>
    <thetext>I&apos;ve pushed the spec for this https://drafts.csswg.org/css-easing-2/#the-linear-easing-function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1967390</commentid>
    <comment_count>3</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2023-07-19 13:26:03 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/15936</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1967558</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2023-07-20 18:33:45 -0700</bug_when>
    <thetext>Committed 266195@main (2b0ebfa3b59e): &lt;https://commits.webkit.org/266195@main&gt;

Reviewed commits have been landed. Closing PR #15936 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1971017</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2023-08-14 03:47:46 -0700</bug_when>
    <thetext>I expect the changes made in 266196@main are not dealing with accelerated animations. Indeed, CoreAnimation doesn’t have any native equivalent to linear() so we’ll have to either find something that matches and add code to translate to the CA-native primitive or expand KeyframeEffect::canBeAccelerated() to do something similar to what we do with steps(). I argue for the latter because with the work for threaded animation resolution support for linear() will be free and I think it’s not a good idea to add more CA-specific code.

Filed bug 260136.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>