Make the site name configurable in perf dashboard
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Oct 2015 21:24:54 +0000 (21:24 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 7 Oct 2015 21:24:54 +0000 (21:24 +0000)
https://bugs.webkit.org/show_bug.cgi?id=149894

Reviewed by Chris Dumez.

Added "siteTitle" as a new configuration key to specify the site name.

* public/include/db.php:
(config): Now takes the default value as an argument.
* public/include/manifest.php:
(ManifestGenerator::generate): Include siteTitle in the manifest.
* public/index.html: Update the title and the heading when the manifest is loaded.
* public/v2/index.html: Use App.Manifest.siteTitle as the heading. document.title needs to be updated manually.
* public/v2/manifest.js:
(App.MetricSerializer.normalizePayload): Update document.title and App.Manifest.siteTitle.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@190687 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Websites/perf.webkit.org/ChangeLog
Websites/perf.webkit.org/public/include/db.php
Websites/perf.webkit.org/public/include/manifest.php
Websites/perf.webkit.org/public/index.html
Websites/perf.webkit.org/public/v2/index.html
Websites/perf.webkit.org/public/v2/manifest.js

index 0cf4058..270857f 100644 (file)
@@ -1,5 +1,23 @@
 2015-10-07  Ryosuke Niwa  <rniwa@webkit.org>
 
+        Make the site name configurable in perf dashboard
+        https://bugs.webkit.org/show_bug.cgi?id=149894
+
+        Reviewed by Chris Dumez.
+
+        Added "siteTitle" as a new configuration key to specify the site name.
+
+        * public/include/db.php:
+        (config): Now takes the default value as an argument.
+        * public/include/manifest.php:
+        (ManifestGenerator::generate): Include siteTitle in the manifest.
+        * public/index.html: Update the title and the heading when the manifest is loaded.
+        * public/v2/index.html: Use App.Manifest.siteTitle as the heading. document.title needs to be updated manually.
+        * public/v2/manifest.js: 
+        (App.MetricSerializer.normalizePayload): Update document.title and App.Manifest.siteTitle.
+
+2015-10-07  Ryosuke Niwa  <rniwa@webkit.org>
+
         Perf dashboard doesn't show analysis tasks anchored at outliers
         https://bugs.webkit.org/show_bug.cgi?id=149870
 
index 2a97666..4f8e1fe 100644 (file)
@@ -29,11 +29,11 @@ $_config = NULL;
 
 define('CONFIG_DIR', dirname(__FILE__) . '/../../');
 
-function config($key) {
+function config($key, $default = NULL) {
     global $_config;
     if (!$_config)
         $_config = json_decode(file_get_contents(CONFIG_DIR . 'config.json'), true);
-    return $_config[$key];
+    return array_get($_config, $key, $default);
 }
 
 function config_path($key, $path) {
index a1b16dd..812ae60 100644 (file)
@@ -27,6 +27,7 @@ class ManifestGenerator {
             $row = $row['commit_repository'];
 
         $this->manifest = array(
+            'siteTitle' => config('siteTitle', 'Performance Dashboard'),
             'tests' => (object)$this->tests(),
             'metrics' => (object)$this->metrics(),
             'all' => (object)$this->platforms($config_table, $platform_table, false),
index 62a7cd9..21b4b32 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
 <head>
-<title>WebKit Perf Monitor</title>
+<title>Perf Monitor is Loading...</title>
 <script src="js/jquery.js" defer></script>
 <script src="js/jquery.flot.js" defer></script>
 <script src="js/jquery.flot.crosshair.js" defer></script>
@@ -1220,6 +1220,9 @@ function init() {
         builders = manifest.builders;
         bugTrackers = manifest.bugTrackers;
 
+        document.title = manifest.siteTitle;
+        document.getElementById('siteTitle').textContent = manifest.siteTitle;
+
         setMode(URLState.get('mode', 'dashboard'));
     });
 }
@@ -1231,7 +1234,7 @@ window.addEventListener('DOMContentLoaded', init, false);
 <body>
 
 <header id="title">
-<h1><a href="/">WebKit Perf Monitor</a></h1>
+<h1><a id="siteTitle" href="/">Perf Monitor</a></h1>
 <ul>
     <li id="numberOfDaysPicker"><input id="numberOfDays" type="range" min="1" max="5.9" step="0.001" value="2.3"><span class="output"></span></li>
     <li><a href="javascript:setMode('dashboard');">Dashboard</a></li>
index f6e86fd..a1b7bd2 100644 (file)
@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta charset="utf-8">
-    <title>WebKit Performance Monitor (Beta)</title>
+    <title>Performance Dashboard is Loading...</title>
 
     <link rel="prefetch" href="../data/manifest.json">
     <script type="application/json" src="../data/manifest.json"></script>
 
     <script type="text/x-handlebars" data-template-name="navbar">
         <nav id="navigation" role="navigation">
-            <h1><a href="#">WebKit Perf Monitor</a></h1>
+            <h1><a href="#">{{App.Manifest.siteTitle}}</a></h1>
             <ul>
                 {{#each App.Manifest.dashboards}}
                     {{#if name}}
index 3e2f7a8..5186486 100644 (file)
@@ -214,6 +214,12 @@ App.MetricSerializer = App.PlatformSerializer = DS.RESTSerializer.extend({
             id++;
         }
 
+        var siteTitle = payload['siteTitle'];
+        if (siteTitle) {
+            App.Manifest.set('siteTitle', siteTitle);
+            document.title = siteTitle;
+        }
+
         return results;
     },
     _normalizeIdMap: function (idMap)