<?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>62162</bug_id>
          
          <creation_ts>2011-06-06 15:53:24 -0700</creation_ts>
          <short_desc>[Chromium] Implement monotonicallyIncreasingClock()</short_desc>
          <delta_ts>2011-06-13 18:14:14 -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>JavaScriptCore</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>37743</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="James Simonsen">simonjam</reporter>
          <assigned_to name="James Simonsen">simonjam</assigned_to>
          <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>416084</commentid>
    <comment_count>0</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-06-06 15:53:24 -0700</bug_when>
    <thetext>Plumb TimeTicks through to implement monotonicallyIncreasingClock().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418276</commentid>
    <comment_count>1</comment_count>
      <attachid>96641</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-06-09 14:13:18 -0700</bug_when>
    <thetext>Created attachment 96641
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418838</commentid>
    <comment_count>2</comment_count>
      <attachid>96641</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-06-10 12:29:21 -0700</bug_when>
    <thetext>Comment on attachment 96641
Patch

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

&gt; Source/WebKit/chromium/public/WebKitClient.h:270
&gt; +    virtual double monotonicallyIncreasingTime() { return 0; }

i&apos;m curious about using a double here.  it seems like this clock is
useful for computing time deltas (which will often be on the order of
milliseconds).  as the magnitude of this clock increases, won&apos;t the
precision of the difference between two nearby values decrease?
wouldn&apos;t it be better to use an int64_t in other words?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418839</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-06-10 12:34:03 -0700</bug_when>
    <thetext>i think what i&apos;m really trying to say is that it is important for the origin (0-point) of the clock to be well within the 53-bit precision of a double.  making the origin be the epoch accomplishes this, but the definition of the clock doesn&apos;t make that clear.  if you used int64_t, then you would be force to make that clear.

maybe a double is used to avoid wrap-around issues, but instead of wrap-around issues, you have loss of precision issues, which are also problematic.  using int64_t, and saying that the clock has an origin of process startup time, would probably be much clearer and less problematic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418877</commentid>
    <comment_count>4</comment_count>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-06-10 13:51:32 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; i think what i&apos;m really trying to say is that it is important for the origin (0-point) of the clock to be well within the 53-bit precision of a double.  making the origin be the epoch accomplishes this, but the definition of the clock doesn&apos;t make that clear.  if you used int64_t, then you would be force to make that clear.
&gt; 
&gt; maybe a double is used to avoid wrap-around issues, but instead of wrap-around issues, you have loss of precision issues, which are also problematic.  using int64_t, and saying that the clock has an origin of process startup time, would probably be much clearer and less problematic.

(This discussion might be better on the parent bug.)

I expect all platforms will do what you&apos;ve described, although maybe 0 ends up being boot time instead of process start. The main reason I avoided specifying 0 is that I didn&apos;t want everyone to have to do a bunch of math to normalize behavior across platforms when we really don&apos;t care about that. I want people to use whatever millisecond resolution monotonic clock is convenient. In practice, I expect 0 won&apos;t be any farther away than the epoch, so we should have plenty of precision to handle milliseconds.

I also have a slight desire that the epoch not be used so that it&apos;s harder to confuse monotonic times with currentTime() when debugging. I did initially implement this with uint64_t for this reason, although that&apos;s far from foolproof.

Can you think of some other way to spec these requirements? 

I felt (other) Darin&apos;s comment about using doubles was more for style and consistency reasons. I didn&apos;t think wrapping was a concern.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419168</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-06-10 22:38:25 -0700</bug_when>
    <thetext>I think you should at least spell out the requirements for the embedder, who has to implement this new clock.

I understand the stylistic reasons for preferring double.  I do wonder if it wouldn&apos;t lead to mistakes, in which we confuse this clock for the wall clock because the types are the same :-(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420105</commentid>
    <comment_count>6</comment_count>
      <attachid>97046</attachid>
    <who name="James Simonsen">simonjam</who>
    <bug_when>2011-06-13 17:43:36 -0700</bug_when>
    <thetext>Created attachment 97046
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420133</commentid>
    <comment_count>7</comment_count>
      <attachid>97046</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-13 18:14:09 -0700</bug_when>
    <thetext>Comment on attachment 97046
Patch

Clearing flags on attachment: 97046

Committed r88745: &lt;http://trac.webkit.org/changeset/88745&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>420134</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-13 18:14:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96641</attachid>
            <date>2011-06-09 14:13:18 -0700</date>
            <delta_ts>2011-06-13 17:43:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62162-20110609141317.patch</filename>
            <type>text/plain</type>
            <size>4246</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg0MjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MjUyMjE4NTY1MjY3NzI3
ZjJjZjI1NTY3NGU5NzMyMjlmNTg2ZTAyLi5iZGYwYjRiN2ZkYjQwMWEwNzQ4YjA5MWFmZDg2M2Zk
OWFiODVjMmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMDkgIEphbWVz
IFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gSW1wbGVtZW50IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nQ2xvY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjIxNjIKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BsYXRm
b3JtQnJpZGdlLmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSk6
IFVzZSBDaHJvbWUncyBpbXBsZW1lbnRhdGlvbi4KKwogMjAxMS0wNi0wOCAgSGF5YXRvIEl0byAg
PGhheWF0b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSGFqaW1lIE1vcml0
YS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3Jt
QnJpZGdlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRn
ZS5oCmluZGV4IDk2YmNmZDllY2YyMGVjMTExNWM4ZjNhZTZkYTIwY2Y3NzVmMWNhMzkuLjAyMTMz
MmY1MjIwZmExZjEyNjBiOWE0NmI4NzIxYzhiMTYxNThlOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZvcm1CcmlkZ2UuaApAQCAtMjQ2LDYgKzI0Niw3
IEBAIHB1YmxpYzoKIAogICAgIC8vIFN5c3RlbVRpbWUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgc3RhdGljIGRvdWJsZSBjdXJy
ZW50VGltZSgpOworICAgIHN0YXRpYyBkb3VibGUgbW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1l
KCk7CiAKICAgICAvLyBUaGVtaW5nIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogI2lmIE9TKFdJTkRPV1MpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNwcApp
bmRleCA3NmUyNzA1YzJjOTVkNWYxNTgwNDgxYjgwMTdmNzJlOWZhYTEyM2NkLi5lNWJlMWEwOGQ1
ZGZmYTQ2YzE5ZmYwN2Y0OTdiNDdmYmY4N2I1NDQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1bS5jcHAKQEAgLTQ1LDEy
ICs0NSw3IEBAIGRvdWJsZSBjdXJyZW50VGltZSgpCiAKIGRvdWJsZSBtb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKQogewotICAgIHN0YXRpYyBkb3VibGUgbGFzdFRpbWUgPSAwOwotICAgIGRv
dWJsZSBjdXJyZW50VGltZU5vdyA9IGN1cnJlbnRUaW1lKCk7Ci0gICAgaWYgKGN1cnJlbnRUaW1l
Tm93IDwgbGFzdFRpbWUpCi0gICAgICAgIHJldHVybiBsYXN0VGltZTsKLSAgICBsYXN0VGltZSA9
IGN1cnJlbnRUaW1lTm93OwotICAgIHJldHVybiBjdXJyZW50VGltZU5vdzsKKyAgICByZXR1cm4g
UGxhdGZvcm1CcmlkZ2U6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSgpOwogfQogCiBmbG9h
dCB1c2VySWRsZVRpbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1NzZiYjcyOGQx
YjUyMzgzNzJlZmFhYTIxNmEzZmQ0ZGI0Y2U5NDg2Li44ZWMzNDc1NzEyYThmZjU4ZjM0MGY1ODk3
MmEyZDUyM2U2ZGVjYWRlIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDExLTA2LTA5ICBKYW1lcyBTaW1vbnNlbiAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbQ2hyb21p
dW1dIEltcGxlbWVudCBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ0Nsb2NrKCkKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTYyCisKKyAgICAgICAgKiBw
dWJsaWMvV2ViS2l0Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdENsaWVudDo6bW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKTogQWRkZWQuCisgICAgICAgICogc3JjL1BsYXRmb3Jt
QnJpZGdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtQnJpZGdlOjptb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWUpOiBBZGRlZC4KKwogMjAxMS0wNi0wOCAgVG9tIFNlcGV6ICA8dHNl
cGV6QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xpZW50LmggYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAppbmRleCAxYTc0NjQ4
M2RjMjdlYmIzNjY0OTkxODk3ZGQ2NzAxOWY3Zjg4NDgzLi45YTQ5ZTFjMDMzNzA4MTlkZjdmOTE5
ZTMzMTNlZGU2ZTRlY2NjN2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJLaXRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9X
ZWJLaXRDbGllbnQuaApAQCAtMjY2LDYgKzI2Niw5IEBAIHB1YmxpYzoKICAgICAvLyBXYWxsIGNs
b2NrIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guCiAgICAgdmlydHVhbCBkb3VibGUg
Y3VycmVudFRpbWUoKSB7IHJldHVybiAwOyB9CiAKKyAgICAvLyBNb25vdG9uaWNhbGx5IGluY3Jl
YXNpbmcgdGltZSBpbiBzZWNvbmRzIGZyb20gYW55IGFyYml0cmFyeSBmaXhlZCBwb2ludC4KKyAg
ICB2aXJ0dWFsIGRvdWJsZSBtb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB7IHJldHVybiAw
OyB9CisKICAgICB2aXJ0dWFsIHZvaWQgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1ZXModW5z
aWduZWQgY2hhciogYnVmZmVyLCBzaXplX3QgbGVuZ3RoKQogICAgIHsKICAgICAgICAgLy8gV2Vi
S2l0IGNsaWVudHMgbXVzdCBpbXBsZW1lbnQgdGhpcyBmdW5jaW9uIGlmIHRoZXkgdXNlIGNyeXB0
b2dyYXBoaWMgcmFuZG9tbmVzcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL1BsYXRmb3JtQnJpZGdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRm
b3JtQnJpZGdlLmNwcAppbmRleCAyNjk0N2FjMDI4NmQ1N2E5ZWM3NTE3NWQ2MDllOWIxZTA1YjFi
OWNjLi4zZWQ3YWVkYWIzOTRmZGM4NjRmOGJhZDI2NjI3M2VkOTAxYTNjM2YzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3BwCkBAIC03MDEsNiArNzAx
LDExIEBAIGRvdWJsZSBQbGF0Zm9ybUJyaWRnZTo6Y3VycmVudFRpbWUoKQogICAgIHJldHVybiB3
ZWJLaXRDbGllbnQoKS0+Y3VycmVudFRpbWUoKTsKIH0KIAorZG91YmxlIFBsYXRmb3JtQnJpZGdl
Ojptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKQoreworICAgIHJldHVybiB3ZWJLaXRDbGll
bnQoKS0+bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lKCk7Cit9CisKIC8vIFRoZW1pbmcgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIAogI2lmIE9TKFdJTkRPV1MpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97046</attachid>
            <date>2011-06-13 17:43:36 -0700</date>
            <delta_ts>2011-06-13 18:14:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62162-20110613174335.patch</filename>
            <type>text/plain</type>
            <size>4456</size>
            <attacher name="James Simonsen">simonjam</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODg3MzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2OTJhMTgyYWJmNzQ1ZDE2
NTRmNTkxODI2OTdiZTRjMWE2OGM3ODBiLi5kYjg2MGQ3YTI4ODBkNmFkMjVkNzJkMmExMTkzMTFh
NGVlNTZmNjAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDYtMTMgIEphbWVz
IFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtDaHJvbWl1bV0gSW1wbGVtZW50IG1vbm90b25p
Y2FsbHlJbmNyZWFzaW5nQ2xvY2soKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjIxNjIKKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL1BsYXRm
b3JtQnJpZGdlLmg6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9t
aXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSk6
IFVzZSBDaHJvbWUncyBpbXBsZW1lbnRhdGlvbi4KKwogMjAxMS0wNi0xMyAgS2VudGFybyBIYXJh
ICA8aGFyYWtlbkBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9z
a3VyeWFrb3YuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Q
bGF0Zm9ybUJyaWRnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUGxhdGZv
cm1CcmlkZ2UuaAppbmRleCA5NmJjZmQ5ZWNmMjBlYzExMTVjOGYzYWU2ZGEyMGNmNzc1ZjFjYTM5
Li4wMjEzMzJmNTIyMGZhMWYxMjYwYjlhNDZiODcyMWM4YjE2MTU4ZTkwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9QbGF0Zm9ybUJyaWRnZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BsYXRmb3JtQnJpZGdlLmgKQEAgLTI0Niw2
ICsyNDYsNyBAQCBwdWJsaWM6CiAKICAgICAvLyBTeXN0ZW1UaW1lIC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgIHN0YXRpYyBkb3Vi
bGUgY3VycmVudFRpbWUoKTsKKyAgICBzdGF0aWMgZG91YmxlIG1vbm90b25pY2FsbHlJbmNyZWFz
aW5nVGltZSgpOwogCiAgICAgLy8gVGhlbWluZyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICNpZiBPUyhXSU5ET1dTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVt
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1N5c3RlbVRpbWVDaHJvbWl1
bS5jcHAKaW5kZXggNzZlMjcwNWMyYzk1ZDVmMTU4MDQ4MWI4MDE3ZjcyZTlmYWExMjNjZC4uZTVi
ZTFhMDhkNWRmZmE0NmMxOWZmMDdmNDk3YjQ3ZmJmODdiNTQ0MSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vU3lzdGVtVGltZUNocm9taXVtLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9TeXN0ZW1UaW1lQ2hyb21pdW0uY3BwCkBA
IC00NSwxMiArNDUsNyBAQCBkb3VibGUgY3VycmVudFRpbWUoKQogCiBkb3VibGUgbW9ub3Rvbmlj
YWxseUluY3JlYXNpbmdUaW1lKCkKIHsKLSAgICBzdGF0aWMgZG91YmxlIGxhc3RUaW1lID0gMDsK
LSAgICBkb3VibGUgY3VycmVudFRpbWVOb3cgPSBjdXJyZW50VGltZSgpOwotICAgIGlmIChjdXJy
ZW50VGltZU5vdyA8IGxhc3RUaW1lKQotICAgICAgICByZXR1cm4gbGFzdFRpbWU7Ci0gICAgbGFz
dFRpbWUgPSBjdXJyZW50VGltZU5vdzsKLSAgICByZXR1cm4gY3VycmVudFRpbWVOb3c7CisgICAg
cmV0dXJuIFBsYXRmb3JtQnJpZGdlOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKTsKIH0K
IAogZmxvYXQgdXNlcklkbGVUaW1lKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggNzM0
NzBjOTNmODkwZDAyYTQ3NzQ3ZDY0YmJkNWQxYjhjMGI1YzRlNS4uOTA3MjJlN2YyZmQzYmRkOWFh
MTRiOWU5ZGY4ZmIzOWY4MDZhZGEwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMS0wNi0xMyAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmphbUBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
W0Nocm9taXVtXSBJbXBsZW1lbnQgbW9ub3RvbmljYWxseUluY3JlYXNpbmdDbG9jaygpCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE2MgorCisgICAg
ICAgICogcHVibGljL1dlYktpdENsaWVudC5oOgorICAgICAgICAoV2ViS2l0OjpXZWJLaXRDbGll
bnQ6Om1vbm90b25pY2FsbHlJbmNyZWFzaW5nVGltZSk6IEFkZGVkLgorICAgICAgICAqIHNyYy9Q
bGF0Zm9ybUJyaWRnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUJyaWRnZTo6bW9u
b3RvbmljYWxseUluY3JlYXNpbmdUaW1lKTogQWRkZWQuCisKIDIwMTEtMDYtMTMgIERtaXRyeSBM
b21vdiAgPGRzbG9tb3ZAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIEJh
cnRoLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAppbmRl
eCAxYTc0NjQ4M2RjMjdlYmIzNjY0OTkxODk3ZGQ2NzAxOWY3Zjg4NDgzLi41N2FjZGU4YzlmZTAy
NjE5ZWU5ZmZmNTY2YTRjN2QwNTk2NjQ3Zjc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJLaXRDbGllbnQuaApAQCAtMjY2LDYgKzI2NiwxMSBAQCBwdWJsaWM6CiAgICAg
Ly8gV2FsbCBjbG9jayB0aW1lIGluIHNlY29uZHMgc2luY2UgdGhlIGVwb2NoLgogICAgIHZpcnR1
YWwgZG91YmxlIGN1cnJlbnRUaW1lKCkgeyByZXR1cm4gMDsgfQogCisgICAgLy8gTW9ub3Rvbmlj
YWxseSBpbmNyZWFzaW5nIHRpbWUgaW4gc2Vjb25kcyBmcm9tIGFuIGFyYml0cmFyeSBmaXhlZCBw
b2ludCBpbiB0aGUgcGFzdC4KKyAgICAvLyBUaGlzIGZ1bmN0aW9uIGlzIGV4cGVjdGVkIHRvIHJl
dHVybiBhdCBsZWFzdCBtaWxsaXNlY29uZC1wcmVjaXNpb24gdmFsdWVzLiBGb3IgdGhpcyByZWFz
b24sCisgICAgLy8gaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGUgZml4ZWQgcG9pbnQgYmUgbm8g
ZnVydGhlciBpbiB0aGUgcGFzdCB0aGFuIHRoZSBlcG9jaC4KKyAgICB2aXJ0dWFsIGRvdWJsZSBt
b25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWUoKSB7IHJldHVybiAwOyB9CisKICAgICB2aXJ0dWFs
IHZvaWQgY3J5cHRvZ3JhcGhpY2FsbHlSYW5kb21WYWx1ZXModW5zaWduZWQgY2hhciogYnVmZmVy
LCBzaXplX3QgbGVuZ3RoKQogICAgIHsKICAgICAgICAgLy8gV2ViS2l0IGNsaWVudHMgbXVzdCBp
bXBsZW1lbnQgdGhpcyBmdW5jaW9uIGlmIHRoZXkgdXNlIGNyeXB0b2dyYXBoaWMgcmFuZG9tbmVz
cy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJpZGdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1BsYXRmb3JtQnJpZGdlLmNwcAppbmRl
eCAyNjk0N2FjMDI4NmQ1N2E5ZWM3NTE3NWQ2MDllOWIxZTA1YjFiOWNjLi4zZWQ3YWVkYWIzOTRm
ZGM4NjRmOGJhZDI2NjI3M2VkOTAxYTNjM2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9QbGF0Zm9ybUJyaWRnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvUGxhdGZvcm1CcmlkZ2UuY3BwCkBAIC03MDEsNiArNzAxLDExIEBAIGRvdWJsZSBQbGF0
Zm9ybUJyaWRnZTo6Y3VycmVudFRpbWUoKQogICAgIHJldHVybiB3ZWJLaXRDbGllbnQoKS0+Y3Vy
cmVudFRpbWUoKTsKIH0KIAorZG91YmxlIFBsYXRmb3JtQnJpZGdlOjptb25vdG9uaWNhbGx5SW5j
cmVhc2luZ1RpbWUoKQoreworICAgIHJldHVybiB3ZWJLaXRDbGllbnQoKS0+bW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lKCk7Cit9CisKIC8vIFRoZW1pbmcgLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogI2lmIE9T
KFdJTkRPV1MpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>