<?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>138873</bug_id>
          
          <creation_ts>2014-11-19 09:20:56 -0800</creation_ts>
          <short_desc>Add layout test for DOM timers throttling and 0 height element with visible overflowing content</short_desc>
          <delta_ts>2014-11-19 10:27:30 -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>DOM</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>
          <dependson>138292</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1049790</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-19 09:20:56 -0800</bug_when>
    <thetext>Add a layout test for verify that a DOM timer changing the style of a 0 height element with visible overflowing content does not get throttled. If the implementation does not properly use the overflow rect to determine if the element is visible, this test would fail. This covers the top scrolling banner on huffingtonpost.com.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049795</commentid>
    <comment_count>1</comment_count>
      <attachid>241864</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-19 09:24:36 -0800</bug_when>
    <thetext>Created attachment 241864
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049799</commentid>
    <comment_count>2</comment_count>
      <attachid>241864</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-11-19 09:29:03 -0800</bug_when>
    <thetext>Comment on attachment 241864
Patch

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

&gt; LayoutTests/fast/dom/repeating-timer-element-overflow-throttling.html:4
&gt; +&lt;ul id=&quot;testElement&quot; style=&quot;height: 0; overflow: visible;&quot;&gt;

overflow: visible is the default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049800</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-11-19 09:30:37 -0800</bug_when>
    <thetext>What about opacity:0 or visibility:hidden elements? What if the timer toggles the size of the element to/from 0? What if the timer does other useful work other than touch style? If a timer touches several elements, only some of which are outside the viewport, does it get throttled?

What if the page uses requestAnimationFrame to touch style on hidden elements?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049803</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-19 09:39:54 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; What about opacity:0 or visibility:hidden elements? 

I will have to check. If it returns in the element having no renderer (like &apos;display: none&apos;), it would cause the timer to get throttled. If they have a renderer, we may need to add code for handling this to try and throttle timers that change the style of the element (as they are not visible to the user). Likely, such timers don&apos;t get throttled right now, but this is safe and can be improved later.

&gt; What if the timer
&gt; toggles the size of the element to/from 0?

It should cause layout, right? and on layout we will re-evaluate if the elements causing the timer to be throttled is still not visible.

&gt; What if the timer does other
&gt; useful work other than touch style?

Yes, this is the risk. If we find such cases, we could add more metrics to detect if a timer has visible side-effects. We have been throttling timers that interact with non-visible plugins for a while now, and so far, this hasn&apos;t been an issue.

&gt; If a timer touches several elements,
&gt; only some of which are outside the viewport, does it get throttled?

No, if the timer touches the style of *any* element inside the viewport, we won&apos;t throttle it. I will add test coverage for this.

&gt; What if the page uses requestAnimationFrame to touch style on hidden
&gt; elements?

Then it is not using DOMTimers (AFAIK), and thus won&apos;t be affected by throttling.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049804</commentid>
    <comment_count>5</comment_count>
      <attachid>241865</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-19 09:41:57 -0800</bug_when>
    <thetext>Created attachment 241865
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049805</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-11-19 09:42:48 -0800</bug_when>
    <thetext>(In reply to comment #4)

&gt; &gt; What if the page uses requestAnimationFrame to touch style on hidden
&gt; &gt; elements?
&gt; 
&gt; Then it is not using DOMTimers (AFAIK), and thus won&apos;t be affected by
&gt; throttling.

rAF is increasingly being used for very CPU-heave ads (e.g. those generated by Swiffy), so we should consider throttling here, particularly when the content is inside an iframe.

Can you add a test for timer throttling inside an iframe that&apos;s scrolled out of view? That&apos;s very common.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049806</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-19 09:43:32 -0800</bug_when>
    <thetext>
&gt; &gt; What if the timer does other
&gt; &gt; useful work other than touch style?
&gt; 
&gt; Yes, this is the risk. If we find such cases, we could add more metrics to
&gt; detect if a timer has visible side-effects. We have been throttling timers
&gt; that interact with non-visible plugins for a while now, and so far, this
&gt; hasn&apos;t been an issue.

Also note that we don&apos;t throttle timers that alter the DOM tree for this reason as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049807</commentid>
    <comment_count>8</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-11-19 09:48:32 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #4)
&gt; 
&gt; &gt; &gt; What if the page uses requestAnimationFrame to touch style on hidden
&gt; &gt; &gt; elements?
&gt; &gt; 
&gt; &gt; Then it is not using DOMTimers (AFAIK), and thus won&apos;t be affected by
&gt; &gt; throttling.
&gt; 
&gt; rAF is increasingly being used for very CPU-heave ads (e.g. those generated
&gt; by Swiffy), so we should consider throttling here, particularly when the
&gt; content is inside an iframe.

I can look at rAF later, see if we can apply a similar policy there. Right now, throttling DOM timers seems risky enough :) I think it is best not to extend this approach too much until we get sufficient living-on testing of this, to make sure this does not break content.

&gt; Can you add a test for timer throttling inside an iframe that&apos;s scrolled out
&gt; of view? That&apos;s very common.

Yes, sounds like a good thing to test indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049824</commentid>
    <comment_count>9</comment_count>
      <attachid>241865</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-19 10:27:25 -0800</bug_when>
    <thetext>Comment on attachment 241865
Patch

Clearing flags on attachment: 241865

Committed r176323: &lt;http://trac.webkit.org/changeset/176323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1049825</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-11-19 10:27:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241864</attachid>
            <date>2014-11-19 09:24:36 -0800</date>
            <delta_ts>2014-11-19 09:41:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138873-20141119092450.patch</filename>
            <type>text/plain</type>
            <size>4069</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MzE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2NmM2Q3ZjBjZDVkMzUxZDM2Njkx
NDFmN2VkOTgzYTIyNjY1YzhkNi4uZjExNGJiZDM2YWNiNTk1MTk3Yzk0YjhkNDI5YWNjZmNiYTcx
NzAwZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE0LTExLTE5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGZvciBET00gdGltZXJz
IHRocm90dGxpbmcgYW5kIDAgaGVpZ2h0IGVsZW1lbnQgd2l0aCB2aXNpYmxlIG92ZXJmbG93aW5n
IGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzODg3MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCBhIGxheW91dCB0ZXN0IGZvciB2ZXJpZnkgdGhhdCBhIERPTSB0aW1lciBjaGFuZ2luZyB0
aGUgc3R5bGUgb2YgYSAwCisgICAgICAgIGhlaWdodCBlbGVtZW50IHdpdGggdmlzaWJsZSBvdmVy
Zmxvd2luZyBjb250ZW50IGRvZXMgbm90IGdldCB0aHJvdHRsZWQuCisgICAgICAgIElmIHRoZSBp
bXBsZW1lbnRhdGlvbiBkaWQgbm90IHByb3Blcmx5IHVzZSB0aGUgb3ZlcmZsb3cgcmVjdCB0bwor
ICAgICAgICBkZXRlcm1pbmUgaWYgdGhlIGVsZW1lbnQgaXMgdmlzaWJsZSwgdGhpcyB0ZXN0IHdv
dWxkIGZhaWwuCisKKyAgICAgICAgVGhpcyBjb3ZlcnMgdGhlIGNhc2Ugb2YgdGhlIHRvcCBzY3Jv
bGxpbmcgYmFubmVyIG9uIGh1ZmZpbmd0b25wb3N0LmNvbS4KKworICAgICAgICAqIGZhc3QvZG9t
L3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93LXRocm90dGxpbmctZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVy
Zmxvdy10aHJvdHRsaW5nLmh0bWw6IEFkZGVkLgorCiAyMDE0LTExLTE5ICBDaHJpcyBGbGVpemFj
aCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IFNjcmVlbiBicmFpbGxlIGlu
cHV0IGRvZXNuJ3Qgd29yayBvbiBmb3Jtcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93LXRocm90dGxpbmctZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZs
b3ctdGhyb3R0bGluZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTRjMjBjMTkxMTVjY2RjZmY3
ZDFhMzQ4NTM1NzU3ZTM5NjEwZjNjMQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93LXRocm90dGxpbmctZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMTcgQEAKK1Rlc3RzIHRoYXQgYSByZXBlYXRpbmcgdGltZXIgY2hh
bmdpbmcgdGhlIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2l0aCAwIGhlaWdodCBhbmQgdmlzaWJsZSBv
dmVyZmxvd2luZyBjb250ZW50IGRvZXMgbm90IGdldCB0aHJvdHRsZWQuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIHRlc3RFbGVtZW50Lm9mZnNldEhlaWdodCBpcyAwCitU
aGUgdGltZXIgc2hvdWxkIGluaXRpYWxseSBub3QgYmUgdGhyb3R0bGVkLgorUEFTUyBpbnRlcm5h
bHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIGlzIGZhbHNlCis1dGggaXRlcmF0aW9uLCB0
aW1lciBzaG91bGQgbm90IGhhdmUgYmVlbiB0aHJvdHRsZWQuCitQQVNTIHdhc1Rocm90dGxlZCBp
cyBmYWxzZQorNnRoIGl0ZXJhdGlvbiwgdGltZXIgc2hvdWxkIHN0aWxsIGJlIHVudGhyb3R0bGVk
LgorUEFTUyBpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIGlzIGZhbHNlCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKK3Rlc3QxCit0
ZXN0MgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVs
ZW1lbnQtb3ZlcmZsb3ctdGhyb3R0bGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVw
ZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3ctdGhyb3R0bGluZy5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU1YzA0MjRmZTc2MWFlNmMxYThlNjA4ZmRlMTA3NTBhZDNhNTU3N2IKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxv
dy10aHJvdHRsaW5nLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPCFET0NUWVBFIGh0bWw+Cis8Ym9k
eT4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHVsIGlkPSJ0ZXN0RWxlbWVudCIgc3R5bGU9ImhlaWdodDogMDsgb3ZlcmZsb3c6IHZpc2li
bGU7Ij4KKzxsaT50ZXN0MTwvbGk+Cis8bGk+dGVzdDI8L2xpPgorPC91bD4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbigiVGVzdHMgdGhhdCBhIHJlcGVhdGluZyB0aW1lciBjaGFuZ2luZyB0aGUgc3R5
bGUgb2YgYW4gZWxlbWVudCB3aXRoIDAgaGVpZ2h0IGFuZCB2aXNpYmxlIG92ZXJmbG93aW5nIGNv
bnRlbnQgZG9lcyBub3QgZ2V0IHRocm90dGxlZC4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOwor
Cit2YXIgaXRlcmF0aW9uQ291bnQgPSAwOwordmFyIHRpbWVvdXRJZDsKK3ZhciB0ZXN0RWxlbWVu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0RWxlbWVudCIpOwordmFyIHdhc1Rocm90
dGxlZCA9IGZhbHNlOworCitmdW5jdGlvbiB0aW1lckNhbGxiYWNrKCkKK3sKKyAgKytpdGVyYXRp
b25Db3VudDsKKyAgLy8gSW50ZXJhY3Qgd2l0aCB0aGUgc3R5bGUgb2YgdGhlIGVsZW1lbnQuCisg
IHRlc3RFbGVtZW50LnN0eWxlWyJsZWZ0Il0gPSAiIiArIGl0ZXJhdGlvbkNvdW50ICsgInB4IjsK
KworICAvLyA1IGl0ZXJhdGlvbnMgc2hvdWxkIHN1ZmZpY2UgdG8gdGhyb3R0bGUgdGhlIHRpbWVy
LgorICBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNSkgeworICAgIC8vIERvIG5vdCB1c2Ugc2hvdWxk
QmVUcnVlKCkgaGVyZSBiZWNhdXNlIGl0IHdvdWxkIGNhdXNlIGEgRE9NIHRyZWUgbXV0YXRpb24g
YW5kCisgICAgLy8gdW50aHJvdHRsZSB0aGUgRE9NIFRpbWVyLgorICAgIHdhc1Rocm90dGxlZCA9
IGludGVybmFscy5pc1RpbWVyVGhyb3R0bGVkKHRpbWVvdXRJZCk7CisgIH0gZWxzZSBpZiAoaXRl
cmF0aW9uQ291bnQgPT0gNikgeworICAgIGRlYnVnKCI1dGggaXRlcmF0aW9uLCB0aW1lciBzaG91
bGQgbm90IGhhdmUgYmVlbiB0aHJvdHRsZWQuIik7CisgICAgc2hvdWxkQmVGYWxzZSgid2FzVGhy
b3R0bGVkIik7CisgICAgZGVidWcoIjZ0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBzdGlsbCBi
ZSB1bnRocm90dGxlZC4iKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNUaW1lclRo
cm90dGxlZCh0aW1lb3V0SWQpIik7CisgICAgY2xlYXJJbnRlcnZhbCh0aW1lb3V0SWQpOworICAg
IGZpbmlzaEpTVGVzdCgpOworICB9Cit9CisKK3Nob3VsZEJlKCJ0ZXN0RWxlbWVudC5vZmZzZXRI
ZWlnaHQiLCAiMCIpOworCit0aW1lb3V0SWQgPSBzZXRJbnRlcnZhbCh0aW1lckNhbGxiYWNrLCAw
KTsKK2RlYnVnKCJUaGUgdGltZXIgc2hvdWxkIGluaXRpYWxseSBub3QgYmUgdGhyb3R0bGVkLiIp
Oworc2hvdWxkQmVGYWxzZSgiaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKSIp
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>241865</attachid>
            <date>2014-11-19 09:41:57 -0800</date>
            <delta_ts>2014-11-19 10:27:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-138873-20141119094210.patch</filename>
            <type>text/plain</type>
            <size>4048</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc2MzE4CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggM2NmM2Q3ZjBjZDVkMzUxZDM2Njkx
NDFmN2VkOTgzYTIyNjY1YzhkNi4uMDA5NDdkZDcwNmYwMjcyZmQ4ODIzZDIzZDEzNmVkNDY2ZTEz
NTk3ZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE0LTExLTE5ICBDaHJpcyBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGxheW91dCB0ZXN0IGZvciBET00gdGltZXJz
IHRocm90dGxpbmcgYW5kIDAgaGVpZ2h0IGVsZW1lbnQgd2l0aCB2aXNpYmxlIG92ZXJmbG93aW5n
IGNvbnRlbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEzODg3MworCisgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KKworICAgICAgICBB
ZGQgYSBsYXlvdXQgdGVzdCBmb3IgdmVyaWZ5IHRoYXQgYSBET00gdGltZXIgY2hhbmdpbmcgdGhl
IHN0eWxlIG9mIGEgMAorICAgICAgICBoZWlnaHQgZWxlbWVudCB3aXRoIHZpc2libGUgb3ZlcmZs
b3dpbmcgY29udGVudCBkb2VzIG5vdCBnZXQgdGhyb3R0bGVkLgorICAgICAgICBJZiB0aGUgaW1w
bGVtZW50YXRpb24gZGlkIG5vdCBwcm9wZXJseSB1c2UgdGhlIG92ZXJmbG93IHJlY3QgdG8KKyAg
ICAgICAgZGV0ZXJtaW5lIGlmIHRoZSBlbGVtZW50IGlzIHZpc2libGUsIHRoaXMgdGVzdCB3b3Vs
ZCBmYWlsLgorCisgICAgICAgIFRoaXMgY292ZXJzIHRoZSBjYXNlIG9mIHRoZSB0b3Agc2Nyb2xs
aW5nIGJhbm5lciBvbiBodWZmaW5ndG9ucG9zdC5jb20uCisKKyAgICAgICAgKiBmYXN0L2RvbS9y
ZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy10aHJvdHRsaW5nLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZs
b3ctdGhyb3R0bGluZy5odG1sOiBBZGRlZC4KKwogMjAxNC0xMS0xOSAgQ2hyaXMgRmxlaXphY2gg
IDxjZmxlaXphY2hAYXBwbGUuY29tPgogCiAgICAgICAgIEFYOiBTY3JlZW4gYnJhaWxsZSBpbnB1
dCBkb2Vzbid0IHdvcmsgb24gZm9ybXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy10aHJvdHRsaW5nLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93
LXRocm90dGxpbmctZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0YzIwYzE5MTE1Y2NkY2ZmN2Qx
YTM0ODUzNTc1N2UzOTYxMGYzYzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9yZXBlYXRpbmctdGltZXItZWxlbWVudC1vdmVyZmxvdy10aHJvdHRsaW5nLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDE3IEBACitUZXN0cyB0aGF0IGEgcmVwZWF0aW5nIHRpbWVyIGNoYW5n
aW5nIHRoZSBzdHlsZSBvZiBhbiBlbGVtZW50IHdpdGggMCBoZWlnaHQgYW5kIHZpc2libGUgb3Zl
cmZsb3dpbmcgY29udGVudCBkb2VzIG5vdCBnZXQgdGhyb3R0bGVkLgorCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworUEFTUyB0ZXN0RWxlbWVudC5vZmZzZXRIZWlnaHQgaXMgMAorVGhl
IHRpbWVyIHNob3VsZCBpbml0aWFsbHkgbm90IGJlIHRocm90dGxlZC4KK1BBU1MgaW50ZXJuYWxz
LmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKSBpcyBmYWxzZQorNXRoIGl0ZXJhdGlvbiwgdGlt
ZXIgc2hvdWxkIG5vdCBoYXZlIGJlZW4gdGhyb3R0bGVkLgorUEFTUyB3YXNUaHJvdHRsZWQgaXMg
ZmFsc2UKKzZ0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBzdGlsbCBiZSB1bnRocm90dGxlZC4K
K1BBU1MgaW50ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKSBpcyBmYWxzZQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCit0ZXN0MQordGVz
dDIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVhdGluZy10aW1lci1lbGVt
ZW50LW92ZXJmbG93LXRocm90dGxpbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlcGVh
dGluZy10aW1lci1lbGVtZW50LW92ZXJmbG93LXRocm90dGxpbmcuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5i
ZjQ5OTg2NWViMDdlOGVkMTNmM2Y1ZjMzMWE2ZmI1ZjhhYmM0OTA5Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVwZWF0aW5nLXRpbWVyLWVsZW1lbnQtb3ZlcmZsb3ct
dGhyb3R0bGluZy5odG1sCkBAIC0wLDAgKzEsNDUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
Kzx1bCBpZD0idGVzdEVsZW1lbnQiIHN0eWxlPSJoZWlnaHQ6IDA7Ij4KKzxsaT50ZXN0MTwvbGk+
Cis8bGk+dGVzdDI8L2xpPgorPC91bD4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdHMgdGhh
dCBhIHJlcGVhdGluZyB0aW1lciBjaGFuZ2luZyB0aGUgc3R5bGUgb2YgYW4gZWxlbWVudCB3aXRo
IDAgaGVpZ2h0IGFuZCB2aXNpYmxlIG92ZXJmbG93aW5nIGNvbnRlbnQgZG9lcyBub3QgZ2V0IHRo
cm90dGxlZC4iKTsKK2pzVGVzdElzQXN5bmMgPSB0cnVlOworCit2YXIgaXRlcmF0aW9uQ291bnQg
PSAwOwordmFyIHRpbWVvdXRJZDsKK3ZhciB0ZXN0RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0RWxlbWVudCIpOwordmFyIHdhc1Rocm90dGxlZCA9IGZhbHNlOworCitmdW5j
dGlvbiB0aW1lckNhbGxiYWNrKCkKK3sKKyAgKytpdGVyYXRpb25Db3VudDsKKyAgLy8gSW50ZXJh
Y3Qgd2l0aCB0aGUgc3R5bGUgb2YgdGhlIGVsZW1lbnQuCisgIHRlc3RFbGVtZW50LnN0eWxlWyJs
ZWZ0Il0gPSAiIiArIGl0ZXJhdGlvbkNvdW50ICsgInB4IjsKKworICAvLyA1IGl0ZXJhdGlvbnMg
c2hvdWxkIHN1ZmZpY2UgdG8gdGhyb3R0bGUgdGhlIHRpbWVyLgorICBpZiAoaXRlcmF0aW9uQ291
bnQgPT0gNSkgeworICAgIC8vIERvIG5vdCB1c2Ugc2hvdWxkQmVUcnVlKCkgaGVyZSBiZWNhdXNl
IGl0IHdvdWxkIGNhdXNlIGEgRE9NIHRyZWUgbXV0YXRpb24gYW5kCisgICAgLy8gdW50aHJvdHRs
ZSB0aGUgRE9NIFRpbWVyLgorICAgIHdhc1Rocm90dGxlZCA9IGludGVybmFscy5pc1RpbWVyVGhy
b3R0bGVkKHRpbWVvdXRJZCk7CisgIH0gZWxzZSBpZiAoaXRlcmF0aW9uQ291bnQgPT0gNikgewor
ICAgIGRlYnVnKCI1dGggaXRlcmF0aW9uLCB0aW1lciBzaG91bGQgbm90IGhhdmUgYmVlbiB0aHJv
dHRsZWQuIik7CisgICAgc2hvdWxkQmVGYWxzZSgid2FzVGhyb3R0bGVkIik7CisgICAgZGVidWco
IjZ0aCBpdGVyYXRpb24sIHRpbWVyIHNob3VsZCBzdGlsbCBiZSB1bnRocm90dGxlZC4iKTsKKyAg
ICBzaG91bGRCZUZhbHNlKCJpbnRlcm5hbHMuaXNUaW1lclRocm90dGxlZCh0aW1lb3V0SWQpIik7
CisgICAgY2xlYXJJbnRlcnZhbCh0aW1lb3V0SWQpOworICAgIGZpbmlzaEpTVGVzdCgpOworICB9
Cit9CisKK3Nob3VsZEJlKCJ0ZXN0RWxlbWVudC5vZmZzZXRIZWlnaHQiLCAiMCIpOworCit0aW1l
b3V0SWQgPSBzZXRJbnRlcnZhbCh0aW1lckNhbGxiYWNrLCAwKTsKK2RlYnVnKCJUaGUgdGltZXIg
c2hvdWxkIGluaXRpYWxseSBub3QgYmUgdGhyb3R0bGVkLiIpOworc2hvdWxkQmVGYWxzZSgiaW50
ZXJuYWxzLmlzVGltZXJUaHJvdHRsZWQodGltZW91dElkKSIpOworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>