Perf-o-matic build fix. Also toggle the switch to start using ping images on the...
[WebKit-https.git] / Websites / webkit-perf.appspot.com / js / config.js
index c7a08e8d68387cf8f305218ae8b70c0dd9398261..6acf9e8836c384872cc5438a747e636ea1b80036 100644 (file)
@@ -2,7 +2,7 @@
  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
  * You can obtain one at http://mozilla.org/MPL/2.0/. */
 
-var USE_GENERATED_IMAGES_IN_DASHBOARD = false;
+var USE_GENERATED_IMAGES_IN_DASHBOARD = true;
 var MAX_GRAPHS = 6;
 var MAX_CSETS = 100;
 var DAY = 86400000;
@@ -54,16 +54,29 @@ var OVERVIEW_OPTIONS = {
     }
 };
 
-function urlForChangeset(branch, changeset)
+var REPOSITORIES = ['WebKit', 'Chromium'];
+var DEFAULT_REPOSITORY = 'WebKit';
+
+function urlForChangeset(branch, changeset, repository)
 {
-    return 'http://trac.webkit.org/changeset/' + changeset;
+    if (repository == 'Chromium')
+        return 'http://src.chromium.org/viewvc/chrome?view=rev&revision=' +
+               changeset;
+    else
+        return 'http://trac.webkit.org/changeset/' + changeset;
 }
 
-function urlForChangesetList(branch, changesetList)
+function urlForChangesetList(branch, changesetList, repository)
 {
     var min = Math.min.apply(Math, changesetList);
     var max = Math.max.apply(Math, changesetList);
-    return 'http://trac.webkit.org/log/?rev=' + max + '&stop_rev=' + min + '&verbose=on';
+    if (repository == 'Chromium')
+        return 'http://build.chromium.org/f/chromium/perf/dashboard/ui/' +
+               'changelog.html?url=/trunk/src&mode=html&range=' + min + ':' +
+               max;
+    else
+        return 'http://trac.webkit.org/log/?rev=' + max + '&stop_rev=' + min +
+               '&verbose=on';
 }
 
 // FIXME move this back to dashboard.js once the bug 718925 is fixed
@@ -76,5 +89,31 @@ function fetchDashboardManifest(callback)
         cache: true,
     });
 
-    $.getJSON(SERVER + '/api/test/dashboard', callback);
+    $.getJSON(SERVER + '/api/test/dashboard', function (dashboardManifest) {
+        var testToId = dashboardManifest['testToId'];
+        var tests = Object.keys(testToId).sort();
+        var sortedTestToId = {};
+        for (var i = 0; i < tests.length; i++)
+            sortedTestToId[tests[i]] = testToId[tests[i]];
+        dashboardManifest['testToId'] = sortedTestToId;
+        callback(dashboardManifest);
+    });
 }
+
+(function() {
+    $.ajaxSetup({
+        'error': function(xhr, e, message) {
+            error('Could not determine the the login status', e);
+        },
+        cache: true,
+    });
+
+    $.getJSON('/api/user/is-admin', function (isAdmin) {
+        if (isAdmin) {
+            $('#header nav').append('<a href="/admin/">Admin</a>');
+            if (!$('#header nav .selected').length) {
+                $('#header nav a').last().addClass('selected')
+            }
+        }
+    })
+})();