Title: [161360] trunk/Tools
Revision
161360
Author
[email protected]
Date
2014-01-06 12:10:07 -0800 (Mon, 06 Jan 2014)

Log Message

build.webkit.org/dashboard should still function if localStorage is disabled
https://bugs.webkit.org/show_bug.cgi?id=126511

Reviewed by Alexey Proskuryakov.

If localStorage is disabled, we should carry on with a warning.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
Don't show the gear if localStorage isn't working.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js:
(QueueView.prototype._updateHiddenState):
Bail if localStorage isn't working.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
(Settings.prototype.available):

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js (161359 => 161360)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js	2014-01-06 20:03:05 UTC (rev 161359)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js	2014-01-06 20:10:07 UTC (rev 161360)
@@ -216,13 +216,15 @@
 
     document.body.appendChild(table);
 
-    var settingsButton = document.createElement("div");
-    settingsButton.addEventListener("click", function () { settings.toggleSettingsDisplay(); });
-    settingsButton.classList.add("settings");
-    document.body.appendChild(settingsButton);
+    if (settings.available()) {
+        var settingsButton = document.createElement("div");
+        settingsButton.addEventListener("click", function () { settings.toggleSettingsDisplay(); });
+        settingsButton.classList.add("settings");
+        document.body.appendChild(settingsButton);
 
-    updateHiddenPlatforms();
-    settings.addSettingListener("hiddenPlatforms", updateHiddenPlatforms);
+        updateHiddenPlatforms();
+        settings.addSettingListener("hiddenPlatforms", updateHiddenPlatforms);
+    }
 }
 
 document.addEventListener("DOMContentLoaded", documentReady);

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js (161359 => 161360)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js	2014-01-06 20:03:05 UTC (rev 161359)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js	2014-01-06 20:10:07 UTC (rev 161360)
@@ -64,6 +64,9 @@
 
     _updateHiddenState: function()
     {
+        if (!settings.available())
+            return;
+
         var hiddenPlatforms = settings.getObject("hiddenPlatforms");
         var wasHidden = !this.updateTimer;
         var isHidden = hiddenPlatforms && hiddenPlatforms.contains(this.platform);

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js (161359 => 161360)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js	2014-01-06 20:03:05 UTC (rev 161359)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js	2014-01-06 20:10:07 UTC (rev 161360)
@@ -46,6 +46,21 @@
         return JSON.parse(localStorage.getItem(key));
     },
 
+    available: function()
+    {
+        try {
+            localStorage.setItem("testLocalStorage", "test");
+            if (localStorage.getItem("testLocalStorage") != "test")
+                return false;
+            localStorage.removeItem("testLocalStorage");
+        } catch(e) {
+            console.log("Couldn't use localStorage, settings won't work: " + e);
+            return false;
+        }
+
+        return true;
+    },
+
     addSettingListener: function(key, callback)
     {
         if (!this.changeCallbacks[key])

Modified: trunk/Tools/ChangeLog (161359 => 161360)


--- trunk/Tools/ChangeLog	2014-01-06 20:03:05 UTC (rev 161359)
+++ trunk/Tools/ChangeLog	2014-01-06 20:10:07 UTC (rev 161360)
@@ -1,3 +1,22 @@
+2014-01-06  Tim Horton  <[email protected]>
+
+        build.webkit.org/dashboard should still function if localStorage is disabled
+        https://bugs.webkit.org/show_bug.cgi?id=126511
+
+        Reviewed by Alexey Proskuryakov.
+
+        If localStorage is disabled, we should carry on with a warning.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
+        Don't show the gear if localStorage isn't working.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/QueueView.js:
+        (QueueView.prototype._updateHiddenState):
+        Bail if localStorage isn't working.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
+        (Settings.prototype.available):
+
 2014-01-02  Roger Fong  <[email protected]>
 
         Set VSINSTALLDIR in win ews start script.
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to