<?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>180830</bug_id>
          
          <creation_ts>2017-12-14 12:59:03 -0800</creation_ts>
          <short_desc>[Web Animations] Implement the cancel() method on Animation</short_desc>
          <delta_ts>2017-12-14 14:12:45 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>cdumez</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1381764</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-14 12:59:03 -0800</bug_when>
    <thetext>We need to expose the cancel() method on the Animation interface.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381765</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-14 12:59:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/36055816&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381766</commentid>
    <comment_count>2</comment_count>
      <attachid>329387</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-14 13:02:20 -0800</bug_when>
    <thetext>Created attachment 329387
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381807</commentid>
    <comment_count>3</comment_count>
      <attachid>329387</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2017-12-14 14:04:18 -0800</bug_when>
    <thetext>Comment on attachment 329387
Patch

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

&gt; Source/WebCore/animation/WebAnimation.cpp:342
&gt; +        // 2. Reject the current finished promise with a DOMException named &quot;AbortError&quot;.
&gt; +        m_finishedPromise.reject(Exception { AbortError });

Are you confirming that all these changes are covered by existing tests? I don&apos;t see any changes in the expected results that are looking for this. If not, you should be writing new tests.

&gt; Source/WebCore/animation/WebAnimation.cpp:356
&gt; +        // 4. Create an AnimationPlaybackEvent, cancelEvent.
&gt; +        // 5. Set cancelEvent&apos;s type attribute to cancel.
&gt; +        // 6. Set cancelEvent&apos;s currentTime to null.
&gt; +        // 7. Let timeline time be the current time of the timeline with which animation is associated. If animation is not associated with an
&gt; +        //    active timeline, let timeline time be n unresolved time value.
&gt; +        // 8. Set cancelEvent&apos;s timelineTime to timeline time. If timeline time is unresolved, set it to null.
&gt; +        // 9. If animation has a document for timing, then append cancelEvent to its document for timing&apos;s pending animation event queue along
&gt; +        //    with its target, animation. If animation is associated with an active timeline that defines a procedure to convert timeline times
&gt; +        //    to origin-relative time, let the scheduled event time be the result of applying that procedure to timeline time. Otherwise, the
&gt; +        //    scheduled event time is an unresolved time value.

Do you have bugs for all these missing steps?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381815</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-14 14:10:03 -0800</bug_when>
    <thetext>(In reply to Dean Jackson from comment #3)
&gt; Comment on attachment 329387 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=329387&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/animation/WebAnimation.cpp:342
&gt; &gt; +        // 2. Reject the current finished promise with a DOMException named &quot;AbortError&quot;.
&gt; &gt; +        m_finishedPromise.reject(Exception { AbortError });
&gt; 
&gt; Are you confirming that all these changes are covered by existing tests? I
&gt; don&apos;t see any changes in the expected results that are looking for this. If
&gt; not, you should be writing new tests.
&gt; 
&gt; &gt; Source/WebCore/animation/WebAnimation.cpp:356
&gt; &gt; +        // 4. Create an AnimationPlaybackEvent, cancelEvent.
&gt; &gt; +        // 5. Set cancelEvent&apos;s type attribute to cancel.
&gt; &gt; +        // 6. Set cancelEvent&apos;s currentTime to null.
&gt; &gt; +        // 7. Let timeline time be the current time of the timeline with which animation is associated. If animation is not associated with an
&gt; &gt; +        //    active timeline, let timeline time be n unresolved time value.
&gt; &gt; +        // 8. Set cancelEvent&apos;s timelineTime to timeline time. If timeline time is unresolved, set it to null.
&gt; &gt; +        // 9. If animation has a document for timing, then append cancelEvent to its document for timing&apos;s pending animation event queue along
&gt; &gt; +        //    with its target, animation. If animation is associated with an active timeline that defines a procedure to convert timeline times
&gt; &gt; +        //    to origin-relative time, let the scheduled event time be the result of applying that procedure to timeline time. Otherwise, the
&gt; &gt; +        //    scheduled event time is an unresolved time value.
&gt; 
&gt; Do you have bugs for all these missing steps?

They&apos;re all implemented via the single function call below those comments:

enqueueAnimationPlaybackEvent(eventNames().cancelEvent, std::nullopt, m_timeline ? m_timeline-&gt;currentTime() : std::nullopt);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1381817</commentid>
    <comment_count>5</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2017-12-14 14:12:45 -0800</bug_when>
    <thetext>Committed r225927: &lt;https://trac.webkit.org/changeset/225927&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329387</attachid>
            <date>2017-12-14 13:02:20 -0800</date>
            <delta_ts>2017-12-14 14:04:18 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180830-20171214220218.patch</filename>
            <type>text/plain</type>
            <size>10888</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI1OTE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGNmNGRkYmFmYjBhYmVm
ZmI5ODAwYzVhYzhjYmVlNzkxZDM2NjY5Yy4uNzFlMTBmNTc1ODMzMzA0MDQxZjlhNDRjMTZiMjI1
NTkwOWE2Njk0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDE3LTEyLTE0ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYiBBbmltYXRpb25z
XSBJbXBsZW1lbnQgdGhlIGNhbmNlbCgpIG1ldGhvZCBvbiBBbmltYXRpb24KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDgzMAorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vMzYwNTU4MTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgV2UgaW1wbGVtZW50IHRoZSBjYW5jZWwoKSBtZXRob2Qgb24gdGhlIEFu
aW1hdGlvbiBpbnRlcmZhY2Ugd2l0aCBmdWxsIHNwZWMgdGV4dCBkZWZpbmluZworICAgICAgICB0
aGUgbm9ybWF0aXZlIGJlaGF2aW9yIG9mIHRob3NlIG1ldGhvZHMgYW5kIGNvZGUgbWF0Y2hpbmcg
dGhvc2Ugc3RlcHMuIEltcGxlbWVudGluZyB0aGUKKyAgICAgICAgY2FuY2VsKCkgbWV0aG9kIHJl
cXVpcmVkIGltcGxlbWVudGluZyB0aGUgbm90aW9uIG9mICJyZXNldHRpbmcgcGVuZGluZyB0YXNr
cyIsCisgICAgICAgIHdoaWNoIHRoZSBXZWIgQW5pbWF0aW9ucyBzcGVjIGRlZmluZXMgYXMgd2Vs
bC4KKworICAgICAgICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViQW5pbWF0aW9uOjpzZXRFZmZlY3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQW5p
bWF0aW9uOjpjYW5jZWwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViQW5pbWF0aW9uOjpyZXNldFBl
bmRpbmdUYXNrcyk6CisgICAgICAgICogYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oOgorICAgICAg
ICAqIGFuaW1hdGlvbi9XZWJBbmltYXRpb24uaWRsOgorCiAyMDE3LTEyLTE0ICBBbnRvaW5lIFF1
aW50ICA8Z3Jhb3V0c0BhcHBsZS5jb20+CiAKICAgICAgICAgW1dlYiBBbmltYXRpb25zXSBJbXBs
ZW1lbnQgdGhlIGZpbmlzaCgpIG1ldGhvZCBvbiBBbmltYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYW5p
bWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKaW5kZXggMTcyZmVjZGZhZTQ5YWNmYjdkNDBiZWYxOGYz
NTJlMDk1Mzk0MjVjYi4uYTQ4MWE5NTAwOWE4ZTcyMGQ4Y2RhOWQ3ZmUxODI1NDY1YmM5YzlhMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5jcHAKQEAgLTY3LDkgKzY3
LDE3IEBAIFdlYkFuaW1hdGlvbjo6fldlYkFuaW1hdGlvbigpCiAKIHZvaWQgV2ViQW5pbWF0aW9u
OjpzZXRFZmZlY3QoUmVmUHRyPEFuaW1hdGlvbkVmZmVjdD4mJiBlZmZlY3QpCiB7CisgICAgLy8g
My40LjMuIFNldHRpbmcgdGhlIHRhcmdldCBlZmZlY3Qgb2YgYW4gYW5pbWF0aW9uCisgICAgLy8g
aHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3dlYi1hbmltYXRpb25zLTEvI3NldHRpbmctdGhlLXRh
cmdldC1lZmZlY3QKKworICAgIC8vIDIuIElmIG5ldyBlZmZlY3QgaXMgdGhlIHNhbWUgb2JqZWN0
IGFzIG9sZCBlZmZlY3QsIGFib3J0IHRoaXMgcHJvY2VkdXJlLgogICAgIGlmIChlZmZlY3QgPT0g
bV9lZmZlY3QpCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIDMuIElmIG5ldyBlZmZlY3QgaXMg
bnVsbCBhbmQgb2xkIGVmZmVjdCBpcyBub3QgbnVsbCwgcnVuIHRoZSBwcm9jZWR1cmUgdG8gcmVz
ZXQgYW4gYW5pbWF0aW9uJ3MgcGVuZGluZyB0YXNrcyBvbiBhbmltYXRpb24uCisgICAgaWYgKCFl
ZmZlY3QgJiYgbV9lZmZlY3QpCisgICAgICAgIHJlc2V0UGVuZGluZ1Rhc2tzKCk7CisKICAgICBp
ZiAobV9lZmZlY3QpIHsKICAgICAgICAgbV9lZmZlY3QtPnNldEFuaW1hdGlvbihudWxscHRyKTsK
IApAQCAtMzE2LDYgKzMyNCw0NyBAQCBTZWNvbmRzIFdlYkFuaW1hdGlvbjo6ZWZmZWN0RW5kVGlt
ZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fZWZmZWN0ID8gbV9lZmZlY3QtPnRpbWluZygpLT5kdXJh
dGlvbigpIDogMF9zOwogfQogCit2b2lkIFdlYkFuaW1hdGlvbjo6Y2FuY2VsKCkKK3sKKyAgICAv
LyAzLjQuMTYuIENhbmNlbGluZyBhbiBhbmltYXRpb24KKyAgICAvLyBodHRwczovL2RyYWZ0cy5j
c3N3Zy5vcmcvd2ViLWFuaW1hdGlvbnMtMS8jY2FuY2VsaW5nLWFuLWFuaW1hdGlvbi1zZWN0aW9u
CisgICAgLy8KKyAgICAvLyBBbiBhbmltYXRpb24gY2FuIGJlIGNhbmNlbGVkIHdoaWNoIGNhdXNl
cyB0aGUgY3VycmVudCB0aW1lIHRvIGJlY29tZSB1bnJlc29sdmVkIGhlbmNlIHJlbW92aW5nIGFu
eSBlZmZlY3RzIGNhdXNlZCBieSB0aGUgdGFyZ2V0IGVmZmVjdC4KKyAgICAvLworICAgIC8vIFRo
ZSBwcm9jZWR1cmUgdG8gY2FuY2VsIGFuIGFuaW1hdGlvbiBmb3IgYW5pbWF0aW9uIGlzIGFzIGZv
bGxvd3M6CisgICAgLy8KKyAgICAvLyAxLiBJZiBhbmltYXRpb24ncyBwbGF5IHN0YXRlIGlzIG5v
dCBpZGxlLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHM6CisgICAgaWYgKHBsYXlTdGF0ZSgp
ICE9IFBsYXlTdGF0ZTo6SWRsZSkgeworICAgICAgICAvLyAxLiBSdW4gdGhlIHByb2NlZHVyZSB0
byByZXNldCBhbiBhbmltYXRpb24ncyBwZW5kaW5nIHRhc2tzIG9uIGFuaW1hdGlvbi4KKyAgICAg
ICAgcmVzZXRQZW5kaW5nVGFza3MoKTsKKworICAgICAgICAvLyAyLiBSZWplY3QgdGhlIGN1cnJl
bnQgZmluaXNoZWQgcHJvbWlzZSB3aXRoIGEgRE9NRXhjZXB0aW9uIG5hbWVkICJBYm9ydEVycm9y
Ii4KKyAgICAgICAgbV9maW5pc2hlZFByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEFib3J0RXJy
b3IgfSk7CisKKyAgICAgICAgLy8gMy4gTGV0IGN1cnJlbnQgZmluaXNoZWQgcHJvbWlzZSBiZSBh
IG5ldyAocGVuZGluZykgUHJvbWlzZSBvYmplY3QuCisgICAgICAgIG1fZmluaXNoZWRQcm9taXNl
LmNsZWFyKCk7CisKKyAgICAgICAgLy8gNC4gQ3JlYXRlIGFuIEFuaW1hdGlvblBsYXliYWNrRXZl
bnQsIGNhbmNlbEV2ZW50LgorICAgICAgICAvLyA1LiBTZXQgY2FuY2VsRXZlbnQncyB0eXBlIGF0
dHJpYnV0ZSB0byBjYW5jZWwuCisgICAgICAgIC8vIDYuIFNldCBjYW5jZWxFdmVudCdzIGN1cnJl
bnRUaW1lIHRvIG51bGwuCisgICAgICAgIC8vIDcuIExldCB0aW1lbGluZSB0aW1lIGJlIHRoZSBj
dXJyZW50IHRpbWUgb2YgdGhlIHRpbWVsaW5lIHdpdGggd2hpY2ggYW5pbWF0aW9uIGlzIGFzc29j
aWF0ZWQuIElmIGFuaW1hdGlvbiBpcyBub3QgYXNzb2NpYXRlZCB3aXRoIGFuCisgICAgICAgIC8v
ICAgIGFjdGl2ZSB0aW1lbGluZSwgbGV0IHRpbWVsaW5lIHRpbWUgYmUgbiB1bnJlc29sdmVkIHRp
bWUgdmFsdWUuCisgICAgICAgIC8vIDguIFNldCBjYW5jZWxFdmVudCdzIHRpbWVsaW5lVGltZSB0
byB0aW1lbGluZSB0aW1lLiBJZiB0aW1lbGluZSB0aW1lIGlzIHVucmVzb2x2ZWQsIHNldCBpdCB0
byBudWxsLgorICAgICAgICAvLyA5LiBJZiBhbmltYXRpb24gaGFzIGEgZG9jdW1lbnQgZm9yIHRp
bWluZywgdGhlbiBhcHBlbmQgY2FuY2VsRXZlbnQgdG8gaXRzIGRvY3VtZW50IGZvciB0aW1pbmcn
cyBwZW5kaW5nIGFuaW1hdGlvbiBldmVudCBxdWV1ZSBhbG9uZworICAgICAgICAvLyAgICB3aXRo
IGl0cyB0YXJnZXQsIGFuaW1hdGlvbi4gSWYgYW5pbWF0aW9uIGlzIGFzc29jaWF0ZWQgd2l0aCBh
biBhY3RpdmUgdGltZWxpbmUgdGhhdCBkZWZpbmVzIGEgcHJvY2VkdXJlIHRvIGNvbnZlcnQgdGlt
ZWxpbmUgdGltZXMKKyAgICAgICAgLy8gICAgdG8gb3JpZ2luLXJlbGF0aXZlIHRpbWUsIGxldCB0
aGUgc2NoZWR1bGVkIGV2ZW50IHRpbWUgYmUgdGhlIHJlc3VsdCBvZiBhcHBseWluZyB0aGF0IHBy
b2NlZHVyZSB0byB0aW1lbGluZSB0aW1lLiBPdGhlcndpc2UsIHRoZQorICAgICAgICAvLyAgICBz
Y2hlZHVsZWQgZXZlbnQgdGltZSBpcyBhbiB1bnJlc29sdmVkIHRpbWUgdmFsdWUuCisgICAgICAg
IC8vIE90aGVyd2lzZSwgcXVldWUgYSB0YXNrIHRvIGRpc3BhdGNoIGNhbmNlbEV2ZW50IGF0IGFu
aW1hdGlvbi4gVGhlIHRhc2sgc291cmNlIGZvciB0aGlzIHRhc2sgaXMgdGhlIERPTSBtYW5pcHVs
YXRpb24gdGFzayBzb3VyY2UuCisgICAgICAgIGVucXVldWVBbmltYXRpb25QbGF5YmFja0V2ZW50
KGV2ZW50TmFtZXMoKS5jYW5jZWxFdmVudCwgc3RkOjpudWxsb3B0LCBtX3RpbWVsaW5lID8gbV90
aW1lbGluZS0+Y3VycmVudFRpbWUoKSA6IHN0ZDo6bnVsbG9wdCk7CisgICAgfQorCisgICAgLy8g
Mi4gTWFrZSBhbmltYXRpb24ncyBob2xkIHRpbWUgdW5yZXNvbHZlZC4KKyAgICBtX2hvbGRUaW1l
ID0gc3RkOjpudWxsb3B0OworCisgICAgLy8gMy4gTWFrZSBhbmltYXRpb24ncyBzdGFydCB0aW1l
IHVucmVzb2x2ZWQuCisgICAgc2V0U3RhcnRUaW1lKHN0ZDo6bnVsbG9wdCk7Cit9CisKIHZvaWQg
V2ViQW5pbWF0aW9uOjplbnF1ZXVlQW5pbWF0aW9uUGxheWJhY2tFdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIHN0ZDo6b3B0aW9uYWw8U2Vjb25kcz4gY3VycmVudFRpbWUsIHN0ZDo6b3B0
aW9uYWw8U2Vjb25kcz4gdGltZWxpbmVUaW1lKQogewogICAgIGF1dG8gZXZlbnQgPSBBbmltYXRp
b25QbGF5YmFja0V2ZW50OjpjcmVhdGUodHlwZSwgY3VycmVudFRpbWUsIHRpbWVsaW5lVGltZSk7
CkBAIC0zMzYsNiArMzg1LDMxIEBAIHZvaWQgV2ViQW5pbWF0aW9uOjplbnF1ZXVlQW5pbWF0aW9u
UGxheWJhY2tFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIHN0ZDo6CiAgICAgfQogfQog
Cit2b2lkIFdlYkFuaW1hdGlvbjo6cmVzZXRQZW5kaW5nVGFza3MoKQoreworICAgIC8vIFRoZSBw
cm9jZWR1cmUgdG8gcmVzZXQgYW4gYW5pbWF0aW9uJ3MgcGVuZGluZyB0YXNrcyBmb3IgYW5pbWF0
aW9uIGlzIGFzIGZvbGxvd3M6CisgICAgLy8gaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL3dlYi1h
bmltYXRpb25zLTEvI3Jlc2V0LWFuLWFuaW1hdGlvbnMtcGVuZGluZy10YXNrcworICAgIC8vCisg
ICAgLy8gMS4gSWYgYW5pbWF0aW9uIGRvZXMgbm90IGhhdmUgYSBwZW5kaW5nIHBsYXkgdGFzayBv
ciBhIHBlbmRpbmcgcGF1c2UgdGFzaywgYWJvcnQgdGhpcyBwcm9jZWR1cmUuCisgICAgaWYgKCFw
ZW5kaW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIDIuIElmIGFuaW1hdGlvbiBoYXMg
YSBwZW5kaW5nIHBsYXkgdGFzaywgY2FuY2VsIHRoYXQgdGFzay4KKyAgICBpZiAoaGFzUGVuZGlu
Z1BsYXlUYXNrKCkpCisgICAgICAgIHNldFRpbWVUb1J1blBlbmRpbmdQbGF5VGFzayhUaW1lVG9S
dW5QZW5kaW5nVGFzazo6Tm90U2NoZWR1bGVkKTsKKworICAgIC8vIDMuIElmIGFuaW1hdGlvbiBo
YXMgYSBwZW5kaW5nIHBhdXNlIHRhc2ssIGNhbmNlbCB0aGF0IHRhc2suCisgICAgaWYgKGhhc1Bl
bmRpbmdQYXVzZVRhc2soKSkKKyAgICAgICAgc2V0VGltZVRvUnVuUGVuZGluZ1BhdXNlVGFzayhU
aW1lVG9SdW5QZW5kaW5nVGFzazo6Tm90U2NoZWR1bGVkKTsKKworICAgIC8vIDQuIFJlamVjdCBh
bmltYXRpb24ncyBjdXJyZW50IHJlYWR5IHByb21pc2Ugd2l0aCBhIERPTUV4Y2VwdGlvbiBuYW1l
ZCAiQWJvcnRFcnJvciIuCisgICAgbV9yZWFkeVByb21pc2UucmVqZWN0KEV4Y2VwdGlvbiB7IEFi
b3J0RXJyb3IgfSk7CisKKyAgICAvLyA1LiBMZXQgYW5pbWF0aW9uJ3MgY3VycmVudCByZWFkeSBw
cm9taXNlIGJlIHRoZSByZXN1bHQgb2YgY3JlYXRpbmcgYSBuZXcgcmVzb2x2ZWQgUHJvbWlzZSBv
YmplY3QuCisgICAgbV9yZWFkeVByb21pc2UuY2xlYXIoKTsKKyAgICBtX3JlYWR5UHJvbWlzZS5y
ZXNvbHZlKCp0aGlzKTsKK30KKwogRXhjZXB0aW9uT3I8dm9pZD4gV2ViQW5pbWF0aW9uOjpmaW5p
c2goKQogewogICAgIC8vIDMuNC4xNS4gRmluaXNoaW5nIGFuIGFuaW1hdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvYW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5oCmluZGV4IDcyYmNkYzFmNGNlMzg2YzE3NzcxZTBh
MzMwNWUxZDYxMmVhOTAwYWYuLjdiZDQwNjlkYWNlMGIzZDNmMGYwZTVlY2RjNmE2NWExMTkyZDhl
MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9XZWJBbmltYXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmgKQEAgLTc4LDYgKzc4
LDcgQEAgcHVibGljOgogICAgIHVzaW5nIEZpbmlzaGVkUHJvbWlzZSA9IERPTVByb21pc2VQcm94
eVdpdGhSZXNvbHZlQ2FsbGJhY2s8SURMSW50ZXJmYWNlPFdlYkFuaW1hdGlvbj4+OwogICAgIEZp
bmlzaGVkUHJvbWlzZSYgZmluaXNoZWQoKSB7IHJldHVybiBtX2ZpbmlzaGVkUHJvbWlzZTsgfQog
CisgICAgdm9pZCBjYW5jZWwoKTsKICAgICBFeGNlcHRpb25Pcjx2b2lkPiBmaW5pc2goKTsKICAg
ICBFeGNlcHRpb25Pcjx2b2lkPiBwbGF5KCk7CiAgICAgRXhjZXB0aW9uT3I8dm9pZD4gcGF1c2Uo
KTsKQEAgLTEyMCw2ICsxMjEsNyBAQCBwcml2YXRlOgogICAgIEV4Y2VwdGlvbk9yPHZvaWQ+IHBs
YXkoQXV0b1Jld2luZCk7CiAgICAgdm9pZCBydW5QZW5kaW5nUGF1c2VUYXNrKCk7CiAgICAgdm9p
ZCBydW5QZW5kaW5nUGxheVRhc2soKTsKKyAgICB2b2lkIHJlc2V0UGVuZGluZ1Rhc2tzKCk7CiAg
ICAgCiAgICAgUmVmUHRyPEFuaW1hdGlvbkVmZmVjdD4gbV9lZmZlY3Q7CiAgICAgUmVmUHRyPEFu
aW1hdGlvblRpbWVsaW5lPiBtX3RpbWVsaW5lOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YW5pbWF0aW9uL1dlYkFuaW1hdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2Vi
QW5pbWF0aW9uLmlkbAppbmRleCBjYjMwYmMzYTdlYzJmZTFkMDFlY2E2YmY3OTU4YzYzOGMzYWNj
Y2UxLi5mOTdiMDYwNGI5N2FlOWY5YzdiMGZhYjc0MGFjZWQ4YzFiM2IyMjdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9hbmltYXRpb24vV2ViQW5pbWF0aW9uLmlkbApAQCAtNDYsOCArNDYsMTAgQEAgZW51
bSBBbmltYXRpb25QbGF5U3RhdGUgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBBbmltYXRpb25Q
bGF5U3RhdGUgcGxheVN0YXRlOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIHBlbmRp
bmc7CiAgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmZpbmlzaDsKKyAgICBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9uY2FuY2VsOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPFdl
YkFuaW1hdGlvbj4gcmVhZHk7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8V2ViQW5p
bWF0aW9uPiBmaW5pc2hlZDsKKyAgICB2b2lkIGNhbmNlbCgpOwogICAgIFtNYXlUaHJvd0V4Y2Vw
dGlvbl0gdm9pZCBmaW5pc2goKTsKICAgICBbTWF5VGhyb3dFeGNlcHRpb25dIHZvaWQgcGxheSgp
OwogICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gdm9pZCBwYXVzZSgpOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU4Njk5NzQx
YTg2ZmVhNzAyMzVkNDI3OWM0NzAyZTdkZDFjNGE4NTUuLjNiMjhmYjJhNWI0ZDE1ZGFjNjBjMjU1
Y2I1NTFjZjY3ZDAzNmJiNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxNy0xMi0xNCAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29tPgorCisgICAgICAgIFtXZWIgQW5pbWF0aW9u
c10gSW1wbGVtZW50IHRoZSBjYW5jZWwoKSBtZXRob2Qgb24gQW5pbWF0aW9uCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODA4MzAKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzM2MDU1ODE2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFJlYmFzZSBzb21lIFdQVCBleHBlY3RhdGlvbnMgd2l0aCBwcm9ncmVz
c2lvbnMgZHVlIHRvIGV4cG9zaW5nIHRoZSBjYW5jZWwoKSBtZXRob2QuCisKKyAgICAgICAgKiBo
dHRwL3dwdC93ZWItYW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZGxoYXJuZXNzLWV4
cGVjdGVkLnR4dDoKKwogMjAxNy0xMi0xNCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUu
Y29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gSW1wbGVtZW50IHRoZSBmaW5pc2goKSBt
ZXRob2Qgb24gQW5pbWF0aW9uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWIt
YW5pbWF0aW9ucy9pbnRlcmZhY2VzL0FuaW1hdGlvbi9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9u
L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CmluZGV4IGFiZjIwNjQ5NWFkY2QyMWIyMjNmOWNhNzE0
ZDk1YjJiNzQyYmI1ZGMuLjk0ZGEwZTRlOGE4NTUwNmQzNGQxNDAyYmZmNWVhMDg5MWM1MzVhN2Ug
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFj
ZXMvQW5pbWF0aW9uL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0
dHAvd3B0L3dlYi1hbmltYXRpb25zL2ludGVyZmFjZXMvQW5pbWF0aW9uL2lkbGhhcm5lc3MtZXhw
ZWN0ZWQudHh0CkBAIC0xNSw4ICsxNSw4IEBAIFBBU1MgQW5pbWF0aW9uIGludGVyZmFjZTogYXR0
cmlidXRlIHBsYXlTdGF0ZQogUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgcmVh
ZHkgCiBQQVNTIEFuaW1hdGlvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBmaW5pc2hlZCAKIFBBU1Mg
QW5pbWF0aW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9uZmluaXNoIAotRkFJTCBBbmltYXRpb24g
aW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jYW5jZWwgYXNzZXJ0X3RydWU6IFRoZSBwcm90b3R5cGUg
b2JqZWN0IG11c3QgaGF2ZSBhIHByb3BlcnR5ICJvbmNhbmNlbCIgZXhwZWN0ZWQgdHJ1ZSBnb3Qg
ZmFsc2UKLUZBSUwgQW5pbWF0aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGNhbmNlbCgpIGFzc2Vy
dF9vd25fcHJvcGVydHk6IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IG1pc3Npbmcgbm9uLXN0
YXRpYyBvcGVyYXRpb24gZXhwZWN0ZWQgcHJvcGVydHkgImNhbmNlbCIgbWlzc2luZworUEFTUyBB
bmltYXRpb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jYW5jZWwgCitQQVNTIEFuaW1hdGlvbiBp
bnRlcmZhY2U6IG9wZXJhdGlvbiBjYW5jZWwoKSAKIFBBU1MgQW5pbWF0aW9uIGludGVyZmFjZTog
b3BlcmF0aW9uIGZpbmlzaCgpIAogUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24g
cGxheSgpIAogUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gcGF1c2UoKSAKQEAg
LTMzLDggKzMzLDggQEAgUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJwbGF5U3RhdGUiIHdpdGgKIFBBU1MgQW5pbWF0aW9uIGlu
dGVyZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicmVhZHkiIHdp
dGggdGhlIHByb3BlciB0eXBlIAogUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0
aW9uKCkgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJmaW5pc2hlZCIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVy
aXQgcHJvcGVydHkgIm9uZmluaXNoIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgQW5pbWF0
aW9uIGludGVyZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25j
YW5jZWwiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgIm9u
Y2FuY2VsIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIEFuaW1hdGlvbiBpbnRl
cmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImNhbmNlbCgpIiB3
aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJjYW5jZWwiIG5v
dCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK1BBU1MgQW5pbWF0aW9uIGludGVyZmFjZTogbmV3
IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jYW5jZWwiIHdpdGggdGhlIHBy
b3BlciB0eXBlIAorUEFTUyBBbmltYXRpb24gaW50ZXJmYWNlOiBuZXcgQW5pbWF0aW9uKCkgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJjYW5jZWwoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNT
IEFuaW1hdGlvbiBpbnRlcmZhY2U6IG5ldyBBbmltYXRpb24oKSBtdXN0IGluaGVyaXQgcHJvcGVy
dHkgImZpbmlzaCgpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgQW5pbWF0aW9uIGludGVy
ZmFjZTogbmV3IEFuaW1hdGlvbigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGxheSgpIiB3aXRo
IHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgQW5pbWF0aW9uIGludGVyZmFjZTogbmV3IEFuaW1hdGlv
bigpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAicGF1c2UoKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUg
Cg==
</data>
<flag name="review"
          id="348485"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>