Diff
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js (93521 => 93522)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js 2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js 2011-08-22 18:15:48 UTC (rev 93522)
@@ -67,5 +67,8 @@
var kTenMinutesInMilliseconds = 10 * 60 * 1000;
config.kUpdateFrequency = kTenMinutesInMilliseconds;
+config.kRelativeTimeUpdateFrequency = 1000;
+
+
})();
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js (93521 => 93522)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js 2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js 2011-08-22 18:15:48 UTC (rev 93522)
@@ -80,22 +80,6 @@
}
});
-var Time = base.extends('time', {
- init: function()
- {
- this.setDate(new Date());
- },
- date: function()
- {
- return this._date;
- },
- setDate: function(date)
- {
- this._date = date;
- this.textContent = base.relativizeTime(date);
- }
-});
-
ui.notifications.FailingTest = base.extends('li', {
init: function(failureAnalysis)
{
@@ -135,7 +119,7 @@
ui.notifications.Failure = base.extends(ui.notifications.Notification, {
init: function()
{
- this._time = this.insertBefore(new Time(), this.firstChild);
+ this._time = this.insertBefore(new ui.RelativeTime(), this.firstChild);
this._problem = this._what.appendChild(document.createElement('div'));
this._problem.className = 'problem';
this._effects = this._problem.appendChild(document.createElement('ul'));
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js (93521 => 93522)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js 2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js 2011-08-22 18:15:48 UTC (rev 93522)
@@ -94,7 +94,7 @@
var testFailures = new ui.notifications.TestFailures();
equal(testFailures.tagName, 'LI');
equal(testFailures.innerHTML,
- '<time>Just now</time>' +
+ '<time class="relative">Just now</time>' +
'<div class="what">' +
'<div class="problem">' +
'<ul class="effects"></ul>' +
@@ -106,7 +106,7 @@
'</ul>');
testFailures.addFailureAnalysis({testName: 'test'});
equal(testFailures.innerHTML,
- '<time>Just now</time>' +
+ '<time class="relative">Just now</time>' +
'<div class="what">' +
'<div class="problem">' +
'<ul class="effects">' +
@@ -122,7 +122,7 @@
ok(!testFailures.containsFailureAnalysis({testName: 'foo'}));
testFailures.addFailureAnalysis({testName: 'test'});
equal(testFailures.innerHTML,
- '<time>Just now</time>' +
+ '<time class="relative">Just now</time>' +
'<div class="what">' +
'<div class="problem">' +
'<ul class="effects">' +
@@ -138,7 +138,7 @@
time.setMinutes(time.getMinutes() - 10);
testFailures.addCommitData({revision: 1, time: time, title: "title", author: "author", reviewer: "reviewer"});
equal(testFailures.innerHTML,
- '<time>10 minutes ago</time>' +
+ '<time class="relative">10 minutes ago</time>' +
'<div class="what">' +
'<div class="problem">' +
'<ul class="effects">' +
@@ -165,7 +165,7 @@
var builderFailing = new ui.notifications.BuildersFailing();
builderFailing.setFailingBuilders(['WebKit Linux', 'Webkit Vista']);
equal(builderFailing.innerHTML,
- '<time>Just now</time>' +
+ '<time class="relative">Just now</time>' +
'<div class="what">' +
'<div class="problem">Build Failed:' +
'<ul class="effects">' +
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js (93521 => 93522)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js 2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js 2011-08-22 18:15:48 UTC (rev 93522)
@@ -177,4 +177,31 @@
return block;
};
+setInterval(function() {
+ Array.prototype.forEach.call(document.querySelectorAll("time.relative"), function(time) {
+ time.update && time.update();
+ });
+}, config.kRelativeTimeUpdateFrequency);
+
+ui.RelativeTime = base.extends('time', {
+ init: function()
+ {
+ this.setDate(new Date());
+ this.className = 'relative';
+ },
+ date: function()
+ {
+ return this._date;
+ },
+ update: function()
+ {
+ this.textContent = base.relativizeTime(this._date);
+ },
+ setDate: function(date)
+ {
+ this._date = date;
+ this.textContent = base.relativizeTime(date);
+ }
+});
+
})();
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js (93521 => 93522)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js 2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js 2011-08-22 18:15:48 UTC (rev 93522)
@@ -162,4 +162,17 @@
]);
});
+test("time", 6, function() {
+ var time = new ui.RelativeTime();
+ equal(time.tagName, 'TIME');
+ equal(time.className, 'relative');
+ deepEqual(Object.getOwnPropertyNames(time.__proto__), ['init', 'date', 'setDate', 'update']);
+ equal(time.outerHTML, '<time class="relative">Just now</time>');
+ var tenMinutesAgo = new Date();
+ tenMinutesAgo.setMinutes(tenMinutesAgo.getMinutes() - 10);
+ time.setDate(tenMinutesAgo);
+ equal(time.outerHTML, '<time class="relative">10 minutes ago</time>');
+ equal(time.date().getTime(), tenMinutesAgo.getTime());
+});
+
})();
Modified: trunk/Tools/ChangeLog (93521 => 93522)
--- trunk/Tools/ChangeLog 2011-08-22 18:12:45 UTC (rev 93521)
+++ trunk/Tools/ChangeLog 2011-08-22 18:15:48 UTC (rev 93522)
@@ -1,3 +1,14 @@
+2011-08-22 Dimitri Glazkov <dglaz...@chromium.org>
+
+ garden-o-matic's relative time display should be updated regularly.
+ https://bugs.webkit.org/show_bug.cgi?id=66682
+
+ Reviewed by Adam Barth.
+
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js: Moved Time to ui.Time, added code for regular updates.
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js: Changed to use ui.Time.
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js: Added tests.
+
2011-08-22 Xianzhu Wang <wangxian...@chromium.org>
Pass --makeargs of build-webkit to chromium linux builder