<?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>200637</bug_id>
          
          <creation_ts>2019-08-12 11:48:17 -0700</creation_ts>
          <short_desc>Web Inspector: REGRESSION: Inspector Timeline always starts at about 500ms mark on a reload</short_desc>
          <delta_ts>2019-09-11 23:55:52 -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>Web Inspector</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>hi</cc>
    
    <cc>inspector-bugzilla-changes</cc>
    
    <cc>joepeck</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1560489</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-08-12 11:48:17 -0700</bug_when>
    <thetext>REGRESSION: Inspector Timeline always starts at about 500ms mark on a reload</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1560490</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-08-12 11:48:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/54218967&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570112</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-11 20:53:03 -0700</bug_when>
    <thetext>I believe this was a regression from r245498, when the CPUTimelineRecord&apos;s startTime was moved back by the sampling rate (500ms).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570113</commentid>
    <comment_count>3</comment_count>
      <attachid>378616</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-11 20:53:18 -0700</bug_when>
    <thetext>Created attachment 378616
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570128</commentid>
    <comment_count>4</comment_count>
      <attachid>378616</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-09-11 21:32:59 -0700</bug_when>
    <thetext>Comment on attachment 378616
[PATCH] Proposed Fix

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

r-, explained below

&gt; Source/WebInspectorUI/UserInterface/Models/TimelineRecord.js:108
&gt; +    get unadjustedStartTime()

The name of this function doesn&apos;t seem accurate, or at the very least seems like a roundabout/circumstantial way of getting to the desired result.  The `timestamp` itself isn&apos;t guaranteed to be unadjusted either (I know it is right now, but that may not be the case for other future timeline record subclasses).

I think a better approach would be to check `if (record instanceof WI.CPUTimelineRecord || record instanceof WI.MemoryTimelineRecord)` in `_updateTimesIfNeeded` and use the `record.timestamp` in that case instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570137</commentid>
    <comment_count>5</comment_count>
      <attachid>378616</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-11 21:50:18 -0700</bug_when>
    <thetext>Comment on attachment 378616
[PATCH] Proposed Fix

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

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/TimelineRecord.js:108
&gt;&gt; +    get unadjustedStartTime()
&gt; 
&gt; The name of this function doesn&apos;t seem accurate, or at the very least seems like a roundabout/circumstantial way of getting to the desired result.  The `timestamp` itself isn&apos;t guaranteed to be unadjusted either (I know it is right now, but that may not be the case for other future timeline record subclasses).
&gt; 
&gt; I think a better approach would be to check `if (record instanceof WI.CPUTimelineRecord || record instanceof WI.MemoryTimelineRecord)` in `_updateTimesIfNeeded` and use the `record.timestamp` in that case instead.

I&apos;m not sure I buy the argument.

That would mean:
  • The next time we add a timestamp based record we&apos;d have to update that location as well
  • Each update call now has to do a chain of instanceof checks
  • Each TimelineRecord subclass can override unadjusted*Time as needed. So if &quot;timestamp&quot; was adjusted in some future class they would be able to override it to return sane values.

Would you rather I make CPUTimelineRecord / MemoryTimelineRecord provide their own unadjusted*Time (or a common TimestampTimelineRecord superclass) and just return timestamp?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570138</commentid>
    <comment_count>6</comment_count>
      <attachid>378616</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-09-11 21:55:21 -0700</bug_when>
    <thetext>Comment on attachment 378616
[PATCH] Proposed Fix

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

&gt;&gt;&gt; Source/WebInspectorUI/UserInterface/Models/TimelineRecord.js:108
&gt;&gt;&gt; +    get unadjustedStartTime()
&gt;&gt; 
&gt;&gt; The name of this function doesn&apos;t seem accurate, or at the very least seems like a roundabout/circumstantial way of getting to the desired result.  The `timestamp` itself isn&apos;t guaranteed to be unadjusted either (I know it is right now, but that may not be the case for other future timeline record subclasses).
&gt;&gt; 
&gt;&gt; I think a better approach would be to check `if (record instanceof WI.CPUTimelineRecord || record instanceof WI.MemoryTimelineRecord)` in `_updateTimesIfNeeded` and use the `record.timestamp` in that case instead.
&gt; 
&gt; I&apos;m not sure I buy the argument.
&gt; 
&gt; That would mean:
&gt;   • The next time we add a timestamp based record we&apos;d have to update that location as well
&gt;   • Each update call now has to do a chain of instanceof checks
&gt;   • Each TimelineRecord subclass can override unadjusted*Time as needed. So if &quot;timestamp&quot; was adjusted in some future class they would be able to override it to return sane values.
&gt; 
&gt; Would you rather I make CPUTimelineRecord / MemoryTimelineRecord provide their own unadjusted*Time (or a common TimestampTimelineRecord superclass) and just return timestamp?

Good point.  I like your suggestion.

How about something like:

TimelineRecord.js
```
    get unadjustedStartTime()
    {
        // Overridden by subclasses if needed.
        return this.startTime;
    }
```

CPUTimelineRecord.js
```
    get unadjustedStartTime()
    {
        return this.timestamp;
    }
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570150</commentid>
    <comment_count>7</comment_count>
      <attachid>378620</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-11 22:19:20 -0700</bug_when>
    <thetext>Created attachment 378620
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570173</commentid>
    <comment_count>8</comment_count>
      <attachid>378620</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2019-09-11 23:18:17 -0700</bug_when>
    <thetext>Comment on attachment 378620
[PATCH] Proposed Fix

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

r=me, thanks for iterating :)

&gt; Source/WebInspectorUI/UserInterface/Models/TimelineRecord.js:108
&gt; +    get unadjustedStartTime()

We should move this to be next to `get activeStartTime`.

&gt; Source/WebInspectorUI/UserInterface/Models/TimelineRecord.js:114
&gt; +    get unadjustedEndTime()

We should move this to be right after `get endTime`.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1570178</commentid>
    <comment_count>9</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2019-09-11 23:55:52 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/249799/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378616</attachid>
            <date>2019-09-11 20:53:18 -0700</date>
            <delta_ts>2019-09-11 22:19:20 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>timeline-1.patch</filename>
            <type>text/plain</type>
            <size>3495</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDFlYjA3MDA1ZjhlLi5kNjcyNTBiOGJlZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTktMDktMTEgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBSRUdSRVNTSU9OOiBJbnNwZWN0b3IgVGltZWxpbmUgYWx3YXlzIHN0YXJ0cyBhdCBhYm91dCA1
MDBtcyBtYXJrIG9uIGEgcmVsb2FkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDA2MzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0MjE4OTY3Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBUaW1l
bGluZSB3YXMgZ2V0dGluZyBhIHN0YXJ0VGltZSB2YWx1ZSBmcm9tIGJlZm9yZSB0aGUgdXNlciBz
dGFydGVkCisgICAgICAgIHRoZSB0aW1lbGluZSByZWNvcmRpbmcgYmVjYXVzZSBvZiBhcnRpZmlj
aWFsIGFkanVzdG1lbnRzIHRoYXQgd2VyZSBtYWRlCisgICAgICAgIHRvIENQVVRpbWVsaW5lUmVj
b3Jkcy4gSWdub3JlIGFkanVzdGVkIHZhbHVlcyB3aGVuIHVwZGF0aW5nIHRoZSBUaW1lbGluZSdz
CisgICAgICAgIHN0YXJ0IGFuZCBlbmQgdGltZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L01vZGVscy9UaW1lbGluZS5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5lLnByb3RvdHlwZS5fdXBk
YXRlVGltZXNJZk5lZWRlZCk6CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxp
bmVSZWNvcmQuanM6CisgICAgICAgIChXSS5UaW1lbGluZVJlY29yZC5wcm90b3R5cGUuZ2V0IHVu
YWRqdXN0ZWRTdGFydFRpbWUpOgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmQucHJvdG90eXBl
LmdldCB1bmFkanVzdGVkRW5kVGltZSk6CisKIDIwMTktMDktMTEgIEpvc2VwaCBQZWNvcmFybyAg
PHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBEbyBub3Qgc2hv
dyBvdmVycmlkZSBhY3Rpb25zIHVubGVzcyBTb3VyY2VzIHRhYiBpcyBlbmFibGVkCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmUu
anMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmUu
anMKaW5kZXggY2I4ODYzNzIwM2IuLjk0MDcxOWYxZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmUuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lLmpzCkBAIC0xNDAs
MTUgKzE0MCwyMiBAQCBXSS5UaW1lbGluZSA9IGNsYXNzIFRpbWVsaW5lIGV4dGVuZHMgV0kuT2Jq
ZWN0CiAKICAgICBfdXBkYXRlVGltZXNJZk5lZWRlZChyZWNvcmQpCiAgICAgewotICAgICAgICB2
YXIgY2hhbmdlZCA9IGZhbHNlOworICAgICAgICBsZXQgY2hhbmdlZCA9IGZhbHNlOwogCi0gICAg
ICAgIGlmIChpc05hTih0aGlzLl9zdGFydFRpbWUpIHx8IHJlY29yZC5zdGFydFRpbWUgPCB0aGlz
Ll9zdGFydFRpbWUpIHsKLSAgICAgICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHJlY29yZC5zdGFy
dFRpbWU7CisgICAgICAgIC8vIFNvbWUgcmVjb3JkcyBhZGp1c3QgdGhlaXIgc3RhcnQgdGltZSAv
IGVuZCB0aW1lIHRvIHZhbHVlcyB0aGF0IG1heSBiZSBiZWZvcmUKKyAgICAgICAgLy8gb3IgYWZ0
ZXIgdGhlIGJvdW5kcyB0aGUgcmVjb3JkaW5nIGFjdHVhbGx5IHJhbi4gVXNlIHRoZSB1bmFkanVz
dGVkIHRpbWVzIGZvcgorICAgICAgICAvLyB0aGUgVGltZWxpbmUncyBib3VuZHMuIE90aGVyd2lz
ZSB3ZSBtYXkgZXh0ZW5kIHRoZSB0aW1lbGluZSBncmFwaHMgdG8gYSB0aW1lCisgICAgICAgIC8v
IHRoYXQgd2FzIGNvbmNlcHR1YWxseSBiZWZvcmUgLyBhZnRlciB0aGUgdXNlciBzdGFydGVkIC8g
c3RvcHBpbmcgcmVjb3JkaW5nLgorICAgICAgICBsZXQgcmVjb3JkU3RhcnRUaW1lID0gcmVjb3Jk
LnVuYWRqdXN0ZWRTdGFydFRpbWU7CisgICAgICAgIGxldCByZWNvcmRFbmRUaW1lID0gcmVjb3Jk
LnVuYWRqdXN0ZWRFbmRUaW1lOworCisgICAgICAgIGlmIChpc05hTih0aGlzLl9zdGFydFRpbWUp
IHx8IHJlY29yZFN0YXJ0VGltZSA8IHRoaXMuX3N0YXJ0VGltZSkgeworICAgICAgICAgICAgdGhp
cy5fc3RhcnRUaW1lID0gcmVjb3JkU3RhcnRUaW1lOwogICAgICAgICAgICAgY2hhbmdlZCA9IHRy
dWU7CiAgICAgICAgIH0KIAotICAgICAgICBpZiAoaXNOYU4odGhpcy5fZW5kVGltZSkgfHwgdGhp
cy5fZW5kVGltZSA8IHJlY29yZC5lbmRUaW1lKSB7Ci0gICAgICAgICAgICB0aGlzLl9lbmRUaW1l
ID0gcmVjb3JkLmVuZFRpbWU7CisgICAgICAgIGlmIChpc05hTih0aGlzLl9lbmRUaW1lKSB8fCB0
aGlzLl9lbmRUaW1lIDwgcmVjb3JkRW5kVGltZSkgeworICAgICAgICAgICAgdGhpcy5fZW5kVGlt
ZSA9IHJlY29yZEVuZFRpbWU7CiAgICAgICAgICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvVGltZWxpbmVSZWNvcmQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmQuanMKaW5kZXggYzIxZTNmYzBmODcuLjhhNTI4NDE2MWNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
VGltZWxpbmVSZWNvcmQuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL1RpbWVsaW5lUmVjb3JkLmpzCkBAIC0xMDUsNiArMTA1LDE2IEBAIFdJLlRpbWVs
aW5lUmVjb3JkID0gY2xhc3MgVGltZWxpbmVSZWNvcmQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAg
ICAgcmV0dXJuIHRoaXMuZW5kVGltZSAtIHRoaXMuc3RhcnRUaW1lOwogICAgIH0KIAorICAgIGdl
dCB1bmFkanVzdGVkU3RhcnRUaW1lKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLnRpbWVz
dGFtcCA/IHRoaXMudGltZXN0YW1wIDogdGhpcy5zdGFydFRpbWU7CisgICAgfQorCisgICAgZ2V0
IHVuYWRqdXN0ZWRFbmRUaW1lKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLnRpbWVzdGFt
cCA/IHRoaXMudGltZXN0YW1wIDogdGhpcy5lbmRUaW1lOworICAgIH0KKwogICAgIGdldCBpbmFj
dGl2ZUR1cmF0aW9uKCkKICAgICB7CiAgICAgICAgIC8vIFVzZSB0aGUgZ2V0dGVycyBpbnN0ZWFk
IG9mIHRoZSBwcm9wZXJ0aWVzIHNvIHRoaXMgd29ya3MgZm9yIHN1YmNsYXNzZXMgdGhhdCBvdmVy
cmlkZSB0aGUgZ2V0dGVycy4K
</data>
<flag name="review"
          id="394237"
          type_id="1"
          status="-"
          setter="hi"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>378620</attachid>
            <date>2019-09-11 22:19:20 -0700</date>
            <delta_ts>2019-09-11 23:54:56 -0700</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>cpu-3.patch</filename>
            <type>text/plain</type>
            <size>5434</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGJjMTM1MWI0OTQyLi41MTFhMzMwOGU4MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzIgQEAKKzIwMTktMDktMTEgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBSRUdSRVNTSU9OOiBJbnNwZWN0b3IgVGltZWxpbmUgYWx3YXlzIHN0YXJ0cyBhdCBhYm91dCA1
MDBtcyBtYXJrIG9uIGEgcmVsb2FkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDA2MzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzU0MjE4OTY3Pgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBUaW1l
bGluZSB3YXMgZ2V0dGluZyBhIHN0YXJ0VGltZSB2YWx1ZSBmcm9tIGJlZm9yZSB0aGUgdXNlciBz
dGFydGVkCisgICAgICAgIHRoZSB0aW1lbGluZSByZWNvcmRpbmcgYmVjYXVzZSBvZiBhcnRpZmlj
aWFsIGFkanVzdG1lbnRzIHRoYXQgd2VyZSBtYWRlCisgICAgICAgIHRvIENQVVRpbWVsaW5lUmVj
b3Jkcy4gSWdub3JlIGFkanVzdGVkIHZhbHVlcyB3aGVuIHVwZGF0aW5nIHRoZSBUaW1lbGluZSdz
CisgICAgICAgIHN0YXJ0IGFuZCBlbmQgdGltZXMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNl
L01vZGVscy9UaW1lbGluZS5qczoKKyAgICAgICAgKFdJLlRpbWVsaW5lLnByb3RvdHlwZS5fdXBk
YXRlVGltZXNJZk5lZWRlZCk6CisgICAgICAgIFVzZSB1bmFkanVzdGVkIHRpbWVzLCB3aGljaCBz
aG91bGQgZmFsbCBpbiB0aGUgdXNlciBzdGFydGVkIC8gc3RvcHBlZAorICAgICAgICB0aW1lbGlu
ZSByYW5nZS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lUmVjb3Jk
LmpzOgorICAgICAgICAoV0kuVGltZWxpbmVSZWNvcmQucHJvdG90eXBlLmdldCB1bmFkanVzdGVk
U3RhcnRUaW1lKToKKyAgICAgICAgKFdJLlRpbWVsaW5lUmVjb3JkLnByb3RvdHlwZS5nZXQgdW5h
ZGp1c3RlZEVuZFRpbWUpOgorICAgICAgICBEZWZhdWx0IGltcGxlbWVudGF0aW9uIHVzZXMgc3Rh
cnRUaW1lL2VuZFRpbWUuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DUFVUaW1l
bGluZVJlY29yZC5qczoKKyAgICAgICAgKFdJLkNQVVRpbWVsaW5lUmVjb3JkLnByb3RvdHlwZS5n
ZXQgdW5hZGp1c3RlZFN0YXJ0VGltZSk6CisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMv
TWVtb3J5VGltZWxpbmVSZWNvcmQuanM6CisgICAgICAgIChXSS5NZW1vcnlUaW1lbGluZVJlY29y
ZC5wcm90b3R5cGUuZ2V0IHVuYWRqdXN0ZWRTdGFydFRpbWUpOgorICAgICAgICBFYWNoIG9mIHRo
ZXNlIGFkanVzdGVkIHRoZWlyIHN0YXJ0VGltZS4KKwogMjAxOS0wOS0xMSAgSm9zZXBoIFBlY29y
YXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJFR1JF
U1NJT046IENQVTogT3ZlcmxheSBNYXJrZXJzIGZvciBUaHJlYWQgdmlld3MgYXJlIG9mZiBieSA1
MDBtcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL0NQVVRpbWVsaW5lUmVjb3JkLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL0NQVVRpbWVsaW5lUmVjb3JkLmpzCmluZGV4IGMyNmJkY2UwYTA0Li5hMjE1
ZTRhMjc0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL0NQVVRpbWVsaW5lUmVjb3JkLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9DUFVUaW1lbGluZVJlY29yZC5qcwpAQCAtOTgsNiArOTgsOCBA
QCBXSS5DUFVUaW1lbGluZVJlY29yZCA9IGNsYXNzIENQVVRpbWVsaW5lUmVjb3JkIGV4dGVuZHMg
V0kuVGltZWxpbmVSZWNvcmQKICAgICBnZXQgdGltZXN0YW1wKCkgeyByZXR1cm4gdGhpcy5fdGlt
ZXN0YW1wOyB9CiAgICAgZ2V0IHVzYWdlKCkgeyByZXR1cm4gdGhpcy5fdXNhZ2U7IH0KIAorICAg
IGdldCB1bmFkanVzdGVkU3RhcnRUaW1lKCkgeyByZXR1cm4gdGhpcy5fdGltZXN0YW1wOyB9CisK
ICAgICBnZXQgbWFpblRocmVhZFVzYWdlKCkgeyByZXR1cm4gdGhpcy5fbWFpblRocmVhZFVzYWdl
OyB9CiAgICAgZ2V0IHdlYmtpdFRocmVhZFVzYWdlKCkgeyByZXR1cm4gdGhpcy5fd2Via2l0VGhy
ZWFkVXNhZ2U7IH0KICAgICBnZXQgd29ya2VyVGhyZWFkVXNhZ2UoKSB7IHJldHVybiB0aGlzLl93
b3JrZXJUaHJlYWRVc2FnZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL01lbW9yeVRpbWVsaW5lUmVjb3JkLmpzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL01lbW9yeVRpbWVsaW5lUmVjb3JkLmpzCmlu
ZGV4IGMyZDA5YTMzNWFhLi4xNzI0NDBlNDcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL01lbW9yeVRpbWVsaW5lUmVjb3JkLmpzCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9NZW1vcnlUaW1lbGlu
ZVJlY29yZC5qcwpAQCAtMTA5LDYgKzEwOSw4IEBAIFdJLk1lbW9yeVRpbWVsaW5lUmVjb3JkID0g
Y2xhc3MgTWVtb3J5VGltZWxpbmVSZWNvcmQgZXh0ZW5kcyBXSS5UaW1lbGluZVJlY29yZAogICAg
IGdldCBjYXRlZ29yaWVzKCkgeyByZXR1cm4gdGhpcy5fY2F0ZWdvcmllczsgfQogICAgIGdldCB0
b3RhbFNpemUoKSB7IHJldHVybiB0aGlzLl90b3RhbFNpemU7IH0KIAorICAgIGdldCB1bmFkanVz
dGVkU3RhcnRUaW1lKCkgeyByZXR1cm4gdGhpcy5fdGltZXN0YW1wOyB9CisKICAgICBhZGp1c3RT
dGFydFRpbWUoc3RhcnRUaW1lKQogICAgIHsKICAgICAgICAgY29uc29sZS5hc3NlcnQoc3RhcnRU
aW1lIDwgdGhpcy5fZW5kVGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmUuanMKaW5kZXggY2I4ODYzNzIwM2IuLjk0MDcx
OWYxZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9N
b2RlbHMvVGltZWxpbmUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZh
Y2UvTW9kZWxzL1RpbWVsaW5lLmpzCkBAIC0xNDAsMTUgKzE0MCwyMiBAQCBXSS5UaW1lbGluZSA9
IGNsYXNzIFRpbWVsaW5lIGV4dGVuZHMgV0kuT2JqZWN0CiAKICAgICBfdXBkYXRlVGltZXNJZk5l
ZWRlZChyZWNvcmQpCiAgICAgewotICAgICAgICB2YXIgY2hhbmdlZCA9IGZhbHNlOworICAgICAg
ICBsZXQgY2hhbmdlZCA9IGZhbHNlOwogCi0gICAgICAgIGlmIChpc05hTih0aGlzLl9zdGFydFRp
bWUpIHx8IHJlY29yZC5zdGFydFRpbWUgPCB0aGlzLl9zdGFydFRpbWUpIHsKLSAgICAgICAgICAg
IHRoaXMuX3N0YXJ0VGltZSA9IHJlY29yZC5zdGFydFRpbWU7CisgICAgICAgIC8vIFNvbWUgcmVj
b3JkcyBhZGp1c3QgdGhlaXIgc3RhcnQgdGltZSAvIGVuZCB0aW1lIHRvIHZhbHVlcyB0aGF0IG1h
eSBiZSBiZWZvcmUKKyAgICAgICAgLy8gb3IgYWZ0ZXIgdGhlIGJvdW5kcyB0aGUgcmVjb3JkaW5n
IGFjdHVhbGx5IHJhbi4gVXNlIHRoZSB1bmFkanVzdGVkIHRpbWVzIGZvcgorICAgICAgICAvLyB0
aGUgVGltZWxpbmUncyBib3VuZHMuIE90aGVyd2lzZSB3ZSBtYXkgZXh0ZW5kIHRoZSB0aW1lbGlu
ZSBncmFwaHMgdG8gYSB0aW1lCisgICAgICAgIC8vIHRoYXQgd2FzIGNvbmNlcHR1YWxseSBiZWZv
cmUgLyBhZnRlciB0aGUgdXNlciBzdGFydGVkIC8gc3RvcHBpbmcgcmVjb3JkaW5nLgorICAgICAg
ICBsZXQgcmVjb3JkU3RhcnRUaW1lID0gcmVjb3JkLnVuYWRqdXN0ZWRTdGFydFRpbWU7CisgICAg
ICAgIGxldCByZWNvcmRFbmRUaW1lID0gcmVjb3JkLnVuYWRqdXN0ZWRFbmRUaW1lOworCisgICAg
ICAgIGlmIChpc05hTih0aGlzLl9zdGFydFRpbWUpIHx8IHJlY29yZFN0YXJ0VGltZSA8IHRoaXMu
X3N0YXJ0VGltZSkgeworICAgICAgICAgICAgdGhpcy5fc3RhcnRUaW1lID0gcmVjb3JkU3RhcnRU
aW1lOwogICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAgICAgIH0KIAotICAgICAgICBp
ZiAoaXNOYU4odGhpcy5fZW5kVGltZSkgfHwgdGhpcy5fZW5kVGltZSA8IHJlY29yZC5lbmRUaW1l
KSB7Ci0gICAgICAgICAgICB0aGlzLl9lbmRUaW1lID0gcmVjb3JkLmVuZFRpbWU7CisgICAgICAg
IGlmIChpc05hTih0aGlzLl9lbmRUaW1lKSB8fCB0aGlzLl9lbmRUaW1lIDwgcmVjb3JkRW5kVGlt
ZSkgeworICAgICAgICAgICAgdGhpcy5fZW5kVGltZSA9IHJlY29yZEVuZFRpbWU7CiAgICAgICAg
ICAgICBjaGFuZ2VkID0gdHJ1ZTsKICAgICAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmQuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmQuanMK
aW5kZXggYzIxZTNmYzBmODcuLjFlMzg0YmY4NWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvVGltZWxpbmVSZWNvcmQuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1RpbWVsaW5lUmVjb3JkLmpz
CkBAIC0xMDUsNiArMTA1LDE4IEBAIFdJLlRpbWVsaW5lUmVjb3JkID0gY2xhc3MgVGltZWxpbmVS
ZWNvcmQgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgcmV0dXJuIHRoaXMuZW5kVGltZSAtIHRo
aXMuc3RhcnRUaW1lOwogICAgIH0KIAorICAgIGdldCB1bmFkanVzdGVkU3RhcnRUaW1lKCkKKyAg
ICB7CisgICAgICAgIC8vIE92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyBpZiBuZWVkZWQuCisgICAg
ICAgIHJldHVybiB0aGlzLnN0YXJ0VGltZTsKKyAgICB9CisKKyAgICBnZXQgdW5hZGp1c3RlZEVu
ZFRpbWUoKQorICAgIHsKKyAgICAgICAgLy8gT3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIGlmIG5l
ZWRlZC4KKyAgICAgICAgcmV0dXJuIHRoaXMuZW5kVGltZTsKKyAgICB9CisKICAgICBnZXQgaW5h
Y3RpdmVEdXJhdGlvbigpCiAgICAgewogICAgICAgICAvLyBVc2UgdGhlIGdldHRlcnMgaW5zdGVh
ZCBvZiB0aGUgcHJvcGVydGllcyBzbyB0aGlzIHdvcmtzIGZvciBzdWJjbGFzc2VzIHRoYXQgb3Zl
cnJpZGUgdGhlIGdldHRlcnMuCg==
</data>
<flag name="review"
          id="394243"
          type_id="1"
          status="+"
          setter="hi"
    />
          </attachment>
      

    </bug>

</bugzilla>