<?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>138717</bug_id>
          
          <creation_ts>2014-11-13 16:28:07 -0800</creation_ts>
          <short_desc>[Media] Timeline scrubber not updating as the video plays</short_desc>
          <delta_ts>2014-11-17 00:00:16 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>138792</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>buildbot</cc>
    
    <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>rniwa</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1048549</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-11-13 16:28:07 -0800</bug_when>
    <thetext>[Media] Timeline scrubber not updating as the video plays</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048557</commentid>
    <comment_count>1</comment_count>
      <attachid>241519</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-11-13 16:45:21 -0800</bug_when>
    <thetext>Created attachment 241519
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048615</commentid>
    <comment_count>2</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-13 19:48:30 -0800</bug_when>
    <thetext>Dino, I don&apos;t think this is the right fix. The problem is that the controls aren&apos;t updating when they go from hidden to showing; instead, all the deferred updates need to be performed at that time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048717</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-11-14 03:13:43 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Dino, I don&apos;t think this is the right fix. The problem is that the controls
&gt; aren&apos;t updating when they go from hidden to showing; instead, all the
&gt; deferred updates need to be performed at that time.

The problem is that there are five states:

- hidden
- show
- paused
- :hover
- no CSS class (which is kind-of a hidden, but not with display none)

(Note: this is fairly confusing, not only because the tense changes in the state names :), but because the hover state is not able to be queried from script easily)

I think we can simplify this into a single &quot;visible&quot; state (although I&apos;d probably call it &quot;hidden&quot;). I&apos;m not sure we need the existing &quot;hidden&quot; - the display: none doesn&apos;t buy us much if we&apos;re smart about not updating the controls all the time.

You&apos;re right that the controls don&apos;t update when they become visible. I think we should add that in showControls(), although I think it would need to go in the deferred call to timeline metrics update (or that should also update the controls). The reason this current patch passes the test is that it gets an event from the media which triggers the scrubber update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048807</commentid>
    <comment_count>4</comment_count>
      <attachid>241602</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-11-14 11:27:18 -0800</bug_when>
    <thetext>Created attachment 241602
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048809</commentid>
    <comment_count>5</comment_count>
      <attachid>241602</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-14 11:35:04 -0800</bug_when>
    <thetext>Comment on attachment 241602
Patch

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

&gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:1038
&gt; +        this.updateTime();

You need to call this.updateProgress() here too.

&gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:1053
&gt; -        return !this.isAudio() &amp;&amp; (!this.controls.panel.classList.contains(this.ClassNames.show) || this.controls.panel.classList.contains(this.ClassNames.hidden));
&gt; +        return !this.isAudio() &amp;&amp; this.controls.panel.classList.contains(this.ClassNames.hidden);

With this change, the controls will continue to update when they are hidden due to inactivity during playback. Is this what you want?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048816</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-11-14 11:46:42 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 241602 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=241602&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:1038
&gt; &gt; +        this.updateTime();
&gt; 
&gt; You need to call this.updateProgress() here too.

Yeah.

&gt; 
&gt; &gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:1053
&gt; &gt; -        return !this.isAudio() &amp;&amp; (!this.controls.panel.classList.contains(this.ClassNames.show) || this.controls.panel.classList.contains(this.ClassNames.hidden));
&gt; &gt; +        return !this.isAudio() &amp;&amp; this.controls.panel.classList.contains(this.ClassNames.hidden);
&gt; 
&gt; With this change, the controls will continue to update when they are hidden
&gt; due to inactivity during playback. Is this what you want?

That&apos;s probably ok, since the updates would be fairly rare. e.g. we&apos;re not getting the playback tick events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048819</commentid>
    <comment_count>7</comment_count>
      <attachid>241608</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-11-14 11:47:31 -0800</bug_when>
    <thetext>Created attachment 241608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048833</commentid>
    <comment_count>8</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-14 12:12:06 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Comment on attachment 241602 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=241602&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:1038
&gt; &gt; &gt; +        this.updateTime();
&gt; &gt; 
&gt; &gt; You need to call this.updateProgress() here too.
&gt; 
&gt; Yeah.
&gt; 
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/Modules/mediacontrols/mediaControlsApple.js:1053
&gt; &gt; &gt; -        return !this.isAudio() &amp;&amp; (!this.controls.panel.classList.contains(this.ClassNames.show) || this.controls.panel.classList.contains(this.ClassNames.hidden));
&gt; &gt; &gt; +        return !this.isAudio() &amp;&amp; this.controls.panel.classList.contains(this.ClassNames.hidden);
&gt; &gt; 
&gt; &gt; With this change, the controls will continue to update when they are hidden
&gt; &gt; due to inactivity during playback. Is this what you want?
&gt; 
&gt; That&apos;s probably ok, since the updates would be fairly rare. e.g. we&apos;re not
&gt; getting the playback tick events.

No, the opposite. The controls are hidden during playback, so you&apos;d be getting many, many playback tick events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048844</commentid>
    <comment_count>9</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-11-14 12:58:23 -0800</bug_when>
    <thetext>(In reply to comment #8)

&gt; &gt; &gt; With this change, the controls will continue to update when they are hidden
&gt; &gt; &gt; due to inactivity during playback. Is this what you want?
&gt; &gt; 
&gt; &gt; That&apos;s probably ok, since the updates would be fairly rare. e.g. we&apos;re not
&gt; &gt; getting the playback tick events.
&gt; 
&gt; No, the opposite. The controls are hidden during playback, so you&apos;d be
&gt; getting many, many playback tick events.

Sorry, I misunderstood your comment.

I&apos;m pretty sure they don&apos;t, for a couple of reasons:

- I turned on repaint counters and didn&apos;t see painting while the controls were hidden

- As we transition to the hidden state, the opacity transition causes handlePanelTransitionEnd, which adds the hidden class. controlsAreHidden() tests for hidden.

So we&apos;ll update as we are fading out (which would be correct) but not once we&apos;ve actually disappeared.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048847</commentid>
    <comment_count>10</comment_count>
      <attachid>241608</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2014-11-14 13:07:56 -0800</bug_when>
    <thetext>Comment on attachment 241608
Patch

(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; 
&gt; &gt; &gt; &gt; With this change, the controls will continue to update when they are hidden
&gt; &gt; &gt; &gt; due to inactivity during playback. Is this what you want?
&gt; &gt; &gt; 
&gt; &gt; &gt; That&apos;s probably ok, since the updates would be fairly rare. e.g. we&apos;re not
&gt; &gt; &gt; getting the playback tick events.
&gt; &gt; 
&gt; &gt; No, the opposite. The controls are hidden during playback, so you&apos;d be
&gt; &gt; getting many, many playback tick events.
&gt; 
&gt; Sorry, I misunderstood your comment.
&gt; 
&gt; I&apos;m pretty sure they don&apos;t, for a couple of reasons:
&gt; 
&gt; - I turned on repaint counters and didn&apos;t see painting while the controls
&gt; were hidden
&gt; 
&gt; - As we transition to the hidden state, the opacity transition causes
&gt; handlePanelTransitionEnd, which adds the hidden class. controlsAreHidden()
&gt; tests for hidden.
&gt; 
&gt; So we&apos;ll update as we are fading out (which would be correct) but not once
&gt; we&apos;ve actually disappeared.

Okay, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1048858</commentid>
    <comment_count>11</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2014-11-14 13:56:05 -0800</bug_when>
    <thetext>Committed r176139: &lt;http://trac.webkit.org/changeset/176139&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241519</attachid>
            <date>2014-11-13 16:45:21 -0800</date>
            <delta_ts>2014-11-14 11:27:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138717-20141114114526.patch</filename>
            <type>text/plain</type>
            <size>5098</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWZhYzM5MDRkZjljMGJl
YTVjMzU0ZmNkMWRmNjA2YTI0NDQyNmU4Mi4uYjkzZTA5NWQzYmVkMzAwOGQ0ZDBiYjc4N2E1MDU4
MGQyMmQ3MzcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTExLTEzICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWFdIFRpbWVsaW5lIHNj
cnViYmVyIG5vdCB1cGRhdGluZyBhcyB0aGUgdmlkZW8gcGxheXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODcxNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIHNvbWUgY29uZnVzaW5nIGxv
Z2ljIHRoYXQgZGV0ZXJtaW5lcworICAgICAgICB3aGV0aGVyIG9yIG5vdCB0aGUgY29udHJvbHMg
YXJlIGhpZGRlbiwgYW5kIGEKKyAgICAgICAgc2xpZ2h0IGVycm9yIGNhdXNlZCB0aW1lbGluZXMg
dG8gbm90IGFkdmFuY2UgdW5sZXNzCisgICAgICAgIHRoZXkgd2VyZSBleHBsaWNpdGx5IHNob3dp
bmcuCisKKyAgICAgICAgVGhlIGZpeCB3YXMgdG8gYmUgYSBiaXQgbW9yZSBsaWJlcmFsIGluIGRl
Y2lkaW5nCisgICAgICAgIHdoZW4gdGhlIGNvbnRyb2xzIGFyZSBzaG93aW5nLCBidXQgc3RpbGwg
Y2F1dGlvdXMKKyAgICAgICAgZW5vdWdoIHRvIHN0b3AgdXAgY2F1c2luZyByZXBhaW50cyB3aGVu
IHRoaW5ncworICAgICAgICBhcmUgaGlkZGVuLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlh
LWNvbnRyb2xzLXRpbWVsaW5lLXVwZGF0ZXMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qczoKKyAgICAgICAgKENvbnRyb2xsZXIucHJv
dG90eXBlLmNvbnRyb2xzQXJlSGlkZGVuKTogV2Ugb25seSBuZWVkCisgICAgICAgIHRvIGNoZWNr
IGlmIHdlJ3JlIGFuIGF1ZGlvIGVsZW1lbnQgb3IgZXhwbGljaXRseQorICAgICAgICBoaWRkZW4u
CisKIDIwMTQtMTEtMDIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW21hY10gS2VlcCBhcm91bmQgbW9yZSBkZWNvZGVkIGltYWdlIGRhdGEsIHNpbmNl
IGl0J3MgcHVyZ2VhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
Y29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmpzIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwppbmRleCBkNGMyMzE5NmI5YzBiYTc4
ZTcyZWMyNWEzNjNlZWI2NWFjZDdmOTIyLi5kMzExMzlhZDIxMDJmYTQ3NzQzYmMxODk2ZGMxZTM4
NDFlMTU2NWM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJv
bHMvbWVkaWFDb250cm9sc0FwcGxlLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanMKQEAgLTEwNDgsNyArMTA0OCw3IEBAIENv
bnRyb2xsZXIucHJvdG90eXBlID0gewogCiAgICAgY29udHJvbHNBcmVIaWRkZW46IGZ1bmN0aW9u
KCkKICAgICB7Ci0gICAgICAgIHJldHVybiAhdGhpcy5pc0F1ZGlvKCkgJiYgKCF0aGlzLmNvbnRy
b2xzLnBhbmVsLmNsYXNzTGlzdC5jb250YWlucyh0aGlzLkNsYXNzTmFtZXMuc2hvdykgfHwgdGhp
cy5jb250cm9scy5wYW5lbC5jbGFzc0xpc3QuY29udGFpbnModGhpcy5DbGFzc05hbWVzLmhpZGRl
bikpOworICAgICAgICByZXR1cm4gIXRoaXMuaXNBdWRpbygpICYmIHRoaXMuY29udHJvbHMucGFu
ZWwuY2xhc3NMaXN0LmNvbnRhaW5zKHRoaXMuQ2xhc3NOYW1lcy5oaWRkZW4pOwogICAgIH0sCiAK
ICAgICByZW1vdmVDb250cm9sczogZnVuY3Rpb24oKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJmYWFjMDc1NTM2NWRiNTNj
YWMxZGJkNDRmMDFjZmExNmRmYTJhYTguLmRmYTBmMGZlOWI5Y2ExNDc5Y2Y4MjJmMzEyZGRiNmEy
MTQ1MDM2NmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0xMS0xMyAgRGVhbiBKYWNrc29u
ICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW01lZGlhXSBUaW1lbGluZSBzY3J1YmJlciBu
b3QgdXBkYXRpbmcgYXMgdGhlIHZpZGVvIHBsYXlzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzg3MTcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0cyB0aGF0IGFuIGlubGluZSB2aWRlbyB3aWxsIGFj
dHVhbGx5IGFkdmFuY2UgdGhlCisgICAgICAgIHRpbWVsaW5lIHNjcnViYmVyIGlmIGl0IHBsYXlz
IG1vbWVudGFyaWx5LgorCisgICAgICAgIEVyaWMgd3JvdGUgYWxsIHRoZSBoYXJkIGJpdHMgaGVy
ZS4gSSBqdXN0IGNoYW5nZWQKKyAgICAgICAgYSBmZXcgbGluZXMgdG8gdGVzdCBpZiB0aGUgdGlt
ZWxpbmUgaGFkIG1vdmVkIGZyb20gMC4KKyAgICAgICAgVW5mb3J0dW5hdGVseSB3ZSBjYW4ndCBy
ZWx5IG9uIHRoZSB0aW1lbGluZSB2YWx1ZQorICAgICAgICBiZWluZyBpZGVudGljYWwgdG8gdGhl
IGN1cnJlbnRUaW1lIG9mIHRoZSBtZWRpYSBlbGVtZW50LAorICAgICAgICBiZWNhdXNlIHdlIG9u
bHkgbW92ZSB0aGUgdGltZWxpbmUgd2hlbiB3ZSBnZXQgZXZlbnRzLgorCisgICAgICAgICogbWVk
aWEvbWVkaWEtY29udHJvbHMtdGltZWxpbmUtdXBkYXRlcy5odG1sOiBBZGRlZC4KKwogMjAxNC0x
MS0xMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAg
IFVwZGF0ZSBleHBlY3RlZCAucG5nIGZvciBwbGF0Zm9ybS9tYWMvZWRpdGluZy9pbnB1dC9kZXZh
bmFnYXJpLWxpZ2F0dXJlLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWNvbnRyb2xzLXRpbWVsaW5lLXVwZGF0ZXMuaHRtbCBiL0xheW91dFRlc3RzL21lZGlhL21lZGlh
LWNvbnRyb2xzLXRpbWVsaW5lLXVwZGF0ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xOTFlYjUyMmI1Yzlh
OTQzNmI3Y2JlNWFiNWMwNTcxNGU5OTg3NTExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWEtY29udHJvbHMtdGltZWxpbmUtdXBkYXRlcy5odG1sCkBAIC0wLDAgKzEs
NTQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisgICAgICAgIDxzY3Jp
cHQgc3JjPW1lZGlhLWZpbGUuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPXZpZGVv
LXRlc3QuanM+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPW1lZGlhLWNvbnRyb2xzLmpz
Pjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgdmFyIHZpZGVvOworCisg
ICAgICAgICAgICBmdW5jdGlvbiBpbml0KCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg
ICBmaW5kTWVkaWFFbGVtZW50KCk7CisgICAgICAgICAgICAgICAgdmlkZW8uc3JjID0gZmluZE1l
ZGlhRmlsZSgidmlkZW8iLCAiY29udGVudC90ZXN0Iik7CisKKyAgICAgICAgICAgICAgICB3YWl0
Rm9yRXZlbnQoImNhbnBsYXl0aHJvdWdoIiwgY2FucGxheXRocm91Z2gpOworICAgICAgICAgICAg
ICAgIHdhaXRGb3JFdmVudCgicGxheWluZyIsIGZ1bmN0aW9uKCkgeyBzZXRUaW1lb3V0KGZ1bmN0
aW9uICgpIHsgdmlkZW8ucGF1c2UoKTsgfSwgMjAwKTsgfSk7CisgICAgICAgICAgICAgICAgd2Fp
dEZvckV2ZW50KCJwYXVzZSIsIHBhdXNlZCk7CisgICAgICAgICAgICAgICAgd2FpdEZvckV2ZW50
QW5kRmFpbCgiZXJyb3IiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24g
dGltZUxpbmVWYWx1ZSgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgdmFyIHRpbWVs
aW5lID0gbWVkaWFDb250cm9sc0VsZW1lbnQoaW50ZXJuYWxzLnNoYWRvd1Jvb3QodmlkZW8pLmZp
cnN0Q2hpbGQuZmlyc3RDaGlsZCwgJy13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUnKTsK
KyAgICAgICAgICAgICAgICBpZiAoIXRpbWVsaW5lKQorICAgICAgICAgICAgICAgICAgICB0aHJv
dyAiRmFpbGVkIHRvIGZpbmQgLXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZSI7CisKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdGltZWxpbmUudmFsdWU7CisgICAgICAgICAgICB9CisKKyAg
ICAgICAgICAgIGZ1bmN0aW9uIHBhdXNlZCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAg
ICAgdGVzdCgidmlkZW8uY3VycmVudFRpbWUgPiAwIik7CisgICAgICAgICAgICAgICAgdGVzdCgi
dGltZUxpbmVWYWx1ZSgpID4gMCIpOworCisgICAgICAgICAgICAgICAgZW5kVGVzdCgpOworICAg
ICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiBjYW5wbGF5dGhyb3VnaCgpCisgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAg
ICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgdGVzdEV4cGVjdGVkKCJ0
aW1lTGluZVZhbHVlKCkiLCAwKTsKKworICAgICAgICAgICAgICAgIHZpZGVvLnBsYXkoKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9oZWFkPgorICAgIDxib2R5IG9u
bG9hZD0iaW5pdCgpIj4KKyAgICAgICAgPHA+VGhpcyB0ZXN0cyB0aGF0IG1lZGlhIGNvbnRyb2xz
IHRpbWVsaW5lIHVwZGF0ZXMgZHVyaW5nIHBsYXliYWNrLjwvcD4KKyAgICAgICAgPHA+VGhpcyB0
ZXN0IG9ubHkgcnVucyBpbiBEUlQhPC9wPgorICAgICAgICA8dmlkZW8gY29udHJvbHM+PC92aWRl
bz4KKyAgICA8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241602</attachid>
            <date>2014-11-14 11:27:18 -0800</date>
            <delta_ts>2014-11-14 11:47:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138717-20141115062724.patch</filename>
            <type>text/plain</type>
            <size>6062</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MTI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Q2ZTZjZTIzODg5Y2Nj
NjYzYmE0OWM3NDg1YjcxYzk0NTFmZWU4Zi4uOGM0NWQ3MmY0YTY1OGJlMzZmOTBkMDU5YWI0MWE2
MTk4NmUzYjg3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE0LTExLTE0ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWFdIFRpbWVsaW5lIHNj
cnViYmVyIG5vdCB1cGRhdGluZyBhcyB0aGUgdmlkZW8gcGxheXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODcxNworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGlzIHNvbWUgY29uZnVzaW5nIGxv
Z2ljIHRoYXQgZGV0ZXJtaW5lcworICAgICAgICB3aGV0aGVyIG9yIG5vdCB0aGUgY29udHJvbHMg
YXJlIGhpZGRlbiwgYW5kIGEKKyAgICAgICAgc2xpZ2h0IGVycm9yIGNhdXNlZCB0aW1lbGluZXMg
dG8gbm90IGFkdmFuY2UgdW5sZXNzCisgICAgICAgIHRoZXkgd2VyZSBleHBsaWNpdGx5IHNob3dp
bmcuCisKKyAgICAgICAgVGhlIGZpeCB3YXMgdG8gYmUgYSBiaXQgbW9yZSBsaWJlcmFsIGluIGRl
Y2lkaW5nCisgICAgICAgIHdoZW4gdGhlIGNvbnRyb2xzIGFyZSBzaG93aW5nLCBidXQgc3RpbGwg
Y2F1dGlvdXMKKyAgICAgICAgZW5vdWdoIHRvIHN0b3AgdXAgY2F1c2luZyByZXBhaW50cyB3aGVu
IHRoaW5ncworICAgICAgICBhcmUgaGlkZGVuLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlh
LWNvbnRyb2xzLXRpbWVsaW5lLXVwZGF0ZXMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tZWRp
YWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qczoKKyAgICAgICAgKENvbnRyb2xsZXIucHJv
dG90eXBlLmNvbnRyb2xzQXJlSGlkZGVuKTogV2Ugb25seSBuZWVkCisgICAgICAgIHRvIGNoZWNr
IGlmIHdlJ3JlIGFuIGF1ZGlvIGVsZW1lbnQgb3IgZXhwbGljaXRseQorICAgICAgICBoaWRkZW4u
CisgICAgICAgIChDb250cm9sbGVyLnByb3RvdHlwZS5zaG93Q29udHJvbHMpOiBFeHBsaWNpdGx5
IGNhbGwKKyAgICAgICAgdXBkYXRlVGltZS4KKwogMjAxNC0xMS0xMSAgRGF2aWQgSHlhdHQgIDxo
eWF0dEBhcHBsZS5jb20+CiAKICAgICAgICAgVGFibGUgcm93cyByZXBhaW50IGVudGlyZSB0YWJs
ZSB3aGVuIHRoZWlyIGJhY2tncm91bmQgY29sb3IgY2hhbmdlcy4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanMgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmpz
CmluZGV4IGQ0YzIzMTk2YjljMGJhNzhlNzJlYzI1YTM2M2VlYjY1YWNkN2Y5MjIuLjNlZWUyYjkw
ODQ0NDJjMGJkOWM5ODU1NGNjMzVmNDg1MDE0NjQwYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFjb250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwpA
QCAtMTAzNSw2ICsxMDM1LDggQEAgQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAKICAgICBzaG93
Q29udHJvbHM6IGZ1bmN0aW9uKCkKICAgICB7CisgICAgICAgIHRoaXMudXBkYXRlVGltZSgpOwor
CiAgICAgICAgIHRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LmFkZCh0aGlzLkNsYXNzTmFt
ZXMuc2hvdyk7CiAgICAgICAgIHRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LnJlbW92ZSh0
aGlzLkNsYXNzTmFtZXMuaGlkZGVuKTsKIApAQCAtMTA0OCw3ICsxMDUwLDcgQEAgQ29udHJvbGxl
ci5wcm90b3R5cGUgPSB7CiAKICAgICBjb250cm9sc0FyZUhpZGRlbjogZnVuY3Rpb24oKQogICAg
IHsKLSAgICAgICAgcmV0dXJuICF0aGlzLmlzQXVkaW8oKSAmJiAoIXRoaXMuY29udHJvbHMucGFu
ZWwuY2xhc3NMaXN0LmNvbnRhaW5zKHRoaXMuQ2xhc3NOYW1lcy5zaG93KSB8fCB0aGlzLmNvbnRy
b2xzLnBhbmVsLmNsYXNzTGlzdC5jb250YWlucyh0aGlzLkNsYXNzTmFtZXMuaGlkZGVuKSk7Cisg
ICAgICAgIHJldHVybiAhdGhpcy5pc0F1ZGlvKCkgJiYgdGhpcy5jb250cm9scy5wYW5lbC5jbGFz
c0xpc3QuY29udGFpbnModGhpcy5DbGFzc05hbWVzLmhpZGRlbik7CiAgICAgfSwKIAogICAgIHJl
bW92ZUNvbnRyb2xzOiBmdW5jdGlvbigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYzk0ZDM1NjM3NjcxNjdjZWEyYTYxOGVk
ZjM4M2RhMDA0N2EyNDMzYS4uOTA3M2U0NzEzODRkMTFlYzVjZWJlNDcyOTJmZDBjNzJlMzI3MmIy
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTExLTE0ICBEZWFuIEphY2tzb24gIDxkaW5v
QGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWFdIFRpbWVsaW5lIHNjcnViYmVyIG5vdCB1cGRh
dGluZyBhcyB0aGUgdmlkZW8gcGxheXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEzODcxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFRlc3RzIHRoYXQgYW4gaW5saW5lIHZpZGVvIHdpbGwgYWN0dWFsbHkg
YWR2YW5jZSB0aGUKKyAgICAgICAgdGltZWxpbmUgc2NydWJiZXIgaWYgaXQgcGxheXMgbW9tZW50
YXJpbHkuCisKKyAgICAgICAgRXJpYyB3cm90ZSBhbGwgdGhlIGhhcmQgYml0cyBoZXJlLiBJIGp1
c3QgY2hhbmdlZAorICAgICAgICBhIGZldyBsaW5lcyB0byB0ZXN0IGlmIHRoZSB0aW1lbGluZSBo
YWQgbW92ZWQgZnJvbSAwLgorICAgICAgICBVbmZvcnR1bmF0ZWx5IHdlIGNhbid0IHJlbHkgb24g
dGhlIHRpbWVsaW5lIHZhbHVlCisgICAgICAgIGJlaW5nIGlkZW50aWNhbCB0byB0aGUgY3VycmVu
dFRpbWUgb2YgdGhlIG1lZGlhIGVsZW1lbnQsCisgICAgICAgIGJlY2F1c2Ugd2Ugb25seSBtb3Zl
IHRoZSB0aW1lbGluZSB3aGVuIHdlIGdldCBldmVudHMuCisKKyAgICAgICAgKiBtZWRpYS9tZWRp
YS1jb250cm9scy10aW1lbGluZS11cGRhdGVzLmh0bWw6IEFkZGVkLgorCiAyMDE0LTExLTE0ICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgVGVzdCB0
aGF0IHNtYWxsIGNhcHMgb2Ygd2ViIGZvbnRzIHdvcmtzIHJlZ2FyZGxlc3Mgb2Ygd2hlcmUgdGhl
IGZvbnQgZmFjZSBpcyBkZWNsYXJlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvbWVkaWEvbWVk
aWEtY29udHJvbHMtdGltZWxpbmUtdXBkYXRlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9t
ZWRpYS9tZWRpYS1jb250cm9scy10aW1lbGluZS11cGRhdGVzLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43YWIwNzUxN2E5ZGIwZTBhZWMwMTYyMDUwZGMzN2VjYzE5NjliYWY2Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbHMtdGltZWxpbmUtdXBkYXRl
cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0cyB0aGF0IG1lZGlhIGNv
bnRyb2xzIHRpbWVsaW5lIHVwZGF0ZXMgZHVyaW5nIHBsYXliYWNrLgorCitUaGlzIHRlc3Qgb25s
eSBydW5zIGluIERSVCEKKworCitFVkVOVChjYW5wbGF5dGhyb3VnaCkKK0VYUEVDVEVEICh0aW1l
TGluZVZhbHVlKCkgPT0gJzAnKSBPSworRVZFTlQocGxheWluZykKK0VWRU5UKHBhdXNlKQorVEVT
VCh2aWRlby5jdXJyZW50VGltZSA+IDApIE9LCitURVNUKHRpbWVMaW5lVmFsdWUoKSA+IDApIE9L
CitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250
cm9scy10aW1lbGluZS11cGRhdGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250
cm9scy10aW1lbGluZS11cGRhdGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTkxZWI1MjJiNWM5YTk0MzZi
N2NiZTVhYjVjMDU3MTRlOTk4NzUxMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL21l
ZGlhL21lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLXVwZGF0ZXMuaHRtbApAQCAtMCwwICsxLDU0IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAgICA8c2NyaXB0IHNy
Yz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz12aWRlby10ZXN0
LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1jb250cm9scy5qcz48L3Nj
cmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciB2aWRlbzsKKworICAgICAg
ICAgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgZmlu
ZE1lZGlhRWxlbWVudCgpOworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9IGZpbmRNZWRpYUZp
bGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpOworCisgICAgICAgICAgICAgICAgd2FpdEZvckV2
ZW50KCJjYW5wbGF5dGhyb3VnaCIsIGNhbnBsYXl0aHJvdWdoKTsKKyAgICAgICAgICAgICAgICB3
YWl0Rm9yRXZlbnQoInBsYXlpbmciLCBmdW5jdGlvbigpIHsgc2V0VGltZW91dChmdW5jdGlvbiAo
KSB7IHZpZGVvLnBhdXNlKCk7IH0sIDIwMCk7IH0pOworICAgICAgICAgICAgICAgIHdhaXRGb3JF
dmVudCgicGF1c2UiLCBwYXVzZWQpOworICAgICAgICAgICAgICAgIHdhaXRGb3JFdmVudEFuZEZh
aWwoImVycm9yIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRpbWVM
aW5lVmFsdWUoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHZhciB0aW1lbGluZSA9
IG1lZGlhQ29udHJvbHNFbGVtZW50KGludGVybmFscy5zaGFkb3dSb290KHZpZGVvKS5maXJzdENo
aWxkLmZpcnN0Q2hpbGQsICctd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lJyk7CisgICAg
ICAgICAgICAgICAgaWYgKCF0aW1lbGluZSkKKyAgICAgICAgICAgICAgICAgICAgdGhyb3cgIkZh
aWxlZCB0byBmaW5kIC13ZWJraXQtbWVkaWEtY29udHJvbHMtdGltZWxpbmUiOworCisgICAgICAg
ICAgICAgICAgcmV0dXJuIHRpbWVsaW5lLnZhbHVlOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBmdW5jdGlvbiBwYXVzZWQoKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIHRl
c3QoInZpZGVvLmN1cnJlbnRUaW1lID4gMCIpOworICAgICAgICAgICAgICAgIHRlc3QoInRpbWVM
aW5lVmFsdWUoKSA+IDAiKTsKKworICAgICAgICAgICAgICAgIGVuZFRlc3QoKTsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gY2FucGxheXRocm91Z2goKQorICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICAgICAgICAgIHRlc3RFeHBlY3RlZCgidGltZUxp
bmVWYWx1ZSgpIiwgMCk7CisKKyAgICAgICAgICAgICAgICB2aWRlby5wbGF5KCk7CisgICAgICAg
ICAgICB9CisgICAgICAgIDwvc2NyaXB0PgorICAgIDwvaGVhZD4KKyAgICA8Ym9keSBvbmxvYWQ9
ImluaXQoKSI+CisgICAgICAgIDxwPlRoaXMgdGVzdHMgdGhhdCBtZWRpYSBjb250cm9scyB0aW1l
bGluZSB1cGRhdGVzIGR1cmluZyBwbGF5YmFjay48L3A+CisgICAgICAgIDxwPlRoaXMgdGVzdCBv
bmx5IHJ1bnMgaW4gRFJUITwvcD4KKyAgICAgICAgPHZpZGVvIGNvbnRyb2xzPjwvdmlkZW8+Cisg
ICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241608</attachid>
            <date>2014-11-14 11:47:31 -0800</date>
            <delta_ts>2014-11-15 19:32:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138717-20141115064736.patch</filename>
            <type>text/plain</type>
            <size>6288</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2Q2ZTZjZTIzODg5Y2Nj
NjYzYmE0OWM3NDg1YjcxYzk0NTFmZWU4Zi4uODFiM2ZjYTFkYTE5NWVmZjY1NDhkNTE2OWRhNmY4
ZDBmZjg2NmQzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE0LTExLTE0ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbTWVkaWFdIFRpbWVsaW5lIHNj
cnViYmVyIG5vdCB1cGRhdGluZyBhcyB0aGUgdmlkZW8gcGxheXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODcxNworICAgICAgICA8cmRhcjovL3By
b2JsZW0vMTg5NTc1MDk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisg
ICAgICAgIFRoZXJlIGlzIHNvbWUgY29uZnVzaW5nIGxvZ2ljIHRoYXQgZGV0ZXJtaW5lcworICAg
ICAgICB3aGV0aGVyIG9yIG5vdCB0aGUgY29udHJvbHMgYXJlIGhpZGRlbiwgYW5kIGEKKyAgICAg
ICAgc2xpZ2h0IGVycm9yIGNhdXNlZCB0aW1lbGluZXMgdG8gbm90IGFkdmFuY2UgdW5sZXNzCisg
ICAgICAgIHRoZXkgd2VyZSBleHBsaWNpdGx5IHNob3dpbmcuCisKKyAgICAgICAgVGhlIGZpeCB3
YXMgdG8gYmUgYSBiaXQgbW9yZSBsaWJlcmFsIGluIGRlY2lkaW5nCisgICAgICAgIHdoZW4gdGhl
IGNvbnRyb2xzIGFyZSBzaG93aW5nLCBidXQgc3RpbGwgY2F1dGlvdXMKKyAgICAgICAgZW5vdWdo
IHRvIHN0b3AgdXAgY2F1c2luZyByZXBhaW50cyB3aGVuIHRoaW5ncworICAgICAgICBhcmUgaGlk
ZGVuLgorCisgICAgICAgIFRlc3Q6IG1lZGlhL21lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLXVwZGF0
ZXMuaHRtbAorCisgICAgICAgICogTW9kdWxlcy9tZWRpYWNvbnRyb2xzL21lZGlhQ29udHJvbHNB
cHBsZS5qczoKKyAgICAgICAgKENvbnRyb2xsZXIucHJvdG90eXBlLmNvbnRyb2xzQXJlSGlkZGVu
KTogV2Ugb25seSBuZWVkCisgICAgICAgIHRvIGNoZWNrIGlmIHdlJ3JlIGFuIGF1ZGlvIGVsZW1l
bnQgb3IgZXhwbGljaXRseQorICAgICAgICBoaWRkZW4uCisgICAgICAgIChDb250cm9sbGVyLnBy
b3RvdHlwZS5zaG93Q29udHJvbHMpOiBFeHBsaWNpdGx5IGNhbGwKKyAgICAgICAgdXBkYXRlVGlt
ZS4KKwogMjAxNC0xMS0xMSAgRGF2aWQgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAg
ICAgVGFibGUgcm93cyByZXBhaW50IGVudGlyZSB0YWJsZSB3aGVuIHRoZWlyIGJhY2tncm91bmQg
Y29sb3IgY2hhbmdlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFj
b250cm9scy9tZWRpYUNvbnRyb2xzQXBwbGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhY29udHJvbHMvbWVkaWFDb250cm9sc0FwcGxlLmpzCmluZGV4IGQ0YzIzMTk2YjljMGJhNzhl
NzJlYzI1YTM2M2VlYjY1YWNkN2Y5MjIuLjQ0ODY1OGQ1NDVhMzVkYjQyZmJlNDA4YWY2OGZkMDQx
Y2UwYzhmOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFjb250cm9s
cy9tZWRpYUNvbnRyb2xzQXBwbGUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YWNvbnRyb2xzL21lZGlhQ29udHJvbHNBcHBsZS5qcwpAQCAtMTAzNSwxMCArMTAzNSwxMyBAQCBD
b250cm9sbGVyLnByb3RvdHlwZSA9IHsKIAogICAgIHNob3dDb250cm9sczogZnVuY3Rpb24oKQog
ICAgIHsKKyAgICAgICAgdGhpcy5zZXROZWVkc1RpbWVsaW5lTWV0cmljc1VwZGF0ZSgpOworCisg
ICAgICAgIHRoaXMudXBkYXRlVGltZSgpOworICAgICAgICB0aGlzLnVwZGF0ZVByb2dyZXNzKHRy
dWUpOworCiAgICAgICAgIHRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LmFkZCh0aGlzLkNs
YXNzTmFtZXMuc2hvdyk7CiAgICAgICAgIHRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LnJl
bW92ZSh0aGlzLkNsYXNzTmFtZXMuaGlkZGVuKTsKLQotICAgICAgICB0aGlzLnNldE5lZWRzVGlt
ZWxpbmVNZXRyaWNzVXBkYXRlKCk7CiAgICAgfSwKIAogICAgIGhpZGVDb250cm9sczogZnVuY3Rp
b24oKQpAQCAtMTA0OCw3ICsxMDUxLDcgQEAgQ29udHJvbGxlci5wcm90b3R5cGUgPSB7CiAKICAg
ICBjb250cm9sc0FyZUhpZGRlbjogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgcmV0dXJuICF0
aGlzLmlzQXVkaW8oKSAmJiAoIXRoaXMuY29udHJvbHMucGFuZWwuY2xhc3NMaXN0LmNvbnRhaW5z
KHRoaXMuQ2xhc3NOYW1lcy5zaG93KSB8fCB0aGlzLmNvbnRyb2xzLnBhbmVsLmNsYXNzTGlzdC5j
b250YWlucyh0aGlzLkNsYXNzTmFtZXMuaGlkZGVuKSk7CisgICAgICAgIHJldHVybiAhdGhpcy5p
c0F1ZGlvKCkgJiYgdGhpcy5jb250cm9scy5wYW5lbC5jbGFzc0xpc3QuY29udGFpbnModGhpcy5D
bGFzc05hbWVzLmhpZGRlbik7CiAgICAgfSwKIAogICAgIHJlbW92ZUNvbnRyb2xzOiBmdW5jdGlv
bigpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYzk0ZDM1NjM3NjcxNjdjZWEyYTYxOGVkZjM4M2RhMDA0N2EyNDMzYS4uOTY2
N2NiNGIzM2Q5NDllYmQzZmIyN2NiYTQyMmEyZjA4YTJmODUzNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIy
IEBACisyMDE0LTExLTE0ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAg
ICBbTWVkaWFdIFRpbWVsaW5lIHNjcnViYmVyIG5vdCB1cGRhdGluZyBhcyB0aGUgdmlkZW8gcGxh
eXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzODcx
NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTg5NTc1MDk+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFRlc3RzIHRoYXQgYW4gaW5saW5lIHZpZGVvIHdp
bGwgYWN0dWFsbHkgYWR2YW5jZSB0aGUKKyAgICAgICAgdGltZWxpbmUgc2NydWJiZXIgaWYgaXQg
cGxheXMgbW9tZW50YXJpbHkuCisKKyAgICAgICAgRXJpYyB3cm90ZSBhbGwgdGhlIGhhcmQgYml0
cyBoZXJlLiBJIGp1c3QgY2hhbmdlZAorICAgICAgICBhIGZldyBsaW5lcyB0byB0ZXN0IGlmIHRo
ZSB0aW1lbGluZSBoYWQgbW92ZWQgZnJvbSAwLgorICAgICAgICBVbmZvcnR1bmF0ZWx5IHdlIGNh
bid0IHJlbHkgb24gdGhlIHRpbWVsaW5lIHZhbHVlCisgICAgICAgIGJlaW5nIGlkZW50aWNhbCB0
byB0aGUgY3VycmVudFRpbWUgb2YgdGhlIG1lZGlhIGVsZW1lbnQsCisgICAgICAgIGJlY2F1c2Ug
d2Ugb25seSBtb3ZlIHRoZSB0aW1lbGluZSB3aGVuIHdlIGdldCBldmVudHMuCisKKyAgICAgICAg
KiBtZWRpYS9tZWRpYS1jb250cm9scy10aW1lbGluZS11cGRhdGVzLmh0bWw6IEFkZGVkLgorCiAy
MDE0LTExLTE0ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAg
ICAgICAgVGVzdCB0aGF0IHNtYWxsIGNhcHMgb2Ygd2ViIGZvbnRzIHdvcmtzIHJlZ2FyZGxlc3Mg
b2Ygd2hlcmUgdGhlIGZvbnQgZmFjZSBpcyBkZWNsYXJlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvbWVkaWEvbWVkaWEtY29udHJvbHMtdGltZWxpbmUtdXBkYXRlcy1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9tZWRpYS9tZWRpYS1jb250cm9scy10aW1lbGluZS11cGRhdGVzLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YWIwNzUxN2E5ZGIwZTBhZWMwMTYyMDUwZGMzN2VjYzE5NjliYWY2
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvbWVkaWEvbWVkaWEtY29udHJvbHMtdGlt
ZWxpbmUtdXBkYXRlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGhpcyB0ZXN0cyB0
aGF0IG1lZGlhIGNvbnRyb2xzIHRpbWVsaW5lIHVwZGF0ZXMgZHVyaW5nIHBsYXliYWNrLgorCitU
aGlzIHRlc3Qgb25seSBydW5zIGluIERSVCEKKworCitFVkVOVChjYW5wbGF5dGhyb3VnaCkKK0VY
UEVDVEVEICh0aW1lTGluZVZhbHVlKCkgPT0gJzAnKSBPSworRVZFTlQocGxheWluZykKK0VWRU5U
KHBhdXNlKQorVEVTVCh2aWRlby5jdXJyZW50VGltZSA+IDApIE9LCitURVNUKHRpbWVMaW5lVmFs
dWUoKSA+IDApIE9LCitFTkQgT0YgVEVTVAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYS1jb250cm9scy10aW1lbGluZS11cGRhdGVzLmh0bWwgYi9MYXlvdXRUZXN0cy9tZWRp
YS9tZWRpYS1jb250cm9scy10aW1lbGluZS11cGRhdGVzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzYyODkx
MDVlMGZiZDEzOWU3NDk5YTIzYmFiMDE4MWUxZGZhYTZjZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL21lZGlhL21lZGlhLWNvbnRyb2xzLXRpbWVsaW5lLXVwZGF0ZXMuaHRtbApAQCAt
MCwwICsxLDU0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorICAgICAg
ICA8c2NyaXB0IHNyYz1tZWRpYS1maWxlLmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNy
Yz12aWRlby10ZXN0LmpzPjwvc2NyaXB0PgorICAgICAgICA8c2NyaXB0IHNyYz1tZWRpYS1jb250
cm9scy5qcz48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIHZhciB2aWRl
bzsKKworICAgICAgICAgICAgZnVuY3Rpb24gaW5pdCgpCisgICAgICAgICAgICB7CisgICAgICAg
ICAgICAgICAgZmluZE1lZGlhRWxlbWVudCgpOworICAgICAgICAgICAgICAgIHZpZGVvLnNyYyA9
IGZpbmRNZWRpYUZpbGUoInZpZGVvIiwgImNvbnRlbnQvdGVzdCIpOworCisgICAgICAgICAgICAg
ICAgd2FpdEZvckV2ZW50KCJjYW5wbGF5dGhyb3VnaCIsIGNhbnBsYXl0aHJvdWdoKTsKKyAgICAg
ICAgICAgICAgICB3YWl0Rm9yRXZlbnQoInBsYXlpbmciLCBmdW5jdGlvbigpIHsgc2V0VGltZW91
dChmdW5jdGlvbiAoKSB7ICB9LCAyMDApOyB9KTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZl
bnQoInBhdXNlIiwgcGF1c2VkKTsKKyAgICAgICAgICAgICAgICB3YWl0Rm9yRXZlbnRBbmRGYWls
KCJlcnJvciIpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBmdW5jdGlvbiB0aW1lTGlu
ZVZhbHVlKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB2YXIgdGltZWxpbmUgPSBt
ZWRpYUNvbnRyb2xzRWxlbWVudChpbnRlcm5hbHMuc2hhZG93Um9vdCh2aWRlbykuZmlyc3RDaGls
ZC5maXJzdENoaWxkLCAnLXdlYmtpdC1tZWRpYS1jb250cm9scy10aW1lbGluZScpOworICAgICAg
ICAgICAgICAgIGlmICghdGltZWxpbmUpCisgICAgICAgICAgICAgICAgICAgIHRocm93ICJGYWls
ZWQgdG8gZmluZCAtd2Via2l0LW1lZGlhLWNvbnRyb2xzLXRpbWVsaW5lIjsKKworICAgICAgICAg
ICAgICAgIHJldHVybiB0aW1lbGluZS52YWx1ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgZnVuY3Rpb24gcGF1c2VkKCkKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICB0ZXN0
KCJ2aWRlby5jdXJyZW50VGltZSA+IDAiKTsKKyAgICAgICAgICAgICAgICB0ZXN0KCJ0aW1lTGlu
ZVZhbHVlKCkgPiAwIik7CisKKyAgICAgICAgICAgICAgICBlbmRUZXN0KCk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIGNhbnBsYXl0aHJvdWdoKCkKKyAgICAgICAgICAg
IHsKKyAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICB0ZXN0RXhwZWN0ZWQoInRpbWVMaW5l
VmFsdWUoKSIsIDApOworCisgICAgICAgICAgICAgICAgdmlkZW8ucGxheSgpOworICAgICAgICAg
ICAgfQorICAgICAgICA8L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHkgb25sb2FkPSJp
bml0KCkiPgorICAgICAgICA8cD5UaGlzIHRlc3RzIHRoYXQgbWVkaWEgY29udHJvbHMgdGltZWxp
bmUgdXBkYXRlcyBkdXJpbmcgcGxheWJhY2suPC9wPgorICAgICAgICA8cD5UaGlzIHRlc3Qgb25s
eSBydW5zIGluIERSVCE8L3A+CisgICAgICAgIDx2aWRlbyBjb250cm9scz48L3ZpZGVvPgorICAg
IDwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>