<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[201503] trunk/Source/WebInspectorUI</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/201503">201503</a></dd>
<dt>Author</dt> <dd>bburg@apple.com</dd>
<dt>Date</dt> <dd>2016-05-30 20:25:40 -0700 (Mon, 30 May 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Web Inspector: Timelines: "-0.000ms" in Self Time
https://bugs.webkit.org/show_bug.cgi?id=158162
<rdar://problem/26523350>
Reviewed by Darin Adler.
Values such as -0.0000 and +0.00001 seem to indicate there is
some floating point error accumulating in profile node data.
Since the sampling profiler isn't accurate to that precision,
let's clean up the data so near-zero numbers are simply zero.
* UserInterface/Models/ProfileNode.js:
Round selfTime down to zero if it's less than the
smallest value we would show in the user interface.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebInspectorUIChangeLog">trunk/Source/WebInspectorUI/ChangeLog</a></li>
<li><a href="#trunkSourceWebInspectorUIUserInterfaceModelsProfileNodejs">trunk/Source/WebInspectorUI/UserInterface/Models/ProfileNode.js</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebInspectorUIChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/ChangeLog (201502 => 201503)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/ChangeLog        2016-05-30 20:26:25 UTC (rev 201502)
+++ trunk/Source/WebInspectorUI/ChangeLog        2016-05-31 03:25:40 UTC (rev 201503)
</span><span class="lines">@@ -1,5 +1,22 @@
</span><span class="cx"> 2016-05-30 Brian Burg <bburg@apple.com>
</span><span class="cx">
</span><ins>+ Web Inspector: Timelines: "-0.000ms" in Self Time
+ https://bugs.webkit.org/show_bug.cgi?id=158162
+ <rdar://problem/26523350>
+
+ Reviewed by Darin Adler.
+
+ Values such as -0.0000 and +0.00001 seem to indicate there is
+ some floating point error accumulating in profile node data.
+ Since the sampling profiler isn't accurate to that precision,
+ let's clean up the data so near-zero numbers are simply zero.
+
+ * UserInterface/Models/ProfileNode.js:
+ Round selfTime down to zero if it's less than the
+ smallest value we would show in the user interface.
+
+2016-05-30 Brian Burg <bburg@apple.com>
+
</ins><span class="cx"> Web Inspector: Uncaught exception page should pre-populate the bug's URL with the inspected page URL
</span><span class="cx"> https://bugs.webkit.org/show_bug.cgi?id=158055
</span><span class="cx"> <rdar://problem/26516693>
</span></span></pre></div>
<a id="trunkSourceWebInspectorUIUserInterfaceModelsProfileNodejs"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebInspectorUI/UserInterface/Models/ProfileNode.js (201502 => 201503)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebInspectorUI/UserInterface/Models/ProfileNode.js        2016-05-30 20:26:25 UTC (rev 201502)
+++ trunk/Source/WebInspectorUI/UserInterface/Models/ProfileNode.js        2016-05-31 03:25:40 UTC (rev 201503)
</span><span class="lines">@@ -158,6 +158,10 @@
</span><span class="cx"> for (var childNode of this._childNodes)
</span><span class="cx"> childNodesTotalTime += childNode.totalTime;
</span><span class="cx"> this._selfTime = this._totalTime - childNodesTotalTime;
</span><ins>+ // selfTime can negative or very close to zero due to floating point error.
+ // Since we show at most four decimal places, treat anything less as zero.
+ if (this._selfTime < 0.0001)
+ this._selfTime = 0.0;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> return {
</span></span></pre>
</div>
</div>
</body>
</html>