<?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>23025</bug_id>
          
          <creation_ts>2008-12-29 14:22:02 -0800</creation_ts>
          <short_desc>Simplifying DOMTimer lifetime management code</short_desc>
          <delta_ts>2009-01-02 18:27:48 -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>All</rep_platform>
          <op_sys>All</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>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dmitry Titov">dimich</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>103726</commentid>
    <comment_count>0</comment_count>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2008-12-29 14:22:02 -0800</bug_when>
    <thetext>Following IRC discussion...

DOMTimer lifetime is a bit confusing - it is created from DOMTimer::install() but then destroyed sometimes by direct &apos;delete&apos; (when Document is destroyed) and sometimes as a side-effect (in Document::removeTimeout which should only remove an ID from the Document&apos;s timeout map).

Proposed change makes this code a bit more straightforward. The timeoutMap methods on the Document now do not delete the timers, they only add/remove/find timers in the map.
The timers are added to the map in their constructor and removed from the map in their destructor, so consistency is guaranteed.
Timers are destroyed by directly calling &apos;delete&apos; in 3 places:
- when Document is destroyed while timers are still alive, in DOMTimer::contextDestroyed()
- when single-shot timer fired, in DOMTimer::fired()
- when JS calls clearTimer, in DOMTimer::removeById()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>103733</commentid>
    <comment_count>1</comment_count>
      <attachid>26300</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2008-12-29 14:35:40 -0800</bug_when>
    <thetext>Created attachment 26300
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104119</commentid>
    <comment_count>2</comment_count>
      <attachid>26300</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-02 10:58:55 -0800</bug_when>
    <thetext>Comment on attachment 26300
Proposed patch

&gt; -    static_cast&lt;Document*&gt;(context)-&gt;removeTimeout(timeoutId);
&gt; +    DOMTimer* timer = static_cast&lt;Document*&gt;(context)-&gt;findTimeout(timeoutId);
&gt; +    delete timer;

I personally would like this to just be a one liner without a local variable.

&gt; -    ActiveDOMObject::contextDestroyed();
&gt; +    ActiveDOMObject::contextDestroyed();  // Clears m_scriptExecutionContext.

Is adding this comment really an improvement?

Normally we use one space before the &quot;//&quot;.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104204</commentid>
    <comment_count>3</comment_count>
      <attachid>26387</attachid>
    <who name="Dmitry Titov">dimich</who>
    <bug_when>2009-01-02 17:11:59 -0800</bug_when>
    <thetext>Created attachment 26387
Patch with changes after review

Thanks Darin!!
All comments addressed. Seems ready to be landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104209</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-01-02 18:27:48 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/39567</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26300</attachid>
            <date>2008-12-29 14:35:40 -0800</date>
            <delta_ts>2009-01-02 17:11:59 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>3867</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzOTUwMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDgtMTItMjkgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDI1CisgICAgICAgIERP
TVRpbWVyIGxpZmV0aW1lIGNsZWFudXA6IHRpbWVvdXRNYXAgbWV0aG9kcyBvbiBEb2N1bWVudCBu
b3cgZG8gbm90IGRlbGV0ZSB0aGUgdGltZXIuCisgICAgICAgIEluc3RlYWQsIGFsbCAzIHBsYWNl
cyB0aGF0IGRlbGV0ZSB0aW1lcnMgZG8gaXQgZGlyZWN0bHkgY2FsbGluZyAnZGVsZXRlJyBhbmQg
dGhlbiB0aW1lcidzIGR0b3IgcmVtb3ZlcyB0aGUgSUQgZnJvbSB0aGUgdGltZW91dE1hcC4KKyAg
ICAgICAgTm90ZSB0aGF0IGluIGNhc2UgdGhlIGNvbnRleHQgaXMgZGVzdHJveWVkIGFuZCB0aW1l
cnMgYXJlIGRlbGV0ZWQgYXQgb25jZSwgdGhlIGNoZWNrIGluIH5ET01UaW1lcigpIHByZXZlbnRz
IAorICAgICAgICB1bm5lY2Vzc2FyeSBIYXNoTWFwIHJlbW92ZSBpbiBjYXNlIHRoZSBEb2N1bWVu
dCBpcyBiZWluZyBkZXN0cm95ZWQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9ET01UaW1lci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6fkRPTVRpbWVyKTogcmVtb3ZlcyB0aGUg
aWQgZnJvbSB0aGUgdGltZW91dE1hcC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0
YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpyZW1vdmVCeUlkKTogc2ltcGx5IHVz
ZXMgJ2RlbGV0ZSB0aGlzJy4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpmaXJlZCk6IHNh
bWUuCisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6Y29udGV4dERlc3Ryb3llZCk6IHNhbWUu
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpyZW1vdmVUaW1lb3V0KTogbm93IGl0IG9ubHkgcmVtb3ZlcyB0aGUgaWQgZnJvbSB0aGUgbWFw
LCBkb2VzIG5vdCBkZWxldGUgdGhlIHRpbWVyLgorCiAyMDA4LTEyLTI5ICBBZGVsZSBQZXRlcnNv
biAgPGFkZWxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24u
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVRpbWVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVRpbWVyLmNwcAkocmV2aXNpb24gMzk1MDEpCisrKyBXZWJD
b3JlL2JpbmRpbmdzL2pzL0RPTVRpbWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsMTIgKzc4
LDE3IEBAIERPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXgKIAogRE9NVGlt
ZXI6On5ET01UaW1lcigpCiB7CisgICAgaWYgKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewor
ICAgICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0RvY3VtZW50KCkpOwor
ICAgICAgICBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkt
PnJlbW92ZVRpbWVvdXQobV90aW1lb3V0SWQpOworICAgIH0KIH0KICAgICAKIGludCBET01UaW1l
cjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBTY2hlZHVsZWRBY3Rp
b24qIGFjdGlvbiwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkKIHsKICAgICAvLyBET01U
aW1lciBjb25zdHJ1Y3RvciBsaW5rcyB0aGUgbmV3IHRpbWVyIGludG8gYSBsaXN0IG9mIEFjdGl2
ZURPTU9iamVjdHMgaGVsZCBieSB0aGUgJ2NvbnRleHQnLgotICAgIC8vIFRoZSB0aW1lciBpcyBk
ZWxldGVkIHdoZW4gY29udGV4dCBpcyBkZWxldGVkIChET01UaW1lcjo6Y29udGV4dERlc3Ryb3ll
ZCkgb3IgZXhwbGljaXRseSB2aWEgRE9NVGltZXI6OnJlbW92ZUJ5SWQoKS4KKyAgICAvLyBUaGUg
dGltZXIgaXMgZGVsZXRlZCB3aGVuIGNvbnRleHQgaXMgZGVsZXRlZCAoRE9NVGltZXI6OmNvbnRl
eHREZXN0cm95ZWQpIG9yIGV4cGxpY2l0bHkgdmlhIERPTVRpbWVyOjpyZW1vdmVCeUlkKCksCisg
ICAgLy8gb3IgaWYgaXQgaXMgYSBvbmUtdGltZSB0aW1lciBhbmQgaXQgaGFzIGZpcmVkIChET01U
aW1lcjo6ZmlyZWQpLgogICAgIERPTVRpbWVyKiB0aW1lciA9IG5ldyBET01UaW1lcihjb250ZXh0
LCBhY3Rpb24sIHRpbWVvdXQsIHNpbmdsZVNob3QpOwogICAgIHJldHVybiB0aW1lci0+bV90aW1l
b3V0SWQ7CiB9CkBAIC05Niw3ICsxMDEsOCBAQCB2b2lkIERPTVRpbWVyOjpyZW1vdmVCeUlkKFNj
cmlwdEV4ZWN1dGlvCiAgICAgaWYgKHRpbWVvdXRJZCA8PSAwKQogICAgICAgICByZXR1cm47CiAg
ICAgQVNTRVJUKGNvbnRleHQgJiYgY29udGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICBzdGF0aWNf
Y2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5yZW1vdmVUaW1lb3V0KHRpbWVvdXRJZCk7CisgICAg
RE9NVGltZXIqIHRpbWVyID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihjb250ZXh0KS0+ZmluZFRp
bWVvdXQodGltZW91dElkKTsKKyAgICBkZWxldGUgdGltZXI7CiB9CiAKIHZvaWQgRE9NVGltZXI6
OmZpcmVkKCkKQEAgLTEyMSw5ICsxMjcsOCBAQCB2b2lkIERPTVRpbWVyOjpmaXJlZCgpCiAgICAg
U2NoZWR1bGVkQWN0aW9uKiBhY3Rpb24gPSBtX2FjdGlvbi5yZWxlYXNlKCk7CiAKICAgICAvLyBO
byBhY2Nlc3MgdG8gbWVtYmVyIHZhcmlhYmxlcyBhZnRlciB0aGlzIHBvaW50LgotICAgIEFTU0VS
VChjb250ZXh0LT5pc0RvY3VtZW50KCkpOwotICAgIHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29u
dGV4dCktPnJlbW92ZVRpbWVvdXQobV90aW1lb3V0SWQpOwotCisgICAgZGVsZXRlIHRoaXM7Cisg
ICAgCiAgICAgYWN0aW9uLT5leGVjdXRlKGNvbnRleHQpOwogICAgIGRlbGV0ZSBhY3Rpb247CiAg
ICAgdGltZXJOZXN0aW5nTGV2ZWwgPSAwOwpAQCAtMTM2LDcgKzE0MSw3IEBAIGJvb2wgRE9NVGlt
ZXI6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnMKIAogdm9pZCBET01UaW1lcjo6Y29udGV4dERl
c3Ryb3llZCgpCiB7Ci0gICAgQWN0aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJveWVkKCk7Cisg
ICAgQWN0aXZlRE9NT2JqZWN0Ojpjb250ZXh0RGVzdHJveWVkKCk7ICAvLyBDbGVhcnMgbV9zY3Jp
cHRFeGVjdXRpb25Db250ZXh0LgogICAgIGRlbGV0ZSB0aGlzOwogfQogCkluZGV4OiBXZWJDb3Jl
L2RvbS9Eb2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CShyZXZpc2lvbiAzOTUwMSkKKysrIFdlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDI4Nyw4ICs0Mjg3LDcgQEAgdm9pZCBEb2N1bWVudDo6YWRkVGltZW91dChpbnQg
dGltZW91dElkLAogCiB2b2lkIERvY3VtZW50OjpyZW1vdmVUaW1lb3V0KGludCB0aW1lb3V0SWQp
CiB7Ci0gICAgRE9NVGltZXIqIHRpbWVyID0gbV90aW1lb3V0cy50YWtlKHRpbWVvdXRJZCk7Ci0g
ICAgZGVsZXRlIHRpbWVyOworICAgIG1fdGltZW91dHMucmVtb3ZlKHRpbWVvdXRJZCk7CiB9CiAK
IERPTVRpbWVyKiBEb2N1bWVudDo6ZmluZFRpbWVvdXQoaW50IHRpbWVvdXRJZCkK
</data>
<flag name="review"
          id="12450"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26387</attachid>
            <date>2009-01-02 17:11:59 -0800</date>
            <delta_ts>2009-01-02 17:11:59 -0800</delta_ts>
            <desc>Patch with changes after review</desc>
            <filename>patch_v2.txt</filename>
            <type>text/plain</type>
            <size>3592</size>
            <attacher name="Dmitry Titov">dimich</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzOTUwMSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDgtMTItMjkgIERtaXRyeSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDI1CisgICAgICAgIERP
TVRpbWVyIGxpZmV0aW1lIGNsZWFudXA6IHRpbWVvdXRNYXAgbWV0aG9kcyBvbiBEb2N1bWVudCBu
b3cgZG8gbm90IGRlbGV0ZSB0aGUgdGltZXIuCisgICAgICAgIEluc3RlYWQsIGFsbCAzIHBsYWNl
cyB0aGF0IGRlbGV0ZSB0aW1lcnMgZG8gaXQgZGlyZWN0bHkgY2FsbGluZyAnZGVsZXRlJyBhbmQg
dGhlbiB0aW1lcidzIGR0b3IgcmVtb3ZlcyB0aGUgSUQgZnJvbSB0aGUgdGltZW91dE1hcC4KKyAg
ICAgICAgTm90ZSB0aGF0IGluIGNhc2UgdGhlIGNvbnRleHQgaXMgZGVzdHJveWVkIGFuZCB0aW1l
cnMgYXJlIGRlbGV0ZWQgYXQgb25jZSwgdGhlIGNoZWNrIGluIH5ET01UaW1lcigpIHByZXZlbnRz
IAorICAgICAgICB1bm5lY2Vzc2FyeSBIYXNoTWFwIHJlbW92ZSBpbiBjYXNlIHRoZSBEb2N1bWVu
dCBpcyBiZWluZyBkZXN0cm95ZWQuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9ET01UaW1lci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6fkRPTVRpbWVyKTogcmVtb3ZlcyB0aGUg
aWQgZnJvbSB0aGUgdGltZW91dE1hcC4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjppbnN0
YWxsKToKKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpyZW1vdmVCeUlkKTogc2ltcGx5IHVz
ZXMgJ2RlbGV0ZSB0aGlzJy4KKyAgICAgICAgKFdlYkNvcmU6OkRPTVRpbWVyOjpmaXJlZCk6IHNh
bWUuCisgICAgICAgIChXZWJDb3JlOjpET01UaW1lcjo6Y29udGV4dERlc3Ryb3llZCk6IHNhbWUu
CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50
OjpyZW1vdmVUaW1lb3V0KTogbm93IGl0IG9ubHkgcmVtb3ZlcyB0aGUgaWQgZnJvbSB0aGUgbWFw
LCBkb2VzIG5vdCBkZWxldGUgdGhlIHRpbWVyLgorCiAyMDA4LTEyLTI5ICBBZGVsZSBQZXRlcnNv
biAgPGFkZWxlQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBCcmFkeSBFaWRzb24u
CkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVRpbWVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVRpbWVyLmNwcAkocmV2aXNpb24gMzk1MDEpCisrKyBXZWJD
b3JlL2JpbmRpbmdzL2pzL0RPTVRpbWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsMTIgKzc4
LDE3IEBAIERPTVRpbWVyOjpET01UaW1lcihTY3JpcHRFeGVjdXRpb25Db250ZXgKIAogRE9NVGlt
ZXI6On5ET01UaW1lcigpCiB7CisgICAgaWYgKHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkgewor
ICAgICAgICBBU1NFUlQoc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpLT5pc0RvY3VtZW50KCkpOwor
ICAgICAgICBzdGF0aWNfY2FzdDxEb2N1bWVudCo+KHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkt
PnJlbW92ZVRpbWVvdXQobV90aW1lb3V0SWQpOworICAgIH0KIH0KICAgICAKIGludCBET01UaW1l
cjo6aW5zdGFsbChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBTY2hlZHVsZWRBY3Rp
b24qIGFjdGlvbiwgaW50IHRpbWVvdXQsIGJvb2wgc2luZ2xlU2hvdCkKIHsKICAgICAvLyBET01U
aW1lciBjb25zdHJ1Y3RvciBsaW5rcyB0aGUgbmV3IHRpbWVyIGludG8gYSBsaXN0IG9mIEFjdGl2
ZURPTU9iamVjdHMgaGVsZCBieSB0aGUgJ2NvbnRleHQnLgotICAgIC8vIFRoZSB0aW1lciBpcyBk
ZWxldGVkIHdoZW4gY29udGV4dCBpcyBkZWxldGVkIChET01UaW1lcjo6Y29udGV4dERlc3Ryb3ll
ZCkgb3IgZXhwbGljaXRseSB2aWEgRE9NVGltZXI6OnJlbW92ZUJ5SWQoKS4KKyAgICAvLyBUaGUg
dGltZXIgaXMgZGVsZXRlZCB3aGVuIGNvbnRleHQgaXMgZGVsZXRlZCAoRE9NVGltZXI6OmNvbnRl
eHREZXN0cm95ZWQpIG9yIGV4cGxpY2l0bHkgdmlhIERPTVRpbWVyOjpyZW1vdmVCeUlkKCksCisg
ICAgLy8gb3IgaWYgaXQgaXMgYSBvbmUtdGltZSB0aW1lciBhbmQgaXQgaGFzIGZpcmVkIChET01U
aW1lcjo6ZmlyZWQpLgogICAgIERPTVRpbWVyKiB0aW1lciA9IG5ldyBET01UaW1lcihjb250ZXh0
LCBhY3Rpb24sIHRpbWVvdXQsIHNpbmdsZVNob3QpOwogICAgIHJldHVybiB0aW1lci0+bV90aW1l
b3V0SWQ7CiB9CkBAIC05Niw3ICsxMDEsNyBAQCB2b2lkIERPTVRpbWVyOjpyZW1vdmVCeUlkKFNj
cmlwdEV4ZWN1dGlvCiAgICAgaWYgKHRpbWVvdXRJZCA8PSAwKQogICAgICAgICByZXR1cm47CiAg
ICAgQVNTRVJUKGNvbnRleHQgJiYgY29udGV4dC0+aXNEb2N1bWVudCgpKTsKLSAgICBzdGF0aWNf
Y2FzdDxEb2N1bWVudCo+KGNvbnRleHQpLT5yZW1vdmVUaW1lb3V0KHRpbWVvdXRJZCk7CisgICAg
ZGVsZXRlIHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPmZpbmRUaW1lb3V0KHRpbWVv
dXRJZCk7CiB9CiAKIHZvaWQgRE9NVGltZXI6OmZpcmVkKCkKQEAgLTEyMSw5ICsxMjYsOCBAQCB2
b2lkIERPTVRpbWVyOjpmaXJlZCgpCiAgICAgU2NoZWR1bGVkQWN0aW9uKiBhY3Rpb24gPSBtX2Fj
dGlvbi5yZWxlYXNlKCk7CiAKICAgICAvLyBObyBhY2Nlc3MgdG8gbWVtYmVyIHZhcmlhYmxlcyBh
ZnRlciB0aGlzIHBvaW50LgotICAgIEFTU0VSVChjb250ZXh0LT5pc0RvY3VtZW50KCkpOwotICAg
IHN0YXRpY19jYXN0PERvY3VtZW50Kj4oY29udGV4dCktPnJlbW92ZVRpbWVvdXQobV90aW1lb3V0
SWQpOwotCisgICAgZGVsZXRlIHRoaXM7CisgICAgCiAgICAgYWN0aW9uLT5leGVjdXRlKGNvbnRl
eHQpOwogICAgIGRlbGV0ZSBhY3Rpb247CiAgICAgdGltZXJOZXN0aW5nTGV2ZWwgPSAwOwpJbmRl
eDogV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZG9tL0Rv
Y3VtZW50LmNwcAkocmV2aXNpb24gMzk1MDEpCisrKyBXZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQyODcsOCArNDI4Nyw3IEBAIHZvaWQgRG9jdW1lbnQ6OmFkZFRp
bWVvdXQoaW50IHRpbWVvdXRJZCwKIAogdm9pZCBEb2N1bWVudDo6cmVtb3ZlVGltZW91dChpbnQg
dGltZW91dElkKQogewotICAgIERPTVRpbWVyKiB0aW1lciA9IG1fdGltZW91dHMudGFrZSh0aW1l
b3V0SWQpOwotICAgIGRlbGV0ZSB0aW1lcjsKKyAgICBtX3RpbWVvdXRzLnJlbW92ZSh0aW1lb3V0
SWQpOwogfQogCiBET01UaW1lciogRG9jdW1lbnQ6OmZpbmRUaW1lb3V0KGludCB0aW1lb3V0SWQp
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>