<?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>150328</bug_id>
          
          <creation_ts>2015-10-19 06:23:33 -0700</creation_ts>
          <short_desc>REGRESSION (r187121): Multiple-keyframe animations not honouring &apos; forwards&apos; fill-mode</short_desc>
          <delta_ts>2015-10-24 16:58:15 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=150326</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="Mario Sanchez Prada">mario</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>cosimoc</cc>
    
    <cc>dino</cc>
    
    <cc>dstockwell</cc>
    
    <cc>hyatt</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ryanhaddad</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1134563</commentid>
    <comment_count>0</comment_count>
      <attachid>263477</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-10-19 06:23:33 -0700</bug_when>
    <thetext>Created attachment 263477
Reduced test case

DESCRIPTION

In recent versions of WebKit, if a CSS animation is defined with animation-fill-mode = forwards AND at least 3 or more different keyframes **where at least one falls in the [51% - 100%] range**, the end result is some random state that does not match the values of neither the 0% nor the 100% keyframe.

Curiously enough, if all the keyframes but the 100% fall in the [0% - 50%] interval, then the animation is finished correctly, and the final result after it&apos;s ended is that the values of the 100% keyframe are kept.

I initially found this in WebKitGTK 2.10.1, but then I&apos;ve tried in my Mac Mini with OS X Yosemite and I could reproduce it in the latest WebKit nightly, so it looks like a cross platform regression.

More specifically, in OS X:
  * Works OK with Safari 9.0 (10601.1.56.2)
  * FAILS with WebKit Nightly r191175

I&apos;m attaching a test case I wrote, so that the bug can be easily reproduceable.


STEPS TO REPRODUCE

  1. Uncompress the contents of the attached file and load index.html in MiniBrowser / Safari + WebKit Nightly 
  2. You should a block of text with a blue-ish background moving around the horizontal axis:
    + Start at coordinates (400, 0), moving towards the left until reaching (0, 0) at the 25% keyframe
    + Move towards the right until reaching (250, 0) at the 51% keyframe
    + Move towards the left until reaching (100,0) at the 100% keyframe
    + Stay at (100, 0) once the animation has finished


EXPECTED OUTCOME

After the animation has finished, the moving block remains quiet at (100, 0) as per the &apos;forwards&apos; value of animation-fill-mode, which ensures the values of the 100% keyframe are brought out of the animation.


ACTUAL OUTCOME

After the animation has finished, the moving block moves to some (apparently) random spot in the horizontal axis, which does not seem to much neither the 0% nor the 100% keyframes.

Also, note that if you modify the test case so that the definition of the 51% keyframe because the 50% keyframe, then the animation is processed correctly and the moving block is left at its right position once it&apos;s finished.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134738</commentid>
    <comment_count>1</comment_count>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-10-19 16:16:42 -0700</bug_when>
    <thetext>I found that the patch for WebKit bug 146996 (&quot;Safari mis-applies &quot;animation-fill-mode: forwards&quot; when using fractional iteration count&quot;) is the one who broke this behaviour: http://trac.webkit.org/changeset/187121

I&apos;ve double checked it myself and I can confirm that reverting that patch gets the test case running fine once again. Simon, any idea?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1134739</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-10-19 16:17:34 -0700</bug_when>
    <thetext>&lt;rdar://problem/23175069&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1135947</commentid>
    <comment_count>3</comment_count>
      <attachid>263896</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-10-22 21:44:36 -0700</bug_when>
    <thetext>Created attachment 263896
Better testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1135955</commentid>
    <comment_count>4</comment_count>
      <attachid>263899</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-10-22 22:10:10 -0700</bug_when>
    <thetext>Created attachment 263899
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136038</commentid>
    <comment_count>5</comment_count>
      <attachid>263899</attachid>
    <who name="Mario Sanchez Prada">mario</who>
    <bug_when>2015-10-23 08:14:01 -0700</bug_when>
    <thetext>Comment on attachment 263899
Patch

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

The patch looks good to me, although someone more knowledgeable of this code should better review it.

My only doubt is about the test case added, which I needed to modify slightly to be able reproduce the test locally, see my comments below...

&gt; Source/WebCore/ChangeLog:7
&gt; +        

Nit. Extra trailing spaces in empty line.

&gt; LayoutTests/ChangeLog:5
&gt; +

Nit. Extra trailing spaces in empty line.

&gt; LayoutTests/ChangeLog:7
&gt; +        

Ditto

&gt; LayoutTests/animations/fill-forwards-end-state.html:14
&gt; +      animation: anim1 1.5s 0.2s linear;

I tested this layout test in my laptop now I can&apos;t see any difference with or without the patch, even though it DOES make a difference for my original test case and your better test case.

After some fiddling, I found that making the animation a bit longer (2s instead of 1.5s) would make me reproduce the bug without your patch, so I was wondering if you could perhaps incorporate this change in the test?

In any case, that&apos;s strange and perhaps exposes another bug, but I&apos;m not 100% sure yet. In any case, this is what I did to be able to reproduce the problem using your layout test without the rest of the patch:

-      animation: anim1 1.5s 0.2s linear;
+      animation: anim1 2s 0.2s linear;

&gt; LayoutTests/animations/fill-forwards-end-state.html:28
&gt; +      [&quot;anim1&quot;, 2, &quot;box1&quot;, &quot;left&quot;, 100, 2],

This needs to be adjusted if you follow my suggestion on increasing the animation duration to something like this:

-      [&quot;anim1&quot;, 2, &quot;box1&quot;, &quot;left&quot;, 100, 2],
+      [&quot;anim1&quot;, 2.5, &quot;box1&quot;, &quot;left&quot;, 100, 2],</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136082</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-10-23 11:19:40 -0700</bug_when>
    <thetext>Any duration &gt; 1 should show the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136085</commentid>
    <comment_count>7</comment_count>
      <attachid>263899</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2015-10-23 11:24:06 -0700</bug_when>
    <thetext>Comment on attachment 263899
Patch

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

&gt;&gt; LayoutTests/animations/fill-forwards-end-state.html:14
&gt;&gt; +      animation: anim1 1.5s 0.2s linear;
&gt; 
&gt; I tested this layout test in my laptop now I can&apos;t see any difference with or without the patch, even though it DOES make a difference for my original test case and your better test case.
&gt; 
&gt; After some fiddling, I found that making the animation a bit longer (2s instead of 1.5s) would make me reproduce the bug without your patch, so I was wondering if you could perhaps incorporate this change in the test?
&gt; 
&gt; In any case, that&apos;s strange and perhaps exposes another bug, but I&apos;m not 100% sure yet. In any case, this is what I did to be able to reproduce the problem using your layout test without the rest of the patch:
&gt; 
&gt; -      animation: anim1 1.5s 0.2s linear;
&gt; +      animation: anim1 2s 0.2s linear;

Sounds like a good suggestion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136086</commentid>
    <comment_count>8</comment_count>
      <attachid>263899</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-10-23 11:26:21 -0700</bug_when>
    <thetext>Comment on attachment 263899
Patch

Actually I&apos;ll fix the test as recommended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136088</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-10-23 11:32:34 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/191502</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136125</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-10-23 13:36:16 -0700</bug_when>
    <thetext>animations/fill-forwards-end-state.html fails every time after r191502:

https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=animations%2Ffill-forwards-end-state.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136143</commentid>
    <comment_count>11</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-10-23 14:37:01 -0700</bug_when>
    <thetext>The expected result just needs a number to be changed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136150</commentid>
    <comment_count>12</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-10-23 15:12:15 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136151</commentid>
    <comment_count>13</comment_count>
      <attachid>263949</attachid>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2015-10-23 15:12:19 -0700</bug_when>
    <thetext>Created attachment 263949
Patch

Patch to update expected result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136163</commentid>
    <comment_count>14</comment_count>
      <attachid>263949</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-23 16:08:01 -0700</bug_when>
    <thetext>Comment on attachment 263949
Patch

Clearing flags on attachment: 263949

Committed r191516: &lt;http://trac.webkit.org/changeset/191516&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136164</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-23 16:08:09 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>263477</attachid>
            <date>2015-10-19 06:23:33 -0700</date>
            <delta_ts>2015-10-19 06:23:33 -0700</delta_ts>
            <desc>Reduced test case</desc>
            <filename>index.html</filename>
            <type>text/html</type>
            <size>908</size>
            <attacher name="Mario Sanchez Prada">mario</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8c3R5bGU+CiNtb3ZpbmctYmxvY2sgewogICAgYmFja2dy
b3VuZC1jb2xvcjogI2FiYzsKICAgIHdpZHRoOiAxMzBweDsKCiAgICB0cmFuc2Zvcm06IHRyYW5z
bGF0ZSg0MDBweCwgMHB4KTsKICAgIGFuaW1hdGlvbjogInNob3ctYXBwLWljb24tMiIgMnMgZWFz
ZS1vdXQ7CiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKCiAgICAvKiBGb3IgdGVz
dGluZyBpbiBDaHJvbWUgKi8KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoNDAwcHgs
IDBweCk7CiAgICAtd2Via2l0LWFuaW1hdGlvbjogInNob3ctYXBwLWljb24tMiIgMnMgZWFzZS1v
dXQ7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOwp9CgpAa2V5ZnJh
bWVzIHNob3ctYXBwLWljb24tMiB7CiAgMCUgewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0
MDBweCwgMHB4KTsKICB9IDI1JSB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4
KTsKICB9IDUxJSB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1MHB4LCAwcHgpOwogIH0g
MTAwJSB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMHB4LCAwcHgpOwogIH0KfQoKPC9z
dHlsZT4KPC9oZWFkPgo8Ym9keT4KPHA+VGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGEgbXVsdGlwbGUt
c3RhZ2UgYW5pbWF0aW9uIHdpbGwgaG9ub3VyIDxlbT5hbmltYXRpb24tZmlsbC1tb2RlID0gZm9y
d2FyZHM8L2VtPiwgYnkgbGVhdmluZyB0aGUgdmFsdWVzIG9mIHRoZSAxMDAlIGtleWZyYW1lIHBy
b3Blcmx5IGFwcGxpZWQgb25jZSB0aGUgYW5pbWF0aW9uIGlzIGZpbmlzaGVkLjwvcD4KCjxkaXYg
aWQ9Im1vdmluZy1ibG9jayI+TW92aW5nIGJsb2NrPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>263896</attachid>
            <date>2015-10-22 21:44:36 -0700</date>
            <delta_ts>2015-10-22 21:44:36 -0700</delta_ts>
            <desc>Better testcase</desc>
            <filename>fill-forwards.html</filename>
            <type>text/html</type>
            <size>658</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8c3R5bGU+CgouYm94IHsKICAgIHdpZHRoOiAxMDBweDsK
ICAgIGhlaWdodDogMTAwcHg7CiAgICBtYXJnaW46IDJweDsKICAgIGJhY2tncm91bmQtY29sb3I6
IGJsdWU7CiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkczsKfQoKLmluZGljYXRvciB7
CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxMDBweCwgMHB4KTsKICAgIGJhY2tncm91bmQtY29s
b3I6IGdyYXk7Cn0KCi5tb3ZpbmcxIHsKICAgIGFuaW1hdGlvbjogbW92ZSAycyAxcyBsaW5lYXI7
Cn0KCkBrZXlmcmFtZXMgbW92ZSB7CiAgMCUgewogICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg0
MDBweCwgMHB4KTsKICB9IDI1JSB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4
KTsKICB9IDUxJSB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDI1MHB4LCAwcHgpOwogIH0g
MTAwJSB7CiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDEwMHB4LCAwcHgpOwogIH0KfQoKPC9z
dHlsZT4KPC9oZWFkPgo8Ym9keT4KCjxwPkJveGVzIHNob3VsZCBsaW5lIHVwIGF0IHRoZSBlbmQ8
L3A+CjxkaXYgY2xhc3M9Im1vdmluZzEgYm94Ij48L2Rpdj4KPGRpdiBjbGFzcz0iaW5kaWNhdG9y
IGJveCI+PC9kaXY+Cgo8L2JvZHk+CjwvaHRtbD4KCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263899</attachid>
            <date>2015-10-22 22:10:10 -0700</date>
            <delta_ts>2015-10-23 15:12:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150328-20151022220925.patch</filename>
            <type>text/plain</type>
            <size>5650</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxNDg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjRjYjllNjhiM2M0YTAx
NmM4OGQwZThiMzMzZDIxZjI0ZmU2MmIyYi4uMjVjYTQ5ODIxMGE3N2U4MDI3ZDBjZGE0YjQwNDhh
YTcwNjJkMTYwMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1LTEwLTIyICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04g
KHIxODcxMjEpOiBNdWx0aXBsZS1rZXlmcmFtZSBhbmltYXRpb25zIG5vdCBob25vdXJpbmcgJyBm
b3J3YXJkcycgZmlsbC1tb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNTAzMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KyAgICAgICAgCisgICAgICAgIEFuaW1hdGlvbkJhc2U6OmdldEVsYXBzZWRUaW1lKCkgZm9yIGEg
ZmluaXNoZWQgYW5pbWF0aW9uIHdvdWxkIHJldHVybiAxIChhIHByb2dyZXNzKSwKKyAgICAgICAg
cmF0aGVyIHRoYW4gYSB0aW1lIHZhbHVlIGFzIHRoZSBjYWxsZXIgZXhwZWN0cy4gRml4IGl0IHRv
IHJldHVybiB0aGUgdG90YWwgZHVyYXRpb24KKyAgICAgICAgaWYgdGhlIGFuaW1hdGlvbiBoYXMg
ZmluaXNoZWQuIFRoaXMgZml4ZXMgdGhlIGJ1Zy4KKyAgICAgICAgCisgICAgICAgIENoYW5nZSBD
b21wb3NpdGVBbmltYXRpb246OnBhdXNlQW5pbWF0aW9uQXRUaW1lKCkgdG8gYmUgbW9yZSBwZXJt
aXNzaXZlLCBhbGxvd2luZworICAgICAgICB0ZXN0aW5nIG9mIGZpbGxpbmctZm9yd2FyZHMgYW5p
bWF0aW9ucyB3aXRoIHRoZSBwYXVzZSBBUEkuCisKKyAgICAgICAgVGVzdDogYW5pbWF0aW9ucy9m
aWxsLWZvcndhcmRzLWVuZC1zdGF0ZS5odG1sCisKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9B
bmltYXRpb25CYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlvbkJhc2U6OmdldEVs
YXBzZWRUaW1lKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9Db21wb3NpdGVBbmltYXRpb24u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29tcG9zaXRlQW5pbWF0aW9uOjpwYXVzZUFuaW1hdGlv
bkF0VGltZSk6CisKIDIwMTUtMTAtMjIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFw
cGxlLmNvbT4KIAogICAgICAgICBbT1MgWF0gTWlncmF0ZSBHcmFwaGljc0NvbnRleHQ6OmRyYXdM
aW5lRm9yRG9jdW1lbnRNYXJrZXIoKSBhd2F5IGZyb20gTG9jYWxDdXJyZW50R3JhcGhpY3NDb250
ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25C
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3Bw
CmluZGV4IDFmOTliNzE4MDdmNWU5OTkzYjdkZWM4NWNhNmZmODY5YjI2YmRkZjIuLjVkZGVhMGUx
MzJkM2YzMGQyNDJhM2JjYWNjOWJlMWVkNTc5MGVlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBAIC03NDYsNyArNzQ2LDcgQEAgZG91
YmxlIEFuaW1hdGlvbkJhc2U6OmdldEVsYXBzZWRUaW1lKCkgY29uc3QKICAgICBpZiAobV9zdGFy
dFRpbWUgPD0gMCkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgaWYgKHBvc3RBY3RpdmUoKSB8fCBm
aWxsaW5nRm9yd2FyZHMoKSkKLSAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIHJldHVybiBtX3Rv
dGFsRHVyYXRpb247CiAKICAgICByZXR1cm4gYmVnaW5BbmltYXRpb25VcGRhdGVUaW1lKCkgLSBt
X3N0YXJ0VGltZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9u
L0NvbXBvc2l0ZUFuaW1hdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9D
b21wb3NpdGVBbmltYXRpb24uY3BwCmluZGV4IGYzMGYxMzk1ZTBjZDBiMWM4NmIzMzAxNGYxMDQy
NTAxZTgzMTVkZDEuLmI4MjIyNTZkYmFjZTI1OTMxZDNjMmViZjY1MDZmYjY4MTgyYmNkMzggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0NvbXBvc2l0ZUFuaW1hdGlv
bi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQ29tcG9zaXRlQW5pbWF0
aW9uLmNwcApAQCAtNTE4LDEzICs1MTgsOCBAQCBib29sIENvbXBvc2l0ZUFuaW1hdGlvbjo6cGF1
c2VBbmltYXRpb25BdFRpbWUoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lLCBkb3VibGUgdAogICAg
IGlmICgha2V5ZnJhbWVBbmltIHx8ICFrZXlmcmFtZUFuaW0tPnJ1bm5pbmcoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgZG91YmxlIGNvdW50ID0ga2V5ZnJhbWVBbmltLT5tX2FuaW1h
dGlvbi0+aXRlcmF0aW9uQ291bnQoKTsKLSAgICBpZiAoKHQgPj0gMC4wKSAmJiAoKGNvdW50ID09
IEFuaW1hdGlvbjo6SXRlcmF0aW9uQ291bnRJbmZpbml0ZSkgfHwgKHQgPD0gY291bnQgKiBrZXlm
cmFtZUFuaW0tPmR1cmF0aW9uKCkpKSkgewotICAgICAgICBrZXlmcmFtZUFuaW0tPmZyZWV6ZUF0
VGltZSh0KTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfQotCi0gICAgcmV0dXJuIGZhbHNl
OworICAgIGtleWZyYW1lQW5pbS0+ZnJlZXplQXRUaW1lKHQpOworICAgIHJldHVybiB0cnVlOwog
fQogCiBib29sIENvbXBvc2l0ZUFuaW1hdGlvbjo6cGF1c2VUcmFuc2l0aW9uQXRUaW1lKENTU1By
b3BlcnR5SUQgcHJvcGVydHksIGRvdWJsZSB0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGEyMmYyMzM3MTIzODVmOTdlMTky
YmYyOTNlNjQ5NDlhZjBmNzBjMjkuLjBjYjllNDNhMWQ4ZDYyYTEwMDM5ZjRmOGE4OWY0YzVkMWU2
N2E0NmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNS0xMC0yMiAgU2ltb24gRnJhc2VyICA8
c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdSRVNTSU9OIChyMTg3MTIxKTog
TXVsdGlwbGUta2V5ZnJhbWUgYW5pbWF0aW9ucyBub3QgaG9ub3VyaW5nICcgZm9yd2FyZHMnIGZp
bGwtbW9kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTUwMzI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBGaWxsaW5nLWZvcndhcmRzIHRlc3Qgd2l0aCBhbiBhbmltYXRpb24gd2hvc2UgZHVy
YXRpb24gaXMgZ3JlYXRlciB0aGFuIG9uZSBzZWNvbmQsCisgICAgICAgIHdoaWNoIHNob3dlZCB0
aGUgYnVnLgorCisgICAgICAgICogYW5pbWF0aW9ucy9maWxsLWZvcndhcmRzLWVuZC1zdGF0ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMvZmlsbC1mb3J3YXJkcy1l
bmQtc3RhdGUuaHRtbDogQWRkZWQuCisKIDIwMTUtMTAtMjIgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxOTExMTMu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2ZpbGwtZm9yd2FyZHMtZW5kLXN0
YXRlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMvZmlsbC1mb3J3YXJkcy1l
bmQtc3RhdGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxNzdkMzAwMjgwMjgwOTQyNTA4MGM5
NTBhOGYyOGYxMWU4NmQ4MzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRp
b25zL2ZpbGwtZm9yd2FyZHMtZW5kLXN0YXRlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAK
K0ZpbGwtZm9yd2FyZHMgc3RhdGUgc2hvdWxkIGJlIHRoZSBsYXN0IGtleWZyYW1lIHN0YXRlLgor
CitQQVNTIC0gImxlZnQiIHByb3BlcnR5IGZvciAiYm94MSIgZWxlbWVudCBhdCAycyBzYXcgc29t
ZXRoaW5nIGNsb3NlIHRvOiAxMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9u
cy9maWxsLWZvcndhcmRzLWVuZC1zdGF0ZS5odG1sIGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9m
aWxsLWZvcndhcmRzLWVuZC1zdGF0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkOTE5YWFlOWU4MDBmZWQ5
OTAxMTUyZjFhOTQzZWM4NGU3MzBiYzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9h
bmltYXRpb25zL2ZpbGwtZm9yd2FyZHMtZW5kLXN0YXRlLmh0bWwKQEAgLTAsMCArMSw0MCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8dGl0bGU+VGVzdCBhbmltYXRpb24g
d2l0aCBtdWx0aXBsZSBjb25jdXJyZW50IGFuaW1hdGlvbnM8L3RpdGxlPgorICA8c3R5bGUgdHlw
ZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAgICNib3gxIHsKKyAgICAgIHBvc2l0aW9u
OiByZWxhdGl2ZTsKKyAgICAgIGxlZnQ6IDEwcHg7CisgICAgICB0b3A6IDEwcHg7CisgICAgICBo
ZWlnaHQ6IDEwMHB4OworICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgYmFja2dyb3VuZC1jb2xv
cjogYmx1ZTsKKyAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzOworICAgICAgYW5p
bWF0aW9uOiBhbmltMSAxLjVzIDAuMnMgbGluZWFyOworICAgIH0KKyAgICBAa2V5ZnJhbWVzIGFu
aW0xIHsKKyAgICAgICAgZnJvbSB7IGxlZnQ6IDEwMHB4OyB9CisgICAgICAgIDQwJSAgeyBsZWZ0
OiAwcHg7IH0KKyAgICAgICAgNjAlICB7IGxlZnQ6IDI1MHB4OyB9CisgICAgICAgIHRvICAgeyBs
ZWZ0OiAxMDBweDsgfQorICAgIH0KKyAgPC9zdHlsZT4KKyAgPHNjcmlwdCBzcmM9InJlc291cmNl
cy9hbmltYXRpb24tdGVzdC1oZWxwZXJzLmpzIiB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJz
ZXQ9InV0Zi04Ij48L3NjcmlwdD4KKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNo
YXJzZXQ9InV0Zi04Ij4KKworICAgIGNvbnN0IGV4cGVjdGVkVmFsdWVzID0gWworICAgICAgLy8g
W2FuaW1hdGlvbi1uYW1lLCB0aW1lLCBlbGVtZW50LWlkLCBwcm9wZXJ0eSwgZXhwZWN0ZWQtdmFs
dWUsIHRvbGVyYW5jZV0KKyAgICAgIFsiYW5pbTEiLCAyLCAiYm94MSIsICJsZWZ0IiwgMTAwLCAy
XSwKKyAgICBdOworCisgICAgdmFyIGRpc2FibGVQYXVzZUFuaW1hdGlvbkFQSSA9IGZhbHNlOwor
ICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMsIG51bGwsIG51bGwsIGRpc2FibGVQ
YXVzZUFuaW1hdGlvbkFQSSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5GaWxs
LWZvcndhcmRzIHN0YXRlIHNob3VsZCBiZSB0aGUgbGFzdCBrZXlmcmFtZSBzdGF0ZS48L3A+Cis8
ZGl2IGlkPSJib3gxIj48L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>263949</attachid>
            <date>2015-10-23 15:12:19 -0700</date>
            <delta_ts>2015-10-23 16:08:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-150328-20151023151133.patch</filename>
            <type>text/plain</type>
            <size>1269</size>
            <attacher name="Ryan Haddad">ryanhaddad</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTkxNTEyCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDVmODU3YzljMjhiODcxODhiNjY1
YzkwMTA1NTNkZWY5N2M0ZGJmYy4uMTNiM2YxYjFmNWFjYzEwOWZmNmI2MDVmNDU2YzU5NTNjMmUw
OGE2NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE1LTEwLTIzICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgorCisgICAgICAgIFVwZGF0aW5nIHRlc3QgZXhwZWN0YXRpb24g
Zm9yIGFuaW1hdGlvbnMvZmlsbC1mb3J3YXJkcy1lbmQtc3RhdGUuaHRtbAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTUwMzI4I2MxMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYW5pbWF0aW9ucy9maWxs
LWZvcndhcmRzLWVuZC1zdGF0ZS1leHBlY3RlZC50eHQ6CisKIDIwMTUtMTAtMjMgIFJvb3Blc2gg
Q2hhbmRlciAgPHJvb3BAcm9vcGMubmV0PgogCiAgICAgICAgIFtDb250ZW50IEV4dGVuc2lvbnNd
IEFkZCB0ZXN0IGZvciBoaWRpbmcgY29udGVudCBvbiA8YSBwaW5nPiBwaW5ncwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9maWxsLWZvcndhcmRzLWVuZC1zdGF0ZS1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2ZpbGwtZm9yd2FyZHMtZW5kLXN0YXRlLWV4
cGVjdGVkLnR4dAppbmRleCA3MTc3ZDMwMDI4MDI4MDk0MjUwODBjOTUwYThmMjhmMTFlODZkODM0
Li5kZTY3NjIxZDRiZTA0MmM3NjlkMmU3ODM0ZDRmMWJmYTgyZjgxZjNjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9hbmltYXRpb25zL2ZpbGwtZm9yd2FyZHMtZW5kLXN0YXRlLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2ZpbGwtZm9yd2FyZHMtZW5kLXN0YXRlLWV4
cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQgQEAKIEZpbGwtZm9yd2FyZHMgc3RhdGUgc2hvdWxkIGJl
IHRoZSBsYXN0IGtleWZyYW1lIHN0YXRlLgogCi1QQVNTIC0gImxlZnQiIHByb3BlcnR5IGZvciAi
Ym94MSIgZWxlbWVudCBhdCAycyBzYXcgc29tZXRoaW5nIGNsb3NlIHRvOiAxMDAKK1BBU1MgLSAi
bGVmdCIgcHJvcGVydHkgZm9yICJib3gxIiBlbGVtZW50IGF0IDIuNXMgc2F3IHNvbWV0aGluZyBj
bG9zZSB0bzogMTAwCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>