<?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>182939</bug_id>
          
          <creation_ts>2018-02-19 13:40:39 -0800</creation_ts>
          <short_desc>[Web Animations] Decouple parsing JS keyframes and computing blending keyframes</short_desc>
          <delta_ts>2018-02-19 14:01:56 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          
          <blocked>182741</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1400482</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-02-19 13:40:39 -0800</bug_when>
    <thetext>Currently in KeyframeEffectReadOnly::processKeyframes() we parse JS keyframes into the m_parsedKeyframes member and compute blending keyframes, a KeyframeList, and store it in m_blendingKeyframes. Paving the way towards nullable targets (webkit.org/b/182741) and reading keyframes from a CSSKeyframesRule, we need to decouple those two tasks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400483</commentid>
    <comment_count>1</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-02-19 13:40:48 -0800</bug_when>
    <thetext>&lt;rdar://problem/37678364&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400486</commentid>
    <comment_count>2</comment_count>
      <attachid>334183</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-02-19 13:43:32 -0800</bug_when>
    <thetext>Created attachment 334183
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1400492</commentid>
    <comment_count>3</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2018-02-19 14:01:56 -0800</bug_when>
    <thetext>Committed r228710: &lt;https://trac.webkit.org/changeset/228710&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334183</attachid>
            <date>2018-02-19 13:43:32 -0800</date>
            <delta_ts>2018-02-19 13:52:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182939-20180219134332.patch</filename>
            <type>text/plain</type>
            <size>6314</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI4NzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGEwMTcxYzFlYmZiNTdm
ZDMxZjdiYzYyYzRjMzlhYzBjNzc4MmVhZi4uYmNmNGJlOTVmMjdlOTdhYjdiODFkOGRlZjMyYzg2
YjM4ZmFiMjE0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE4LTAyLTE5ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBEZWNvdXBsZSBwYXJzaW5nIEpTIGtleWZyYW1lcyBhbmQgY29tcHV0aW5nIGJsZW5kaW5nIGtl
eWZyYW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgyOTM5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8zNzY3ODM2ND4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNb3ZlIGFsbCB0aGUgY29kZSB1c2Vk
IHRvIGNyZWF0ZSB0aGUgS2V5ZnJhbWVMaXN0IGludG8gYSBkZWRpY2F0ZWQgdXBkYXRlQmxlbmRp
bmdLZXlmcmFtZXMoKSBtZXRob2QuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIHNpbmNlIHRoaXMg
Y29kZSBjaGFuZ2UgaGFzIG5vIHVzZXItdmlzaWJsZSBpbXBhY3QuCisKKyAgICAgICAgKiBhbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpLZXlm
cmFtZUVmZmVjdFJlYWRPbmx5Ojpwcm9jZXNzS2V5ZnJhbWVzKToKKyAgICAgICAgKFdlYkNvcmU6
OktleWZyYW1lRWZmZWN0UmVhZE9ubHk6OnVwZGF0ZUJsZW5kaW5nS2V5ZnJhbWVzKToKKyAgICAg
ICAgKiBhbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5oOgorCiAyMDE4LTAyLTE3ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRp
b25zXSBTdG9yZSBhbGwgcGFyc2VkIGtleWZyYW1lIGlucHV0IGluZm9ybWF0aW9uIGluIGEgc2lu
Z2xlIHN0cnVjdHVyZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0UmVhZE9ubHkuY3BwIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1l
RWZmZWN0UmVhZE9ubHkuY3BwCmluZGV4IDlmZjJiYTNiNjE5YTNjNDhkOWIyZWM5OWI0ZTJhNmUy
ZjViNzYyZTQuLmI2NTU2NzA3NDk4MGNkNmRiMDJjN2FiNzI5NTQ2Y2RjN2U0NTA1NmIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFkT25seS5j
cHAKQEAgLTU1NSwzMyArNTU1LDExIEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZyYW1lRWZmZWN0
UmVhZE9ubHk6OnByb2Nlc3NLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3RyCiAgICAgLy8g
c2luY2UgdGhleSBjYW4gYmUgY29tcHV0ZWQgdXAtZnJvbnQuCiAgICAgY29tcHV0ZU1pc3NpbmdL
ZXlmcmFtZU9mZnNldHMocGFyc2VkS2V5ZnJhbWVzKTsKIAotICAgIEtleWZyYW1lTGlzdCBrZXlm
cmFtZUxpc3QoImtleWZyYW1lLWVmZmVjdC0iICsgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygp
KTsKLSAgICBTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyID0gbV90YXJnZXQtPnN0eWxlUmVz
b2x2ZXIoKTsKLQogICAgIC8vIDguIEZvciBlYWNoIGZyYW1lIGluIHByb2Nlc3NlZCBrZXlmcmFt
ZXMsIHBlcmZvcm0gdGhlIGZvbGxvd2luZyBzdGVwczoKICAgICBmb3IgKGF1dG8mIGtleWZyYW1l
IDogcGFyc2VkS2V5ZnJhbWVzKSB7Ci0gICAgICAgIC8vIDEuIEZvciBlYWNoIHByb3BlcnR5LXZh
bHVlIHBhaXIgaW4gZnJhbWUsIHBhcnNlIHRoZSBwcm9wZXJ0eSB2YWx1ZSB1c2luZyB0aGUgc3lu
dGF4IHNwZWNpZmllZCBmb3IgdGhhdCBwcm9wZXJ0eS4KLSAgICAgICAgLy8gICAgSWYgdGhlIHBy
b3BlcnR5IHZhbHVlIGlzIGludmFsaWQgYWNjb3JkaW5nIHRvIHRoZSBzeW50YXggZm9yIHRoZSBw
cm9wZXJ0eSwgZGlzY2FyZCB0aGUgcHJvcGVydHktdmFsdWUgcGFpci4KLSAgICAgICAgLy8gICAg
VXNlciBhZ2VudHMgdGhhdCBwcm92aWRlIHN1cHBvcnQgZm9yIGRpYWdub3NpbmcgZXJyb3JzIGlu
IGNvbnRlbnQgU0hPVUxEIHByb2R1Y2UgYW4gYXBwcm9wcmlhdGUgd2FybmluZwotICAgICAgICAv
LyAgICBoaWdobGlnaHRpbmcgdGhlIGludmFsaWQgcHJvcGVydHkgdmFsdWUuCi0KLSAgICAgICAg
S2V5ZnJhbWVWYWx1ZSBrZXlmcmFtZVZhbHVlKGtleWZyYW1lLmNvbXB1dGVkT2Zmc2V0LCBudWxs
cHRyKTsKLSAgICAgICAgYXV0byByZW5kZXJTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGVQdHIo
KTsKLSAgICAgICAgYXV0byYgc3R5bGVQcm9wZXJ0aWVzID0ga2V5ZnJhbWUuc3R5bGU7Ci0gICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzdHlsZVByb3BlcnRpZXMtPnByb3BlcnR5Q291
bnQoKTsgKytpKSB7Ci0gICAgICAgICAgICBhdXRvIGNzc1Byb3BlcnR5SWQgPSBzdHlsZVByb3Bl
cnRpZXMtPnByb3BlcnR5QXQoaSkuaWQoKTsKLSAgICAgICAgICAgIGtleWZyYW1lVmFsdWUuYWRk
UHJvcGVydHkoY3NzUHJvcGVydHlJZCk7Ci0gICAgICAgICAgICBrZXlmcmFtZUxpc3QuYWRkUHJv
cGVydHkoY3NzUHJvcGVydHlJZCk7Ci0gICAgICAgICAgICBzdHlsZVJlc29sdmVyLmFwcGx5UHJv
cGVydHlUb1N0eWxlKGNzc1Byb3BlcnR5SWQsIHN0eWxlUHJvcGVydGllcy0+cHJvcGVydHlBdChp
KS52YWx1ZSgpLCBXVEZNb3ZlKHJlbmRlclN0eWxlKSk7Ci0gICAgICAgICAgICByZW5kZXJTdHls
ZSA9IHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS50YWtlU3R5bGUoKTsKLSAgICAgICAgfQotCi0gICAg
ICAgIGtleWZyYW1lVmFsdWUuc2V0U3R5bGUoUmVuZGVyU3R5bGU6OmNsb25lUHRyKCpyZW5kZXJT
dHlsZSkpOwotICAgICAgICBrZXlmcmFtZUxpc3QuaW5zZXJ0KFdURk1vdmUoa2V5ZnJhbWVWYWx1
ZSkpOwotCi0gICAgICAgIC8vIDIuIExldCB0aGUgdGltaW5nIGZ1bmN0aW9uIG9mIGZyYW1lIGJl
IHRoZSByZXN1bHQgb2YgcGFyc2luZyB0aGUg4oCcZWFzaW5n4oCdIHByb3BlcnR5IG9uIGZyYW1l
IHVzaW5nIHRoZSBDU1Mgc3ludGF4Ci0gICAgICAgIC8vICAgIGRlZmluZWQgZm9yIHRoZSBlYXNp
bmcgcHJvcGVydHkgb2YgdGhlIEFuaW1hdGlvbkVmZmVjdFRpbWluZ1JlYWRPbmx5IGludGVyZmFj
ZS4KLSAgICAgICAgLy8gICAgSWYgcGFyc2luZyB0aGUg4oCcZWFzaW5n4oCdIHByb3BlcnR5IGZh
aWxzLCB0aHJvdyBhIFR5cGVFcnJvciBhbmQgYWJvcnQgdGhpcyBwcm9jZWR1cmUuCisgICAgICAg
IC8vIExldCB0aGUgdGltaW5nIGZ1bmN0aW9uIG9mIGZyYW1lIGJlIHRoZSByZXN1bHQgb2YgcGFy
c2luZyB0aGUg4oCcZWFzaW5n4oCdIHByb3BlcnR5IG9uIGZyYW1lIHVzaW5nIHRoZSBDU1Mgc3lu
dGF4CisgICAgICAgIC8vIGRlZmluZWQgZm9yIHRoZSBlYXNpbmcgcHJvcGVydHkgb2YgdGhlIEFu
aW1hdGlvbkVmZmVjdFRpbWluZ1JlYWRPbmx5IGludGVyZmFjZS4KKyAgICAgICAgLy8gSWYgcGFy
c2luZyB0aGUg4oCcZWFzaW5n4oCdIHByb3BlcnR5IGZhaWxzLCB0aHJvdyBhIFR5cGVFcnJvciBh
bmQgYWJvcnQgdGhpcyBwcm9jZWR1cmUuCiAgICAgICAgIGF1dG8gdGltaW5nRnVuY3Rpb25SZXN1
bHQgPSBUaW1pbmdGdW5jdGlvbjo6Y3JlYXRlRnJvbUNTU1RleHQoa2V5ZnJhbWUuZWFzaW5nKTsK
ICAgICAgICAgaWYgKHRpbWluZ0Z1bmN0aW9uUmVzdWx0Lmhhc0V4Y2VwdGlvbigpKQogICAgICAg
ICAgICAgcmV0dXJuIHRpbWluZ0Z1bmN0aW9uUmVzdWx0LnJlbGVhc2VFeGNlcHRpb24oKTsKQEAg
LTU5NywxNCArNTc1LDQ1IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IEtleWZyYW1lRWZmZWN0UmVhZE9u
bHk6OnByb2Nlc3NLZXlmcmFtZXMoRXhlY1N0YXRlJiBzdGF0ZSwgU3RyCiAgICAgICAgICAgICBy
ZXR1cm4gdGltaW5nRnVuY3Rpb25SZXN1bHQucmVsZWFzZUV4Y2VwdGlvbigpOwogICAgIH0KIAot
ICAgIG1fYmxlbmRpbmdLZXlmcmFtZXMgPSBXVEZNb3ZlKGtleWZyYW1lTGlzdCk7CiAgICAgbV9w
YXJzZWRLZXlmcmFtZXMgPSBXVEZNb3ZlKHBhcnNlZEtleWZyYW1lcyk7CiAKLSAgICBjb21wdXRl
U3RhY2tpbmdDb250ZXh0SW1wYWN0KCk7CisgICAgdXBkYXRlQmxlbmRpbmdLZXlmcmFtZXMoKTsK
IAogICAgIHJldHVybiB7IH07CiB9CiAKK3ZvaWQgS2V5ZnJhbWVFZmZlY3RSZWFkT25seTo6dXBk
YXRlQmxlbmRpbmdLZXlmcmFtZXMoKQoreworICAgIGlmICghbV90YXJnZXQpCisgICAgICAgIHJl
dHVybjsKKworICAgIEtleWZyYW1lTGlzdCBrZXlmcmFtZUxpc3QoImtleWZyYW1lLWVmZmVjdC0i
ICsgY3JlYXRlQ2Fub25pY2FsVVVJRFN0cmluZygpKTsKKyAgICBTdHlsZVJlc29sdmVyJiBzdHls
ZVJlc29sdmVyID0gbV90YXJnZXQtPnN0eWxlUmVzb2x2ZXIoKTsKKworICAgIGZvciAoYXV0byYg
a2V5ZnJhbWUgOiBtX3BhcnNlZEtleWZyYW1lcykgeworICAgICAgICBLZXlmcmFtZVZhbHVlIGtl
eWZyYW1lVmFsdWUoa2V5ZnJhbWUuY29tcHV0ZWRPZmZzZXQsIG51bGxwdHIpOworICAgICAgICBh
dXRvIHJlbmRlclN0eWxlID0gUmVuZGVyU3R5bGU6OmNyZWF0ZVB0cigpOworICAgICAgICAvLyBX
ZSBuZWVkIHRvIGNhbGwgdXBkYXRlKCkgb24gdGhlIEZvbnRDYXNjYWRlIG9yIHdlJ2xsIGhpdCBh
biBBU1NFUlQgd2hlbiBwYXJzaW5nIGZvbnQtcmVsYXRlZCBwcm9wZXJ0aWVzLgorICAgICAgICBy
ZW5kZXJTdHlsZS0+Zm9udENhc2NhZGUoKS51cGRhdGUobnVsbHB0cik7CisKKyAgICAgICAgYXV0
byYgc3R5bGVQcm9wZXJ0aWVzID0ga2V5ZnJhbWUuc3R5bGU7CisgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBzdHlsZVByb3BlcnRpZXMtPnByb3BlcnR5Q291bnQoKTsgKytpKSB7Cisg
ICAgICAgICAgICBhdXRvIGNzc1Byb3BlcnR5SWQgPSBzdHlsZVByb3BlcnRpZXMtPnByb3BlcnR5
QXQoaSkuaWQoKTsKKyAgICAgICAgICAgIGtleWZyYW1lVmFsdWUuYWRkUHJvcGVydHkoY3NzUHJv
cGVydHlJZCk7CisgICAgICAgICAgICBrZXlmcmFtZUxpc3QuYWRkUHJvcGVydHkoY3NzUHJvcGVy
dHlJZCk7CisgICAgICAgICAgICBzdHlsZVJlc29sdmVyLmFwcGx5UHJvcGVydHlUb1N0eWxlKGNz
c1Byb3BlcnR5SWQsIHN0eWxlUHJvcGVydGllcy0+cHJvcGVydHlBdChpKS52YWx1ZSgpLCBXVEZN
b3ZlKHJlbmRlclN0eWxlKSk7CisgICAgICAgICAgICByZW5kZXJTdHlsZSA9IHN0eWxlUmVzb2x2
ZXIuc3RhdGUoKS50YWtlU3R5bGUoKTsKKyAgICAgICAgfQorCisgICAgICAgIGtleWZyYW1lVmFs
dWUuc2V0U3R5bGUoUmVuZGVyU3R5bGU6OmNsb25lUHRyKCpyZW5kZXJTdHlsZSkpOworICAgICAg
ICBrZXlmcmFtZUxpc3QuaW5zZXJ0KFdURk1vdmUoa2V5ZnJhbWVWYWx1ZSkpOworICAgIH0KKwor
ICAgIG1fYmxlbmRpbmdLZXlmcmFtZXMgPSBXVEZNb3ZlKGtleWZyYW1lTGlzdCk7CisKKyAgICBj
b21wdXRlU3RhY2tpbmdDb250ZXh0SW1wYWN0KCk7Cit9CisKIHZvaWQgS2V5ZnJhbWVFZmZlY3RS
ZWFkT25seTo6Y29tcHV0ZVN0YWNraW5nQ29udGV4dEltcGFjdCgpCiB7CiAgICAgbV90cmlnZ2Vy
c1N0YWNraW5nQ29udGV4dCA9IGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL0tleWZyYW1lRWZmZWN0UmVhZE9ubHkuaCBiL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdFJlYWRPbmx5LmgKaW5kZXggN2NjNDE3MGViMTljYzMxMTYyODZmYjY5
NDJiNmJjYjhiM2MyNWUxZi4uYTk3YTUzMTFjYThjYjE2MTQzNmFiOWVmMWZkZWFjYmQxNjU1OGY2
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZyYW1lRWZmZWN0UmVh
ZE9ubHkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3RSZWFk
T25seS5oCkBAIC0xMTksNiArMTE5LDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICB2b2lk
IHNldEFuaW1hdGVkUHJvcGVydGllc0luU3R5bGUoUmVuZGVyU3R5bGUmLCBkb3VibGUpOwogICAg
IHZvaWQgY29tcHV0ZVN0YWNraW5nQ29udGV4dEltcGFjdCgpOworICAgIHZvaWQgdXBkYXRlQmxl
bmRpbmdLZXlmcmFtZXMoKTsKICAgICBib29sIHNob3VsZFJ1bkFjY2VsZXJhdGVkKCk7CiAKICAg
ICBib29sIG1fdHJpZ2dlcnNTdGFja2luZ0NvbnRleHQgeyBmYWxzZSB9Owo=
</data>
<flag name="review"
          id="352975"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>