Title: [116837] trunk/Tools
Revision
116837
Author
o...@chromium.org
Date
2012-05-11 20:15:47 -0700 (Fri, 11 May 2012)

Log Message

Add previous/next buttons the garden-o-matics perf panel
https://bugs.webkit.org/show_bug.cgi?id=86280

Reviewed by Dimitri Glazkov.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/perf.css:

Modified Paths

Diff

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


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js	2012-05-12 03:04:41 UTC (rev 116836)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js	2012-05-12 03:15:47 UTC (rev 116837)
@@ -70,11 +70,21 @@
         this.appendChild(this._titleBar);
 
         var testSuites = Object.keys(graphData);
-        var suitePicker = new ui.perf.Picker(testSuites, this._updateBuilderPicker.bind(this));
+        var suitePicker = new ui.perf.Picker(testSuites, this._onChangeSuite.bind(this));
         this._titleBar.appendChild(suitePicker);
 
+        this._titleBar.appendChild(new ui.actions.List([new ui.actions.Previous(), new ui.actions.Next()]));
+
+        $(this).bind('next', this._nextGraph.bind(this));
+        $(this).bind('previous', this._previousGraph.bind(this));
+
         this._suitePicker = suitePicker;
+        this._onChangeSuite();
+    },
+    _onChangeSuite: function()
+    {
         this._updateBuilderPicker();
+        this._displayGraph();
     },
     _updateBuilderPicker: function()
     {
@@ -90,10 +100,9 @@
         });
         this._builderPicker = new ui.perf.Picker(builders, this._displayGraph.bind(this), urls);
         this._titleBar.appendChild(this._builderPicker);
-
-        this._displayGraph();
     },
-    _displayGraph: function() {
+    _displayGraph: function()
+    {
         var popOutLink = this.querySelector('.pop-out');
         if (!popOutLink) {
             popOutLink = document.createElement('a');
@@ -112,6 +121,40 @@
         var url = ""
         popOutLink.href = ""
         graph.src = ""
+    },
+    _nextGraph: function()
+    {
+        if (!this._builderPicker)
+            return;
+
+        if (this._builderPicker.selectedIndex < this._builderPicker.length - 1) {
+            this._builderPicker.selectedIndex++;
+            this._displayGraph();
+            return;
+        }
+
+        if (this._suitePicker.selectedIndex < this._suitePicker.length - 1) {
+            this._suitePicker.selectedIndex++;
+            this._onChangeSuite();
+        }
+    },
+    _previousGraph: function()
+    {
+        if (!this._builderPicker)
+            return;
+
+        if (this._builderPicker.selectedIndex > 0) {
+            this._builderPicker.selectedIndex--;
+            this._displayGraph();
+            return;
+        }
+
+        if (this._suitePicker.selectedIndex > 0) {
+            this._suitePicker.selectedIndex--;
+            this._updateBuilderPicker();
+            this._builderPicker.selectedIndex = this._builderPicker.length - 1;
+            this._displayGraph();
+        }
     }
 });
 

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


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf_unittests.js	2012-05-12 03:04:41 UTC (rev 116836)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf_unittests.js	2012-05-12 03:15:47 UTC (rev 116837)
@@ -46,7 +46,7 @@
     ]
 };
 
-asyncTest("builders.perfBuilders", 4, function() {
+asyncTest("View", 7, function() {
     var oldPerfBuilders = builders.perfBuilders;
     builders.perfBuilders = function(callback) {
         setTimeout(function() { callback(kDummyPerfGraphData) }, 0);
@@ -63,15 +63,14 @@
             '</ol>' +
             '<div class="title-bar">' +
                 '<select><option>dummy_perf_test_1</option><option>dummy_perf_test_2</option></select>' +
+                '<ul class="actions"><li><button class="action previous">\u25C0</button></li><li><button class="action next">\u25B6</button></li></ul>' +
                 '<select><option value="http://dummyurl1">Mac10.6 Perf</option></select>' +
                 '<a class="pop-out" target="_blank" href="" out</a>' +
             '</div>' +
             '<iframe src="" +
         '</div>');
 
-        var suiteSelector = view.querySelectorAll('select')[0];
-        suiteSelector.selectedIndex = 1;
-        view._updateBuilderPicker();
+        view._nextGraph();
 
         equal(view.outerHTML, '<div id="perf-view">' +
             '<ol class="notifications">' +
@@ -81,15 +80,14 @@
             '</ol>' +
             '<div class="title-bar">' +
                 '<select><option>dummy_perf_test_1</option><option>dummy_perf_test_2</option></select>' +
+                '<ul class="actions"><li><button class="action previous">\u25C0</button></li><li><button class="action next">\u25B6</button></li></ul>' +
                 '<a class="pop-out" target="_blank" href="" out</a>' +
                 '<select><option value="http://dummyurl2">Mac10.6 Perf</option><option value="http://dummyurl3">Linux Perf</option></select>' +
             '</div>' +
             '<iframe src="" +
         '</div>');
 
-        var builderSelector = view.querySelectorAll('select')[1];
-        builderSelector.selectedIndex = 1;
-        view._displayGraph();
+        view._nextGraph();
 
         equal(view.outerHTML, '<div id="perf-view">' +
             '<ol class="notifications">' +
@@ -99,15 +97,14 @@
             '</ol>' +
             '<div class="title-bar">' +
                 '<select><option>dummy_perf_test_1</option><option>dummy_perf_test_2</option></select>' +
+                '<ul class="actions"><li><button class="action previous">\u25C0</button></li><li><button class="action next">\u25B6</button></li></ul>' +
                 '<a class="pop-out" target="_blank" href="" out</a>' +
                 '<select><option value="http://dummyurl2">Mac10.6 Perf</option><option value="http://dummyurl3">Linux Perf</option></select>' +
             '</div>' +
             '<iframe src="" +
         '</div>');
 
-        var suiteSelector = view.querySelectorAll('select')[0];
-        suiteSelector.selectedIndex = 0;
-        view._updateBuilderPicker();
+        view._nextGraph();
 
         equal(view.outerHTML, '<div id="perf-view">' +
             '<ol class="notifications">' +
@@ -117,12 +114,64 @@
             '</ol>' +
             '<div class="title-bar">' +
                 '<select><option>dummy_perf_test_1</option><option>dummy_perf_test_2</option></select>' +
+                '<ul class="actions"><li><button class="action previous">\u25C0</button></li><li><button class="action next">\u25B6</button></li></ul>' +
+                '<a class="pop-out" target="_blank" href="" out</a>' +
+                '<select><option value="http://dummyurl2">Mac10.6 Perf</option><option value="http://dummyurl3">Linux Perf</option></select>' +
+            '</div>' +
+            '<iframe src="" +
+        '</div>');
+
+        view._previousGraph();
+
+        equal(view.outerHTML, '<div id="perf-view">' +
+            '<ol class="notifications">' +
+                '<li style="opacity: 0; ">' +
+                    '<div class="how"></div><div class="what">Loading list of perf dashboards...</div>' +
+                '</li>' +
+            '</ol>' +
+            '<div class="title-bar">' +
+                '<select><option>dummy_perf_test_1</option><option>dummy_perf_test_2</option></select>' +
+                '<ul class="actions"><li><button class="action previous">\u25C0</button></li><li><button class="action next">\u25B6</button></li></ul>' +
+                '<a class="pop-out" target="_blank" href="" out</a>' +
+                '<select><option value="http://dummyurl2">Mac10.6 Perf</option><option value="http://dummyurl3">Linux Perf</option></select>' +
+            '</div>' +
+            '<iframe src="" +
+        '</div>');
+
+        view._previousGraph();
+
+        equal(view.outerHTML, '<div id="perf-view">' +
+            '<ol class="notifications">' +
+                '<li style="opacity: 0; ">' +
+                    '<div class="how"></div><div class="what">Loading list of perf dashboards...</div>' +
+                '</li>' +
+            '</ol>' +
+            '<div class="title-bar">' +
+                '<select><option>dummy_perf_test_1</option><option>dummy_perf_test_2</option></select>' +
+                '<ul class="actions"><li><button class="action previous">\u25C0</button></li><li><button class="action next">\u25B6</button></li></ul>' +
                 '<a class="pop-out" target="_blank" href="" out</a>' +
                 '<select><option value="http://dummyurl1">Mac10.6 Perf</option></select>' +
             '</div>' +
             '<iframe src="" +
         '</div>');
 
+        view._previousGraph();
+
+        equal(view.outerHTML, '<div id="perf-view">' +
+            '<ol class="notifications">' +
+                '<li style="opacity: 0; ">' +
+                    '<div class="how"></div><div class="what">Loading list of perf dashboards...</div>' +
+                '</li>' +
+            '</ol>' +
+            '<div class="title-bar">' +
+                '<select><option>dummy_perf_test_1</option><option>dummy_perf_test_2</option></select>' +
+                '<ul class="actions"><li><button class="action previous">\u25C0</button></li><li><button class="action next">\u25B6</button></li></ul>' +
+                '<a class="pop-out" target="_blank" href="" out</a>' +
+                '<select><option value="http://dummyurl1">Mac10.6 Perf</option></select>' +
+            '</div>' +
+            '<iframe src="" +
+        '</div>');
+
         builders.perfBuilders = oldPerfBuilders;
         start();
     }, 0);

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/perf.css (116836 => 116837)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/perf.css	2012-05-12 03:04:41 UTC (rev 116836)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/perf.css	2012-05-12 03:15:47 UTC (rev 116837)
@@ -35,8 +35,10 @@
     margin: 0;
 }
 
+#perf-view .actions,
 #perf-view .pop-out {
     float: right;
+    margin: 0;
 }
 
 #perf-view > iframe {

Modified: trunk/Tools/ChangeLog (116836 => 116837)


--- trunk/Tools/ChangeLog	2012-05-12 03:04:41 UTC (rev 116836)
+++ trunk/Tools/ChangeLog	2012-05-12 03:15:47 UTC (rev 116837)
@@ -1,3 +1,14 @@
+2012-05-11  Ojan Vafai  <o...@chromium.org>
+
+        Add previous/next buttons the garden-o-matics perf panel
+        https://bugs.webkit.org/show_bug.cgi?id=86280
+
+        Reviewed by Dimitri Glazkov.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf_unittests.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/perf.css:
+
 2012-05-11  Kevin Ollivier  <kev...@theolliviers.com>
 
         [wx] Unreviewed build fix. Fix memory exhausted errors from 32-bit ld on *nix.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to