Title: [95066] trunk/Tools
Revision
95066
Author
aba...@webkit.org
Date
2011-09-13 18:20:29 -0700 (Tue, 13 Sep 2011)

Log Message

garden-o-matic should tell you about the progress of your rebaseline
https://bugs.webkit.org/show_bug.cgi?id=67967

Reviewed by Dimitri Glazkov.

This patch adds ui.MessageBox, which is a light wrapper around jQuery
UI's dialog widget.  We then use ui.MessageBox to show status messages
about in-progress rebaselines.  As each baseline is downloaded, the
MessageBox updates.  This UI replaces our temporary "alert"-based UI.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js (95065 => 95066)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js	2011-09-14 01:19:04 UTC (rev 95065)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js	2011-09-14 01:20:29 UTC (rev 95066)
@@ -104,7 +104,7 @@
     });
 };
 
-checkout.rebaseline = function(failureInfoList, callback)
+checkout.rebaseline = function(failureInfoList, callback, progressCallback)
 {
     callIfCheckoutAvailable(function() {
         base.callInSequence(function(failureInfo, callback) {
@@ -112,6 +112,8 @@
                 'builder': failureInfo.builderName,
                 'test': failureInfo.testName,
             }), function() {
+                if (progressCallback)
+                    progressCallback(failureInfo);
                 callback();
             });
         }, failureInfoList, function() {

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js (95065 => 95066)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js	2011-09-14 01:19:04 UTC (rev 95065)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js	2011-09-14 01:20:29 UTC (rev 95066)
@@ -27,6 +27,23 @@
 
 (function(){
 
+// FIXME: Where should this function go?
+function rebaselineWithStatusUpdates(failureInfoList)
+{
+    var statusView = new ui.MessageBox(
+        'Rebaseline status',
+        'Performing rebaseline...');
+
+    checkout.rebaseline(failureInfoList, function() {
+        statusView.addMessage('Rebaseline done! Please land with "webkit-patch land-cowboy".');
+
+        statusView.addActionList(new ui.actions.List([new ui.actions.Close()]));
+        $(statusView).bind('close', statusView.close.bind(statusView));
+    }, function(failureInfo) {
+        statusView.addMessage(failureInfo.testName + ' on ' + ui.displayNameForBuilder(failureInfo.builderName));
+    });
+}
+
 controllers.ResultsDetails = base.extends(Object, {
     init: function(view, resultsByTest)
     {
@@ -55,10 +72,7 @@
                 'builderName': builderName
             }
         });
-        checkout.rebaseline(failureInfoList, function() {
-            // FIXME: We should have a better dialog than this!
-            alert('Rebaseline done! Please land with "webkit-patch land-cowboy".');
-        });
+        rebaselineWithStatusUpdates(failureInfoList);
     }
 });
 
@@ -119,10 +133,7 @@
     onRebaseline: function(failures)
     {
         var failureInfoList = base.flattenArray(failures.testNameList().map(model.unexpectedFailureInfoForTestName));
-        checkout.rebaseline(failureInfoList, function() {
-            // FIXME: We should have a better dialog than this!
-            alert('Rebaseline done! Please land with "webkit-patch land-cowboy".');
-        });
+        rebaselineWithStatusUpdates(failureInfoList);
     }
 });
 

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js (95065 => 95066)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js	2011-09-14 01:19:04 UTC (rev 95065)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js	2011-09-14 01:20:29 UTC (rev 95066)
@@ -53,6 +53,13 @@
     }
 });
 
+ui.actions.Close = base.extends(Action, {
+    init: function() {
+        this.textContent = 'Close';
+        this._eventName = 'close';
+    }
+});
+
 ui.actions.Rollout = base.extends(Action, {
     init: function() {
         this.textContent = 'Roll out';

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js (95065 => 95066)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js	2011-09-14 01:19:04 UTC (rev 95065)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js	2011-09-14 01:20:29 UTC (rev 95066)
@@ -132,4 +132,36 @@
     }
 });
 
+ui.MessageBox = base.extends('div',  {
+    init: function(title, message)
+    {
+        this._content = document.createElement('div');
+        this.appendChild(this._content);
+        this.addMessage(message);
+        document.body.appendChild(this);
+        $(this).dialog({
+            resizable: false,
+            title: title,
+            width: $(window).width() * 0.80,  // FIXME: We should have CSS do this work for us.
+        });
+        $(this).bind('dialogclose', function() {
+            $(this).detach();
+        }.bind(this));
+    },
+    close: function()
+    {
+        $(this).dialog('close');
+    },
+    addMessage: function(message)
+    {
+        var element = document.createElement('div');
+        $(element).addClass('message').text(message);
+        this._content.appendChild(element);
+    },
+    addActionList: function(actionList)
+    {
+        this.appendChild(actionList);
+    }
+});
+
 })();

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js (95065 => 95066)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js	2011-09-14 01:19:04 UTC (rev 95065)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js	2011-09-14 01:20:29 UTC (rev 95066)
@@ -114,4 +114,17 @@
     equal(time.date().getTime(), tenMinutesAgo.getTime());
 });
 
+test("MessageBox", 1, function() {
+    var messageBox = new ui.MessageBox('The Title', 'First message');
+    messageBox.addMessage('Second Message');
+    equal(messageBox.outerHTML,
+        '<div class="ui-dialog-content ui-widget-content" style="width: auto; min-height: 132px; height: auto; " scrolltop="0" scrollleft="0">' +
+            '<div>' +
+                '<div class="message">First message</div>' +
+                '<div class="message">Second Message</div>' +
+            '</div>' +
+        '</div>');
+    messageBox.close();
+});
+
 })();

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css (95065 => 95066)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css	2011-09-14 01:19:04 UTC (rev 95065)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css	2011-09-14 01:20:29 UTC (rev 95066)
@@ -23,7 +23,7 @@
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
-.results-view ul.actions {
+.results-view ul.actions, .ui-dialog ul.actions {
     float: right;
     margin: 0;
     padding: 5px 0px;
@@ -31,7 +31,7 @@
     display: inline-block;
 }
 
-.results-view ul.actions li {
+.results-view ul.actions li, .ui-dialog ul.actions li {
     display: inline-block;
 }
 

Modified: trunk/Tools/ChangeLog (95065 => 95066)


--- trunk/Tools/ChangeLog	2011-09-14 01:19:04 UTC (rev 95065)
+++ trunk/Tools/ChangeLog	2011-09-14 01:20:29 UTC (rev 95066)
@@ -1,3 +1,22 @@
+2011-09-13  Adam Barth  <aba...@webkit.org>
+
+        garden-o-matic should tell you about the progress of your rebaseline
+        https://bugs.webkit.org/show_bug.cgi?id=67967
+
+        Reviewed by Dimitri Glazkov.
+
+        This patch adds ui.MessageBox, which is a light wrapper around jQuery
+        UI's dialog widget.  We then use ui.MessageBox to show status messages
+        about in-progress rebaselines.  As each baseline is downloaded, the
+        MessageBox updates.  This UI replaces our temporary "alert"-based UI.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:
+
 2011-09-13  Leandro Pereira  <lean...@profusion.mobi>
 
         GTK DumpRenderTree uses inefficient idioms to iterate over G[S]Lists
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to