<?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>74573</bug_id>
          
          <creation_ts>2011-12-14 17:54:25 -0800</creation_ts>
          <short_desc>[chromium] DelayBasedTimeSource should not change its timebase on late ticks</short_desc>
          <delta_ts>2011-12-16 08:31:54 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nat Duca">nduca</reporter>
          <assigned_to name="Nat Duca">nduca</assigned_to>
          <cc>cc-bugs</cc>
    
    <cc>jamesr</cc>
    
    <cc>klobag</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>521534</commentid>
    <comment_count>0</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-14 17:54:25 -0800</bug_when>
    <thetext>[chromium] DelayBasedTimeSource should not change its timebase on late ticks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521538</commentid>
    <comment_count>1</comment_count>
      <attachid>119353</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-14 18:02:38 -0800</bug_when>
    <thetext>Created attachment 119353
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521562</commentid>
    <comment_count>2</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-14 18:29:04 -0800</bug_when>
    <thetext>Grace, we should cherry pick this when it lands or whenever you feel you want it. It dramatically improves smoothness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>521602</commentid>
    <comment_count>3</comment_count>
      <attachid>119353</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-14 20:14:39 -0800</bug_when>
    <thetext>Comment on attachment 119353
Patch

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

logic looks reasonable, math could be tighter. i think you want something like

if (newTickTarget &lt;= now)
  newTickTarget += ceil((now - newTickTarget)/m_intervalMs) * m_intervalMs;

although i haven&apos;t tested that.

R=me on idea

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:128
&gt;  // Here we realize we&apos;re more than a tick late. We adjust newTarget to be 16.667 from now, and post a task off that new
&gt;  // target.

i _think_ you should update this bit of the comment as well

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:143
&gt; +    while (newTickTarget &lt;= now)
&gt; +        newTickTarget = newTickTarget + m_intervalMs;

this should be a single multiplication instead of a loop

this might give us really short delays (like 2ms). should we have a floor here, below which we push out to the next estimated vsync?

&gt; Source/WebCore/platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:148
&gt; +    if (!delay) {
&gt; +        newTickTarget = newTickTarget + m_intervalMs;
&gt; +        delay = static_cast&lt;long long&gt;(newTickTarget - now);
&gt; +    }

i think you can get rid of this by being more careful with the math earlier</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522377</commentid>
    <comment_count>4</comment_count>
      <attachid>119353</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-15 17:20:28 -0800</bug_when>
    <thetext>Comment on attachment 119353
Patch

Incidentally, if I had cancellable tasks from trchen then I could post the task, then cancel it after running the tick to avoid pointless ticks. :&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522381</commentid>
    <comment_count>5</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-12-15 17:23:48 -0800</bug_when>
    <thetext>I think you&apos;re joking, but I don&apos;t see what improvement that would bring - the task would still fire and it&apos;d check a bit to see what to do (nothing). TANSTAAFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522448</commentid>
    <comment_count>6</comment_count>
      <attachid>119541</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-15 19:12:42 -0800</bug_when>
    <thetext>Created attachment 119541
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522597</commentid>
    <comment_count>7</comment_count>
      <attachid>119541</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-16 00:24:01 -0800</bug_when>
    <thetext>Comment on attachment 119541
Patch for landing

Rejecting attachment 119541 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/10902604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>522758</commentid>
    <comment_count>8</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-12-16 08:31:54 -0800</bug_when>
    <thetext>Committed r103070: &lt;http://trac.webkit.org/changeset/103070&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119353</attachid>
            <date>2011-12-14 18:02:38 -0800</date>
            <delta_ts>2011-12-15 19:12:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74573-20111214180237.patch</filename>
            <type>text/plain</type>
            <size>3524</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyODM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjMyYjFlZWE1ZGUzYTI1
N2RjODc5NWZkNWNiY2ViYzlmZmI2NTk5My4uNzMyYWYzNDZkMDNhNzEzODVkYmY5NDM0ZmQ1MDc5
MjZiZDgyYjI2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTE0ICBOYXQg
RHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIERlbGF5QmFz
ZWRUaW1lU291cmNlIHNob3VsZCBub3QgY2hhbmdlIGl0cyB0aW1lYmFzZSBvbiBsYXRlIHRpY2tz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3Mwor
ICAgICAgICAKKyAgICAgICAgVGhlIG9yaWdpbmFsIERlbGF5QmFzZWRUaW1lU291cmNlIHdhcyBk
ZXNpZ25lZCB0byBzaGlmdCBpdHMgdGltZWJhc2UKKyAgICAgICAgdG8gdGhlIHRpY2sgdGltZSB3
aGVuIGEgdGljayBjYW1lIGJhY2sgImxhdGUuIiBUaGUgcmF0aW9uYWxlIHdhcyB0aGF0IGl0IGlz
CisgICAgICAgIGJldHRlciB0byBqdXN0ICJzdGFydCBmcmVzaCIgYWZ0ZXIgYSBzdHV0dGVyLiBB
ZnRlciBwcm9maWxpbmcgdGhpcywKKyAgICAgICAgdGhpcyB0aW1lLXJlYmFzaW5nIGp1c3QgZGVz
dGFiaWxpemVzIGZyYW1lIHJhdGUgYW55dGltZSB0aGUgdGhyZWFkIGdldHMKKyAgICAgICAgbG9h
ZGVkLiAgVGhpcyBwYXRjaCBrZWVwcyB0aGUgdGltZWJhc2Ugc3RhdGlvbmFyeSwgbGVhZGluZyB0
byB2YXN0bHkKKyAgICAgICAgc21vb3RoZXIgZnJhbWVyYXRlcyB3aGVuIHRoZSBtZXNzYWdlIGxv
b3AgaXMgdW5kZXIgbG9hZC4KKworICAgICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3Vy
Y2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6dXBkYXRl
U3RhdGUpOgorCiAyMDExLTEyLTE0ICBBZHJpZW5uZSBXYWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+
CiAKICAgICAgICAgW2Nocm9taXVtXSBSZWZhY3RvciB0aWxlIGRyYXdpbmcgdG8gYmUgbW9yZSBk
YXRhLWRyaXZlbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcApp
bmRleCBkMTNmZDMzMzBmY2UwNWE0YWRiYjI1YTNlMjE0MjI2MjM1MzY5YmE3Li43OGFlYzk1OWVi
YmQ2YTYzNDRkMWQ0ZjQxMDdmMzQwZDg2ZGI4OWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0Rl
bGF5QmFzZWRUaW1lU291cmNlLmNwcApAQCAtMTIxLDggKzEyMSw4IEBAIGRvdWJsZSBDQ0RlbGF5
QmFzZWRUaW1lU291cmNlOjptb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygpIGNvbnN0CiAv
LyAgICAgIG5vdz0xOCAgIHRpY2tUYXJnZXQ9MTYuNjY3ICBuZXdUYXJnZXQ9MzMuMzMzICAgLS0+
IHRpY2soKSwgcG9zdERlbGF5ZWRUYXNrKGZsb29yKDMzLjMzMy0xOCkpIC0tPiBwb3N0RGVsYXll
ZFRhc2soMTUpCiAvLyBUaGlzIGJyaW5ncyB1cyBiYWNrIHRvIDE4KzE1ID0gMzMsIHdoaWNoIHdh
cyB3aGVyZSB3ZSB3b3VsZCBoYXZlIGJlZW4gaWYgdGhlIHRhc2sgaGFkbid0IGJlZW4gbGF0ZS4K
IC8vCi0vLyBGb3IgdGhlIHJlYWxseSBsYXRlIGRlbGF5LCB3ZSBmaXJlIGEgdGljayBpbW1lZGlh
dGVseSByZXNldCB0aGUgdGltZWJhc2UgZnJvbSB0aGUgY3VycmVudCB0aW0uIEUuZy46Ci0vLyAg
ICAgIG5vdz0zNyAgIHRpY2tUYXJnZXQ9MTYuNjY3ICBuZXdUYXJnZXQ9NTMuNjY2NyAgIC0tPiB0
aWNrKCksIHBvc3REZWxheWVkVGFzayhmbG9vcig1My42NjctMzcpKSAtLT4gcG9zdERlbGF5ZWRU
YXNrKDE2KQorLy8gRm9yIHRoZSByZWFsbHkgbGF0ZSBkZWxheSwgd2Ugd2UgbW92ZSB0byB0aGUg
bmV4dCBsb2dpY2FsIHRpY2suIFRoZSB0aW1lYmFzZSBpcyBub3QgcmVzZXQuCisvLyAgICAgIG5v
dz0zNyAgIHRpY2tUYXJnZXQ9MTYuNjY3ICBuZXdUYXJnZXQ9NTAuMDAwICAtLT4gdGljaygpLCBw
b3N0RGVsYXllZFRhc2soZmxvb3IoNTAuMDAwLTM3KSkgLS0+IHBvc3REZWxheWVkVGFzaygxMykK
IC8vCiAvLyBIZXJlIHdlIHJlYWxpemUgd2UncmUgbW9yZSB0aGFuIGEgdGljayBsYXRlLiBXZSBh
ZGp1c3QgbmV3VGFyZ2V0IHRvIGJlIDE2LjY2NyBmcm9tIG5vdywgYW5kIHBvc3QgYSB0YXNrIG9m
ZiB0aGF0IG5ldwogLy8gdGFyZ2V0LgpAQCAtMTM4LDE4ICsxMzgsMTggQEAgdm9pZCBDQ0RlbGF5
QmFzZWRUaW1lU291cmNlOjp1cGRhdGVTdGF0ZSgpCiAgICAgICAgIG1fc3RhdGUgPSBTVEFURV9B
Q1RJVkU7CiAgICAgfQogCi0gICAgY29uc3QgZG91YmxlIG1heExhdGVCZWZvcmVSZXNldHRpbmdU
aW1lYmFzZSA9IDUuMDsKLQotICAgIGRvdWJsZSBuZXdUaWNrVGFyZ2V0ID0gMDsKLSAgICBkb3Vi
bGUgYW1vdW50TGF0ZSA9IG5vdyAtIG1fdGlja1RhcmdldDsKLSAgICBpZiAoYW1vdW50TGF0ZSA8
PSBtYXhMYXRlQmVmb3JlUmVzZXR0aW5nVGltZWJhc2UpCi0gICAgICAgIG5ld1RpY2tUYXJnZXQg
PSBtX3RpY2tUYXJnZXQgKyBtX2ludGVydmFsTXM7Ci0gICAgZWxzZQotICAgICAgICBuZXdUaWNr
VGFyZ2V0ID0gbm93ICsgbV9pbnRlcnZhbE1zOworICAgIGRvdWJsZSBuZXdUaWNrVGFyZ2V0ID0g
bV90aWNrVGFyZ2V0OworICAgIHdoaWxlIChuZXdUaWNrVGFyZ2V0IDw9IG5vdykKKyAgICAgICAg
bmV3VGlja1RhcmdldCA9IG5ld1RpY2tUYXJnZXQgKyBtX2ludGVydmFsTXM7CisgICAgbG9uZyBs
b25nIGRlbGF5ID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihuZXdUaWNrVGFyZ2V0IC0gbm93KTsK
KyAgICBpZiAoIWRlbGF5KSB7CisgICAgICAgIG5ld1RpY2tUYXJnZXQgPSBuZXdUaWNrVGFyZ2V0
ICsgbV9pbnRlcnZhbE1zOworICAgICAgICBkZWxheSA9IHN0YXRpY19jYXN0PGxvbmcgbG9uZz4o
bmV3VGlja1RhcmdldCAtIG5vdyk7CisgICAgfQogCiAgICAgLy8gUG9zdCBhbm90aGVyIHRhc2sg
KmJlZm9yZSogdGhlIHRpY2sgYW5kIHVwZGF0ZSBzdGF0ZQogICAgIEFTU0VSVChuZXdUaWNrVGFy
Z2V0ID4gbm93KTsKLSAgICBwb3N0VGlja1Rhc2soc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihuZXdU
aWNrVGFyZ2V0IC0gbm93KSk7CisgICAgcG9zdFRpY2tUYXNrKGRlbGF5KTsKICAgICBtX3RpY2tU
YXJnZXQgPSBuZXdUaWNrVGFyZ2V0OwogCiAgICAgLy8gRmlyZSB0aGUgdGljawo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>119541</attachid>
            <date>2011-12-15 19:12:42 -0800</date>
            <delta_ts>2011-12-16 00:24:01 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-74573-20111215191241.patch</filename>
            <type>text/plain</type>
            <size>8262</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyOTUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWUxYjUyOTI1NzRkOWFm
YTU2MzcwNDg1MTU4YjM1NTIwOTViNTU0OS4uNjk0NjZiODRhY2ZjZjFjNWRiNmVlMzMyMWE4ZmVm
MWRkNjYxZDFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDExLTEyLTE0ICBOYXQg
RHVjYSAgPG5kdWNhQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIERlbGF5QmFz
ZWRUaW1lU291cmNlIHNob3VsZCBub3QgY2hhbmdlIGl0cyB0aW1lYmFzZSBvbiBsYXRlIHRpY2tz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3Mwor
CisgICAgICAgIFRoZSBvcmlnaW5hbCBEZWxheUJhc2VkVGltZVNvdXJjZSB3YXMgZGVzaWduZWQg
dG8gc2hpZnQgaXRzIHRpbWViYXNlCisgICAgICAgIHRvIHRoZSB0aWNrIHRpbWUgd2hlbiBhIHRp
Y2sgY2FtZSBiYWNrICJsYXRlLiIgVGhlIHJhdGlvbmFsZSB3YXMgdGhhdCBpdCBpcworICAgICAg
ICBiZXR0ZXIgdG8ganVzdCAic3RhcnQgZnJlc2giIGFmdGVyIGEgc3R1dHRlci4gQWZ0ZXIgcHJv
ZmlsaW5nIHRoaXMsCisgICAgICAgIHRoaXMgdGltZS1yZWJhc2luZyBqdXN0IGRlc3RhYmlsaXpl
cyBmcmFtZSByYXRlIGFueXRpbWUgdGhlIHRocmVhZCBnZXRzCisgICAgICAgIGxvYWRlZC4gIFRo
aXMgcGF0Y2gga2VlcHMgdGhlIHRpbWViYXNlIHN0YXRpb25hcnksIGxlYWRpbmcgdG8gdmFzdGx5
CisgICAgICAgIHNtb290aGVyIGZyYW1lcmF0ZXMgd2hlbiB0aGUgbWVzc2FnZSBsb29wIGlzIHVu
ZGVyIGxvYWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9jYy9DQ0RlbGF5QmFzZWRUaW1lU291cmNlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkNDRGVsYXlCYXNlZFRpbWVTb3VyY2U6OnVwZGF0ZVN0YXRlKToK
KwogMjAxMS0xMi0xNSAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgRml4ZWQgZXJyb3IgaW4gVGFyZ2V0LnByaS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL2NjL0NDRGVsYXlCYXNlZFRpbWVTb3VyY2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxheUJh
c2VkVGltZVNvdXJjZS5jcHAKaW5kZXggZDEzZmQzMzMwZmNlMDVhNGFkYmIyNWEzZTIxNDIyNjIz
NTM2OWJhNy4uMzU0NzcwNjVlMjY0MjhlNDE5MzAyZTk5MzVhZGY0YzhiNGQ5Njc1MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vY2MvQ0NEZWxh
eUJhc2VkVGltZVNvdXJjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vY2MvQ0NEZWxheUJhc2VkVGltZVNvdXJjZS5jcHAKQEAgLTI5LDYgKzI5LDcg
QEAKICNpbmNsdWRlICJjYy9DQ1RocmVhZC5oIgogI2luY2x1ZGUgImNjL0NDVGhyZWFkVGFzay5o
IgogI2luY2x1ZGUgPHd0Zi9DdXJyZW50VGltZS5oPgorI2luY2x1ZGUgPHd0Zi9NYXRoRXh0cmFz
Lmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTIxLDExICsxMjIsOCBAQCBkb3VibGUg
Q0NEZWxheUJhc2VkVGltZVNvdXJjZTo6bW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoKSBj
b25zdAogLy8gICAgICBub3c9MTggICB0aWNrVGFyZ2V0PTE2LjY2NyAgbmV3VGFyZ2V0PTMzLjMz
MyAgIC0tPiB0aWNrKCksIHBvc3REZWxheWVkVGFzayhmbG9vcigzMy4zMzMtMTgpKSAtLT4gcG9z
dERlbGF5ZWRUYXNrKDE1KQogLy8gVGhpcyBicmluZ3MgdXMgYmFjayB0byAxOCsxNSA9IDMzLCB3
aGljaCB3YXMgd2hlcmUgd2Ugd291bGQgaGF2ZSBiZWVuIGlmIHRoZSB0YXNrIGhhZG4ndCBiZWVu
IGxhdGUuCiAvLwotLy8gRm9yIHRoZSByZWFsbHkgbGF0ZSBkZWxheSwgd2UgZmlyZSBhIHRpY2sg
aW1tZWRpYXRlbHkgcmVzZXQgdGhlIHRpbWViYXNlIGZyb20gdGhlIGN1cnJlbnQgdGltLiBFLmcu
OgotLy8gICAgICBub3c9MzcgICB0aWNrVGFyZ2V0PTE2LjY2NyAgbmV3VGFyZ2V0PTUzLjY2Njcg
ICAtLT4gdGljaygpLCBwb3N0RGVsYXllZFRhc2soZmxvb3IoNTMuNjY3LTM3KSkgLS0+IHBvc3RE
ZWxheWVkVGFzaygxNikKLS8vCi0vLyBIZXJlIHdlIHJlYWxpemUgd2UncmUgbW9yZSB0aGFuIGEg
dGljayBsYXRlLiBXZSBhZGp1c3QgbmV3VGFyZ2V0IHRvIGJlIDE2LjY2NyBmcm9tIG5vdywgYW5k
IHBvc3QgYSB0YXNrIG9mZiB0aGF0IG5ldwotLy8gdGFyZ2V0LgorLy8gRm9yIHRoZSByZWFsbHkg
bGF0ZSBkZWxheSwgd2Ugd2UgbW92ZSB0byB0aGUgbmV4dCBsb2dpY2FsIHRpY2suIFRoZSB0aW1l
YmFzZSBpcyBub3QgcmVzZXQuCisvLyAgICAgIG5vdz0zNyAgIHRpY2tUYXJnZXQ9MTYuNjY3ICBu
ZXdUYXJnZXQ9NTAuMDAwICAtLT4gdGljaygpLCBwb3N0RGVsYXllZFRhc2soZmxvb3IoNTAuMDAw
LTM3KSkgLS0+IHBvc3REZWxheWVkVGFzaygxMykKIHZvaWQgQ0NEZWxheUJhc2VkVGltZVNvdXJj
ZTo6dXBkYXRlU3RhdGUoKQogewogICAgIGlmIChtX3N0YXRlID09IFNUQVRFX0lOQUNUSVZFKQpA
QCAtMTM4LDE4ICsxMzYsMTkgQEAgdm9pZCBDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjp1cGRhdGVT
dGF0ZSgpCiAgICAgICAgIG1fc3RhdGUgPSBTVEFURV9BQ1RJVkU7CiAgICAgfQogCi0gICAgY29u
c3QgZG91YmxlIG1heExhdGVCZWZvcmVSZXNldHRpbmdUaW1lYmFzZSA9IDUuMDsKKyAgICBpbnQg
bnVtSW50ZXJ2YWxzRWxhcHNlZCA9IHN0YXRpY19jYXN0PGludD4oZmxvb3IoKG5vdyAtIG1fdGlj
a1RhcmdldCkgLyBtX2ludGVydmFsTXMpKTsKKyAgICBkb3VibGUgbGFzdEVmZmVjdGl2ZVRpY2sg
PSBtX3RpY2tUYXJnZXQgKyBtX2ludGVydmFsTXMgKiBudW1JbnRlcnZhbHNFbGFwc2VkOworICAg
IGRvdWJsZSBuZXdUaWNrVGFyZ2V0ID0gbGFzdEVmZmVjdGl2ZVRpY2sgKyBtX2ludGVydmFsTXM7
CiAKLSAgICBkb3VibGUgbmV3VGlja1RhcmdldCA9IDA7Ci0gICAgZG91YmxlIGFtb3VudExhdGUg
PSBub3cgLSBtX3RpY2tUYXJnZXQ7Ci0gICAgaWYgKGFtb3VudExhdGUgPD0gbWF4TGF0ZUJlZm9y
ZVJlc2V0dGluZ1RpbWViYXNlKQotICAgICAgICBuZXdUaWNrVGFyZ2V0ID0gbV90aWNrVGFyZ2V0
ICsgbV9pbnRlcnZhbE1zOwotICAgIGVsc2UKLSAgICAgICAgbmV3VGlja1RhcmdldCA9IG5vdyAr
IG1faW50ZXJ2YWxNczsKKyAgICBsb25nIGxvbmcgZGVsYXkgPSBzdGF0aWNfY2FzdDxsb25nIGxv
bmc+KG5ld1RpY2tUYXJnZXQgLSBub3cpOworICAgIGlmICghZGVsYXkpIHsKKyAgICAgICAgbmV3
VGlja1RhcmdldCA9IG5ld1RpY2tUYXJnZXQgKyBtX2ludGVydmFsTXM7CisgICAgICAgIGRlbGF5
ID0gc3RhdGljX2Nhc3Q8bG9uZyBsb25nPihuZXdUaWNrVGFyZ2V0IC0gbm93KTsKKyAgICB9CiAK
ICAgICAvLyBQb3N0IGFub3RoZXIgdGFzayAqYmVmb3JlKiB0aGUgdGljayBhbmQgdXBkYXRlIHN0
YXRlCiAgICAgQVNTRVJUKG5ld1RpY2tUYXJnZXQgPiBub3cpOwotICAgIHBvc3RUaWNrVGFzayhz
dGF0aWNfY2FzdDxsb25nIGxvbmc+KG5ld1RpY2tUYXJnZXQgLSBub3cpKTsKKyAgICBwb3N0VGlj
a1Rhc2soZGVsYXkpOwogICAgIG1fdGlja1RhcmdldCA9IG5ld1RpY2tUYXJnZXQ7CiAKICAgICAv
LyBGaXJlIHRoZSB0aWNrCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3Rz
L0NDRGVsYXlCYXNlZFRpbWVTb3VyY2VUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NEZWxheUJhc2VkVGltZVNvdXJjZVRlc3QuY3BwCmluZGV4IGI0NTE1YzI4ZTU2OTBj
NjI2NGYzZmE2ZjliYzFlNGVkYmRjNTI5ZmUuLjA1YTc1M2JiOWNhZDNmY2IzMzIxMjBiYjg5MGYw
NDU2MjhlNGExMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvQ0NE
ZWxheUJhc2VkVGltZVNvdXJjZVRlc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
dGVzdHMvQ0NEZWxheUJhc2VkVGltZVNvdXJjZVRlc3QuY3BwCkBAIC05Miw2ICs5MiwxMTIgQEAg
VEVTVChDQ0RlbGF5QmFzZWRUaW1lU291cmNlLCBTdGFydFdoZW5SdW5uaW5nRG9lc250VGljaykK
ICAgICBFWFBFQ1RfRkFMU0UodGhyZWFkLmhhc1BlbmRpbmdUYXNrKCkpOwogfQogCisvLyBBdCA2
MEh6LCB3aGVuIHRoZSB0aWNrIHJldHVybnMgYXQgZXhhY3RseSB0aGUgcmVxdWVzdGVkIG5leHQg
dGltZSwgbWFrZSBzdXJlCisvLyBhIDE2bXMgbmV4dCBkZWxheSBpcyBwb3N0ZWQuCitURVNUKEND
RGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuRXhhY3RseU9uUmVxdWVzdGVk
VGltZSkKK3sKKyAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOworICAgIEZha2VDQ1RpbWVTb3VyY2VD
bGllbnQgY2xpZW50OworICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEwMDAuMCAvIDYwLjA7CisgICAg
UmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFz
ZWRUaW1lU291cmNlOjpjcmVhdGUoaW50ZXJ2YWwsICZ0aHJlYWQpOworICAgIHRpbWVyLT5zZXRD
bGllbnQoJmNsaWVudCk7CisgICAgdGltZXItPnNldEFjdGl2ZSh0cnVlKTsKKyAgICAvLyBSdW4g
dGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQgYWN0aXZhdGVzIHRoZSB0aW1lciBhbmQgcGlja3MgdXAg
YSB0aW1lYmFzZS4KKyAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKKworICAgIEVYUEVDVF9F
USgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNh
bGx5SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCk7CisgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNr
KCk7CisKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7Cit9CisKKy8v
IEF0IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBhdCBzbGlnaHRseSBhZnRlciB0aGUgcmVx
dWVzdGVkIG5leHQgdGltZSwgbWFrZSBzdXJlCisvLyBhIDE2bXMgbmV4dCBkZWxheSBpcyBwb3N0
ZWQuCitURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuU2xpZ2h0
bHlBZnRlclJlcXVlc3RlZFRpbWUpCit7CisgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKKyAgICBG
YWtlQ0NUaW1lU291cmNlQ2xpZW50IGNsaWVudDsKKyAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAw
LjAgLyA2MC4wOworICAgIFJlZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZXIg
PSBGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZTo6Y3JlYXRlKGludGVydmFsLCAmdGhyZWFkKTsK
KyAgICB0aW1lci0+c2V0Q2xpZW50KCZjbGllbnQpOworICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1
ZSk7CisgICAgLy8gUnVuIHRoZSBmaXJzdCB0YXNrLCBhcyB0aGF0IGFjdGl2YXRlcyB0aGUgdGlt
ZXIgYW5kIHBpY2tzIHVwIGEgdGltZWJhc2UuCisgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7
CisKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisKKyAgICB0aW1l
ci0+c2V0TW9ub3RvbmljYWxseUluY3JlYXNpbmdUaW1lTXMoaW50ZXJ2YWwgKyAwLjAwMDEpOwor
ICAgIHRocmVhZC5ydW5QZW5kaW5nVGFzaygpOworCisgICAgRVhQRUNUX0VRKDE2LCB0aHJlYWQu
cGVuZGluZ0RlbGF5KCkpOworfQorCisvLyBBdCA2MEh6LCB3aGVuIHRoZSB0aWNrIHJldHVybnMg
YXQgZXhhY3RseSAyKmludGVydmFsIGFmdGVyIHRoZSByZXF1ZXN0ZWQgbmV4dCB0aW1lLCBtYWtl
IHN1cmUKKy8vIGEgMTZtcyBuZXh0IGRlbGF5IGlzIHBvc3RlZC4KK1RFU1QoQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZSwgTmV4dERlbGF5U2FuZVdoZW5FeGFjdGx5VHdpY2VBZnRlclJlcXVlc3RlZFRp
bWUpCit7CisgICAgRmFrZUNDVGhyZWFkIHRocmVhZDsKKyAgICBGYWtlQ0NUaW1lU291cmNlQ2xp
ZW50IGNsaWVudDsKKyAgICBkb3VibGUgaW50ZXJ2YWwgPSAxMDAwLjAgLyA2MC4wOworICAgIFJl
ZlB0cjxGYWtlQ0NEZWxheUJhc2VkVGltZVNvdXJjZT4gdGltZXIgPSBGYWtlQ0NEZWxheUJhc2Vk
VGltZVNvdXJjZTo6Y3JlYXRlKGludGVydmFsLCAmdGhyZWFkKTsKKyAgICB0aW1lci0+c2V0Q2xp
ZW50KCZjbGllbnQpOworICAgIHRpbWVyLT5zZXRBY3RpdmUodHJ1ZSk7CisgICAgLy8gUnVuIHRo
ZSBmaXJzdCB0YXNrLCBhcyB0aGF0IGFjdGl2YXRlcyB0aGUgdGltZXIgYW5kIHBpY2tzIHVwIGEg
dGltZWJhc2UuCisgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNrKCk7CisKKyAgICBFWFBFQ1RfRVEo
MTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7CisKKyAgICB0aW1lci0+c2V0TW9ub3RvbmljYWxs
eUluY3JlYXNpbmdUaW1lTXMoMippbnRlcnZhbCk7CisgICAgdGhyZWFkLnJ1blBlbmRpbmdUYXNr
KCk7CisKKyAgICBFWFBFQ1RfRVEoMTYsIHRocmVhZC5wZW5kaW5nRGVsYXkoKSk7Cit9CisKKy8v
IEF0IDYwSHosIHdoZW4gdGhlIHRpY2sgcmV0dXJucyBhdCAyKmludGVydmFsIGFuZCBhIGJpdCBh
ZnRlciB0aGUgcmVxdWVzdGVkIG5leHQgdGltZSwgbWFrZSBzdXJlCisvLyBhIDE2bXMgbmV4dCBk
ZWxheSBpcyBwb3N0ZWQuCitURVNUKENDRGVsYXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNh
bmVXaGVuU2xpZ2h0bHlBZnRlclR3aWNlUmVxdWVzdGVkVGltZSkKK3sKKyAgICBGYWtlQ0NUaHJl
YWQgdGhyZWFkOworICAgIEZha2VDQ1RpbWVTb3VyY2VDbGllbnQgY2xpZW50OworICAgIGRvdWJs
ZSBpbnRlcnZhbCA9IDEwMDAuMCAvIDYwLjA7CisgICAgUmVmUHRyPEZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlOjpjcmVhdGUoaW50
ZXJ2YWwsICZ0aHJlYWQpOworICAgIHRpbWVyLT5zZXRDbGllbnQoJmNsaWVudCk7CisgICAgdGlt
ZXItPnNldEFjdGl2ZSh0cnVlKTsKKyAgICAvLyBSdW4gdGhlIGZpcnN0IHRhc2ssIGFzIHRoYXQg
YWN0aXZhdGVzIHRoZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0aW1lYmFzZS4KKyAgICB0aHJlYWQu
cnVuUGVuZGluZ1Rhc2soKTsKKworICAgIEVYUEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxh
eSgpKTsKKworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5SW5jcmVhc2luZ1RpbWVNcygyKmlu
dGVydmFsICsgMC4wMDAxKTsKKyAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKKworICAgIEVY
UEVDVF9FUSgxNiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKK30KKworLy8gQXQgNjBIeiwgd2hl
biB0aGUgdGljayByZXR1cm5zIGhhbGZ3YXkgdG8gdGhlIG5leHQgZnJhbWUgdGltZSwgbWFrZSBz
dXJlCisvLyBhIGNvcnJlY3QgbmV4dCBkZWxheSB2YWx1ZSBpcyBwb3N0ZWQuCitURVNUKENDRGVs
YXlCYXNlZFRpbWVTb3VyY2UsIE5leHREZWxheVNhbmVXaGVuSGFsZkFmdGVyUmVxdWVzdGVkVGlt
ZSkKK3sKKyAgICBGYWtlQ0NUaHJlYWQgdGhyZWFkOworICAgIEZha2VDQ1RpbWVTb3VyY2VDbGll
bnQgY2xpZW50OworICAgIGRvdWJsZSBpbnRlcnZhbCA9IDEwMDAuMCAvIDYwLjA7CisgICAgUmVm
UHRyPEZha2VDQ0RlbGF5QmFzZWRUaW1lU291cmNlPiB0aW1lciA9IEZha2VDQ0RlbGF5QmFzZWRU
aW1lU291cmNlOjpjcmVhdGUoaW50ZXJ2YWwsICZ0aHJlYWQpOworICAgIHRpbWVyLT5zZXRDbGll
bnQoJmNsaWVudCk7CisgICAgdGltZXItPnNldEFjdGl2ZSh0cnVlKTsKKyAgICAvLyBSdW4gdGhl
IGZpcnN0IHRhc2ssIGFzIHRoYXQgYWN0aXZhdGVzIHRoZSB0aW1lciBhbmQgcGlja3MgdXAgYSB0
aW1lYmFzZS4KKyAgICB0aHJlYWQucnVuUGVuZGluZ1Rhc2soKTsKKworICAgIEVYUEVDVF9FUSgx
NiwgdGhyZWFkLnBlbmRpbmdEZWxheSgpKTsKKworICAgIHRpbWVyLT5zZXRNb25vdG9uaWNhbGx5
SW5jcmVhc2luZ1RpbWVNcyhpbnRlcnZhbCArIGludGVydmFsICogMC41KTsKKyAgICB0aHJlYWQu
cnVuUGVuZGluZ1Rhc2soKTsKKworICAgIEVYUEVDVF9FUSg4LCB0aHJlYWQucGVuZGluZ0RlbGF5
KCkpOworfQorCisKIFRFU1QoQ0NEZWxheUJhc2VkVGltZVNvdXJjZVRlc3QsIEFjaGlldmVzVGFy
Z2V0UmF0ZVdpdGhOb05vaXNlKQogewogICAgIGludCBudW1JdGVyYXRpb25zID0gMTAwMDsK
</data>
<flag name="commit-queue"
          id="119594"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>