<!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>[187871] trunk/Tools</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/187871">187871</a></dd>
<dt>Author</dt> <dd>commit-queue@webkit.org</dd>
<dt>Date</dt> <dd>2015-08-04 11:48:32 -0700 (Tue, 04 Aug 2015)</dd>
</dl>
<h3>Log Message</h3>
<pre>Refactor to convert openSourceRevision and internalRevision properties on BuildbotIteration into a more generic collection of revisions.
https://bugs.webkit.org/show_bug.cgi?id=147280
Patch by Jason Marcell <jmarcell@apple.com> on 2015-08-04
Reviewed by Daniel Bates.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration): Removed opensourceRevision, internalRevision. Added revision.
Refactored _parseData to handle repositories more generically.
(parseRevisionProperty): Moved a comment up to parseRevisionProperty where it seems more relevant.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue.prototype.compareIterations): Using "revision" property instead of
"opensourceRevision" and "internalRevision".
(BuildbotQueue.prototype.compareIterationsByRevisions): Ditto.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
(BuildbotQueueView.prototype._appendPendingRevisionCount): Ditto.
(BuildbotQueueView.prototype._presentPopoverForPendingCommits): Ditto.
(BuildbotQueueView.prototype._revisionContentWithPopoverForIteration): Changing "internal" boolean
parameter to more generic "repository" string parameter. Added "trac" parameter in order to
specify the trac instance to use. Using "revision" property instead of "opensourceRevision"
and "internalRevision".
(BuildbotQueueView.prototype.revisionContentForIteration): Passing the repository name and trac
instance to _revisionContentWithPopoverForIteration(). Using "revision" property instead of
"opensourceRevision" and "internalRevision".
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Adding
constants for internal and opensource repositories.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
(Analyzer.prototype._findIndexOfLargestIterationAtOrBeforeStart): Using "revision" property
instead of "opensourceRevision" and "internalRevision".
(Analyzer.prototype._countPercentageOfGreen): Ditto.
(Analyzer.prototype.webkitTrac.recordedCommits.forEach): Ditto.
(Analyzer.prototype._countTimes): Ditto.
* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot.prototype.layoutTestResultsDirectoryURLForIteration): Ditto.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsBuildbotIterationjs">trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js</a></li>
<li><a href="#trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsBuildbotQueuejs">trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js</a></li>
<li><a href="#trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsBuildbotQueueViewjs">trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js</a></li>
<li><a href="#trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsDashboardjs">trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js</a></li>
<li><a href="#trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsMetricsAnalyzerjs">trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js</a></li>
<li><a href="#trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsWebKitBuildbotjs">trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js</a></li>
<li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsBuildbotIterationjs"></a>
<div class="modfile"><h4>Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js (187870 => 187871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js        2015-08-04 18:43:35 UTC (rev 187870)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js        2015-08-04 18:48:32 UTC (rev 187871)
</span><span class="lines">@@ -43,8 +43,7 @@
</span><span class="cx"> this.isLoading = false;
</span><span class="cx"> this._productive = false;
</span><span class="cx">
</span><del>- this.openSourceRevision = null;
- this.internalRevision = null;
</del><ins>+ this.revision = {};
</ins><span class="cx">
</span><span class="cx"> this.layoutTestResults = null; // Layout test results can be needed even if all tests passed, e.g. for the leaks bot.
</span><span class="cx">
</span><span class="lines">@@ -102,6 +101,12 @@
</span><span class="cx"> if (!property)
</span><span class="cx"> return null;
</span><span class="cx"> var value = property[1];
</span><ins>+
+ // The property got_revision may have the following forms:
+ //
+ // ["got_revision",{"Internal":"1357","WebKitOpenSource":"2468"},"Source"]
+ // OR
+ // ["got_revision","2468","Source"]
</ins><span class="cx"> if (isMultiCodebaseGotRevisionProperty(property))
</span><span class="cx"> value = (key in value) ? value[key] : value[fallbackKey];
</span><span class="cx"> return parseInt(value);
</span><span class="lines">@@ -188,24 +193,25 @@
</span><span class="cx"> console.assert(!this.id || this.id === data.number);
</span><span class="cx"> this.id = data.number;
</span><span class="cx">
</span><del>- // The property got_revision may have the following forms:
- //
- // ["got_revision",{"Internal":"1357","WebKitOpenSource":"2468"},"Source"]
- // OR
- // ["got_revision","2468","Source"]
- //
- // When extracting the OpenSource revision from property got_revision we don't need to check whether the
- // value of got_revision is a dictionary (represents multiple codebases) or a string literal because we
- // assume that got_revision contains the OpenSource revision. However, it may not have the Internal
- // revision. Therefore, we only look at got_revision to extract the Internal revision when it's
- // a dictionary.
</del><ins>+ var revisionProperty = data.properties.findFirst(function(property) {
+ return property[0] === "got_revision";
+ });
+ for (repository in this.queue.branch) {
+ var key;
+ var fallbackKey;
+ if (repository === Dashboard.Repository.OpenSource.name) {
+ key = "WebKit";
+ fallbackKey = "opensource";
+ } else if (repository === Dashboard.Repository.Internal.name) {
+ key = "Internal";
+ fallbackKey = "internal";
+ } else {
+ key = repository;
+ fallbackKey = null;
+ }
+ this.revision[repository] = parseRevisionProperty(revisionProperty, key, fallbackKey);
+ }
</ins><span class="cx">
</span><del>- var openSourceRevisionProperty = data.properties.findFirst(function(property) { return property[0] === "got_revision"; });
- this.openSourceRevision = parseRevisionProperty(openSourceRevisionProperty, "WebKit", "opensource");
-
- var internalRevisionProperty = data.properties.findFirst(function(property) { return isMultiCodebaseGotRevisionProperty(property); });
- this.internalRevision = parseRevisionProperty(internalRevisionProperty, "Internal", "internal");
-
</del><span class="cx"> function sourceStampChanges(sourceStamp) {
</span><span class="cx"> var result = [];
</span><span class="cx"> var changes = sourceStamp.changes;
</span></span></pre></div>
<a id="trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsBuildbotQueuejs"></a>
<div class="modfile"><h4>Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js (187870 => 187871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js        2015-08-04 18:43:35 UTC (rev 187870)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js        2015-08-04 18:48:32 UTC (rev 187871)
</span><span class="lines">@@ -268,11 +268,11 @@
</span><span class="cx">
</span><span class="cx"> compareIterations: function(a, b)
</span><span class="cx"> {
</span><del>- var result = b.openSourceRevision - a.openSourceRevision;
</del><ins>+ var result = b.revision[Dashboard.Repository.OpenSource.name] - a.revision[Dashboard.Repository.OpenSource.name];
</ins><span class="cx"> if (result)
</span><span class="cx"> return result;
</span><span class="cx">
</span><del>- result = b.internalRevision - a.internalRevision;
</del><ins>+ result = b.revision[Dashboard.Repository.Internal.name] - a.revision[Dashboard.Repository.Internal.name];
</ins><span class="cx"> if (result)
</span><span class="cx"> return result;
</span><span class="cx">
</span><span class="lines">@@ -286,11 +286,11 @@
</span><span class="cx">
</span><span class="cx"> compareIterationsByRevisions: function(a, b)
</span><span class="cx"> {
</span><del>- var result = b.openSourceRevision - a.openSourceRevision;
</del><ins>+ var result = b.revision[Dashboard.Repository.OpenSource.name] - a.revision[Dashboard.Repository.OpenSource.name];
</ins><span class="cx"> if (result)
</span><span class="cx"> return result;
</span><span class="cx">
</span><del>- result = b.internalRevision - a.internalRevision;
</del><ins>+ result = b.revision[Dashboard.Repository.Internal.name] - a.revision[Dashboard.Repository.Internal.name];
</ins><span class="cx"> if (result)
</span><span class="cx"> return result;
</span><span class="cx">
</span></span></pre></div>
<a id="trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsBuildbotQueueViewjs"></a>
<div class="modfile"><h4>Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js (187870 => 187871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js        2015-08-04 18:43:35 UTC (rev 187870)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js        2015-08-04 18:48:32 UTC (rev 187871)
</span><span class="lines">@@ -77,23 +77,23 @@
</span><span class="cx"> return;
</span><span class="cx">
</span><span class="cx"> var latestRecordedOpenSourceRevisionNumber = webkitTrac.latestRecordedRevisionNumber;
</span><del>- if (!latestRecordedOpenSourceRevisionNumber || webkitTrac.oldestRecordedRevisionNumber > latestProductiveIteration.openSourceRevision) {
</del><ins>+ if (!latestRecordedOpenSourceRevisionNumber || webkitTrac.oldestRecordedRevisionNumber > latestProductiveIteration.revision[Dashboard.Repository.OpenSource.name]) {
</ins><span class="cx"> webkitTrac.loadMoreHistoricalData();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> // FIXME: To be 100% correct, we should also filter out changes that are ignored by
</span><span class="cx"> // the queue, see _should_file_trigger_build in wkbuild.py.
</span><del>- var totalRevisionsBehind = webkitTrac.commitsOnBranch(queue.branch.openSource, function(commit) { return commit.revisionNumber > latestProductiveIteration.openSourceRevision; }).length;
</del><ins>+ var totalRevisionsBehind = webkitTrac.commitsOnBranch(queue.branch.openSource, function(commit) { return commit.revisionNumber > latestProductiveIteration.revision[Dashboard.Repository.OpenSource.name]; }).length;
</ins><span class="cx">
</span><del>- if (latestProductiveIteration.internalRevision) {
</del><ins>+ if (latestProductiveIteration.revision[Dashboard.Repository.Internal.name]) {
</ins><span class="cx"> var latestRecordedInternalRevisionNumber = internalTrac.latestRecordedRevisionNumber;
</span><del>- if (!latestRecordedInternalRevisionNumber || internalTrac.oldestRecordedRevisionNumber > latestProductiveIteration.internalRevision) {
</del><ins>+ if (!latestRecordedInternalRevisionNumber || internalTrac.oldestRecordedRevisionNumber > latestProductiveIteration.revision[Dashboard.Repository.Internal.name]) {
</ins><span class="cx"> internalTrac.loadMoreHistoricalData();
</span><span class="cx"> return;
</span><span class="cx"> }
</span><span class="cx">
</span><del>- totalRevisionsBehind += internalTrac.commitsOnBranch(queue.branch.internal, function(commit) { return commit.revisionNumber > latestProductiveIteration.internalRevision; }).length;
</del><ins>+ totalRevisionsBehind += internalTrac.commitsOnBranch(queue.branch.internal, function(commit) { return commit.revisionNumber > latestProductiveIteration.revision[Dashboard.Repository.Internal.name]; }).length;
</ins><span class="cx"> }
</span><span class="cx">
</span><span class="cx"> if (!totalRevisionsBehind)
</span><span class="lines">@@ -153,13 +153,13 @@
</span><span class="cx"> var content = document.createElement("div");
</span><span class="cx"> content.className = "commit-history-popover";
</span><span class="cx">
</span><del>- var linesForOpenSource = this._popoverLinesForCommitRange(webkitTrac, queue.branch.openSource, latestProductiveIteration.openSourceRevision + 1, webkitTrac.latestRecordedRevisionNumber);
</del><ins>+ var linesForOpenSource = this._popoverLinesForCommitRange(webkitTrac, queue.branch.openSource, latestProductiveIteration.revision[Dashboard.Repository.OpenSource.name] + 1, webkitTrac.latestRecordedRevisionNumber);
</ins><span class="cx"> for (var i = 0; i != linesForOpenSource.length; ++i)
</span><span class="cx"> content.appendChild(linesForOpenSource[i]);
</span><span class="cx">
</span><span class="cx"> var linesForInternal = [];
</span><del>- if (latestProductiveIteration.internalRevision && internalTrac.latestRecordedRevisionNumber)
- var linesForInternal = this._popoverLinesForCommitRange(internalTrac, queue.branch.internal, latestProductiveIteration.internalRevision + 1, internalTrac.latestRecordedRevisionNumber);
</del><ins>+ if (latestProductiveIteration.revision[Dashboard.Repository.Internal.name] && internalTrac.latestRecordedRevisionNumber)
+ var linesForInternal = this._popoverLinesForCommitRange(internalTrac, queue.branch.internal, latestProductiveIteration.revision[Dashboard.Repository.Internal.name] + 1, internalTrac.latestRecordedRevisionNumber);
</ins><span class="cx">
</span><span class="cx"> if (linesForOpenSource.length && linesForInternal.length)
</span><span class="cx"> this._addDividerToPopover(content);
</span><span class="lines">@@ -204,18 +204,18 @@
</span><span class="cx"> return true;
</span><span class="cx"> },
</span><span class="cx">
</span><del>- _revisionContentWithPopoverForIteration: function(iteration, previousIteration, internal)
</del><ins>+ _revisionContentWithPopoverForIteration: function(iteration, previousIteration, repository, trac)
</ins><span class="cx"> {
</span><span class="cx"> var content = document.createElement("span");
</span><del>- content.textContent = "r" + (internal ? iteration.internalRevision : iteration.openSourceRevision);
</del><ins>+ content.textContent = "r" + iteration.revision[repository];
</ins><span class="cx"> content.classList.add("revision-number");
</span><span class="cx">
</span><span class="cx"> if (previousIteration) {
</span><span class="cx"> var context = {
</span><del>- trac: internal ? internalTrac : webkitTrac,
- branch: internal ? iteration.queue.branch.internal : iteration.queue.branch.openSource,
- firstRevision: (internal ? previousIteration.internalRevision : previousIteration.openSourceRevision) + 1,
- lastRevision: internal ? iteration.internalRevision : iteration.openSourceRevision
</del><ins>+ trac: trac,
+ branch: iteration.queue.branch[repository],
+ firstRevision: previousIteration.revision[repository] + 1,
+ lastRevision: iteration.revision[repository]
</ins><span class="cx"> };
</span><span class="cx"> if (context.firstRevision <= context.lastRevision)
</span><span class="cx"> new PopoverTracker(content, this._presentPopoverForRevisionRange.bind(this), context);
</span><span class="lines">@@ -260,14 +260,14 @@
</span><span class="cx">
</span><span class="cx"> revisionContentForIteration: function(iteration, previousDisplayedIteration)
</span><span class="cx"> {
</span><del>- console.assert(iteration.openSourceRevision);
</del><ins>+ console.assert(iteration.revision[Dashboard.Repository.OpenSource.name]);
</ins><span class="cx">
</span><del>- var openSourceContent = this._revisionContentWithPopoverForIteration(iteration, previousDisplayedIteration);
</del><ins>+ var openSourceContent = this._revisionContentWithPopoverForIteration(iteration, previousDisplayedIteration, Dashboard.Repository.OpenSource.name, webkitTrac);
</ins><span class="cx">
</span><del>- if (!iteration.internalRevision)
</del><ins>+ if (!iteration.revision[Dashboard.Repository.Internal.name])
</ins><span class="cx"> return openSourceContent;
</span><span class="cx">
</span><del>- var internalContent = this._revisionContentWithPopoverForIteration(iteration, previousDisplayedIteration, true);
</del><ins>+ var internalContent = this._revisionContentWithPopoverForIteration(iteration, previousDisplayedIteration, Dashboard.Repository.Internal.name, internalTrac);
</ins><span class="cx">
</span><span class="cx"> var fragment = document.createDocumentFragment();
</span><span class="cx"> fragment.appendChild(openSourceContent);
</span></span></pre></div>
<a id="trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsDashboardjs"></a>
<div class="modfile"><h4>Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js (187870 => 187871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js        2015-08-04 18:43:35 UTC (rev 187870)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js        2015-08-04 18:48:32 UTC (rev 187871)
</span><span class="lines">@@ -35,5 +35,9 @@
</span><span class="cx"> LinuxGTK: { name : "linux-gtk", readableName: "Linux GTK", order: 90 },
</span><span class="cx"> LinuxEFL: { name: "linux-efl", readableName: "Linux EFL", order : 100 }
</span><span class="cx"> },
</span><del>- Branch: {}
</del><ins>+ Branch: {},
+ Repository: {
+ OpenSource: { name: "openSource", order: 0 },
+ Internal: { name: "internal", order: 1 },
+ }
</ins><span class="cx"> };
</span></span></pre></div>
<a id="trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsMetricsAnalyzerjs"></a>
<div class="modfile"><h4>Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js (187870 => 187871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js        2015-08-04 18:43:35 UTC (rev 187870)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js        2015-08-04 18:48:32 UTC (rev 187871)
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> if (i < iterations.length)
</span><span class="cx"> result = i++;
</span><span class="cx"> while (i < iterations.length) {
</span><del>- if (iterations[i].openSourceRevision > iterations[result].openSourceRevision)
</del><ins>+ if (iterations[i].revision[Dashboard.Repository.OpenSource.name] > iterations[result].revision[Dashboard.Repository.OpenSource.name])
</ins><span class="cx"> result = i;
</span><span class="cx"> ++i;
</span><span class="cx"> }
</span><span class="lines">@@ -213,7 +213,7 @@
</span><span class="cx"> this._updateStretchOfRedCounters(topIterationByQueue, currentTime, stretchOfRedCounters);
</span><span class="cx"> continue;
</span><span class="cx"> }
</span><del>- if (iterations[i].openSourceRevision <= topIterationByQueue[iterations[i].queue.id].openSourceRevision)
</del><ins>+ if (iterations[i].revision[Dashboard.Repository.OpenSource.name] <= topIterationByQueue[iterations[i].queue.id].revision[Dashboard.Repository.OpenSource.name])
</ins><span class="cx"> continue;
</span><span class="cx">
</span><span class="cx"> var dashboardWasAllGreen = this._dashboardIsAllGreen(topIterationByQueue);
</span><span class="lines">@@ -275,7 +275,7 @@
</span><span class="cx"> return;
</span><span class="cx"> for (var i = 0; i < relevantIterationsByQueue[queue.id].length; ++i) {
</span><span class="cx"> var iteration = relevantIterationsByQueue[queue.id][i];
</span><del>- if (iteration.openSourceRevision >= revision.revisionNumber) {
</del><ins>+ if (iteration.revision[Dashboard.Repository.OpenSource.name] >= revision.revisionNumber) {
</ins><span class="cx"> endTime = Math.max(endTime, iteration.endTime);
</span><span class="cx"> ownTime = Math.max(ownTime, iteration.endTime - iteration.startTime);
</span><span class="cx"> break;
</span></span></pre></div>
<a id="trunkToolsBuildSlaveSupportbuildwebkitorgconfigpublic_htmldashboardScriptsWebKitBuildbotjs"></a>
<div class="modfile"><h4>Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js (187870 => 187871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js        2015-08-04 18:43:35 UTC (rev 187870)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js        2015-08-04 18:48:32 UTC (rev 187871)
</span><span class="lines">@@ -82,6 +82,6 @@
</span><span class="cx">
</span><span class="cx"> layoutTestResultsDirectoryURLForIteration: function(iteration)
</span><span class="cx"> {
</span><del>- return this.baseURL + "results/" + encodeURIComponent(iteration.queue.id) + "/" + encodeURIComponent("r" + iteration.openSourceRevision + " (" + iteration.id + ")");
</del><ins>+ return this.baseURL + "results/" + encodeURIComponent(iteration.queue.id) + "/" + encodeURIComponent("r" + iteration.revision[Dashboard.Repository.OpenSource.name] + " (" + iteration.id + ")");
</ins><span class="cx"> }
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (187870 => 187871)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog        2015-08-04 18:43:35 UTC (rev 187870)
+++ trunk/Tools/ChangeLog        2015-08-04 18:48:32 UTC (rev 187871)
</span><span class="lines">@@ -1,3 +1,39 @@
</span><ins>+2015-08-04 Jason Marcell <jmarcell@apple.com>
+
+ Refactor to convert openSourceRevision and internalRevision properties on BuildbotIteration into a more generic collection of revisions.
+ https://bugs.webkit.org/show_bug.cgi?id=147280
+
+ Reviewed by Daniel Bates.
+
+ * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
+ (BuildbotIteration): Removed opensourceRevision, internalRevision. Added revision.
+ Refactored _parseData to handle repositories more generically.
+ (parseRevisionProperty): Moved a comment up to parseRevisionProperty where it seems more relevant.
+ * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
+ (BuildbotQueue.prototype.compareIterations): Using "revision" property instead of
+ "opensourceRevision" and "internalRevision".
+ (BuildbotQueue.prototype.compareIterationsByRevisions): Ditto.
+ * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueueView.js:
+ (BuildbotQueueView.prototype._appendPendingRevisionCount): Ditto.
+ (BuildbotQueueView.prototype._presentPopoverForPendingCommits): Ditto.
+ (BuildbotQueueView.prototype._revisionContentWithPopoverForIteration): Changing "internal" boolean
+ parameter to more generic "repository" string parameter. Added "trac" parameter in order to
+ specify the trac instance to use. Using "revision" property instead of "opensourceRevision"
+ and "internalRevision".
+ (BuildbotQueueView.prototype.revisionContentForIteration): Passing the repository name and trac
+ instance to _revisionContentWithPopoverForIteration(). Using "revision" property instead of
+ "opensourceRevision" and "internalRevision".
+ * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Dashboard.js: Adding
+ constants for internal and opensource repositories.
+ * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/MetricsAnalyzer.js:
+ (Analyzer.prototype._findIndexOfLargestIterationAtOrBeforeStart): Using "revision" property
+ instead of "opensourceRevision" and "internalRevision".
+ (Analyzer.prototype._countPercentageOfGreen): Ditto.
+ (Analyzer.prototype.webkitTrac.recordedCommits.forEach): Ditto.
+ (Analyzer.prototype._countTimes): Ditto.
+ * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
+ (WebKitBuildbot.prototype.layoutTestResultsDirectoryURLForIteration): Ditto.
+
</ins><span class="cx"> 2015-08-04 Mark Lam <mark.lam@apple.com>
</span><span class="cx">
</span><span class="cx"> Removed a local debugging line I accidentally left in from a previous commit.
</span></span></pre>
</div>
</div>
</body>
</html>