From bbfe5f81cbd938d4ca2f23088b1ff332cd82e7aa Mon Sep 17 00:00:00 2001 From: toasted-nutbread Date: Mon, 24 Aug 2020 18:26:04 -0400 Subject: [PATCH] Fix sessionStorage not being supported when cookies are disabled (#756) * Fix sessionStorage not being supported when cookies are disabled * Update comment --- ext/mixed/js/display.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/ext/mixed/js/display.js b/ext/mixed/js/display.js index 6e41a190..4a8605e5 100644 --- a/ext/mixed/js/display.js +++ b/ext/mixed/js/display.js @@ -1319,17 +1319,26 @@ class Display extends EventDispatcher { } _updateMode() { - const mode = sessionStorage.getItem('mode'); + let mode = null; + try { + mode = sessionStorage.getItem('mode'); + } catch (e) { + // Browsers can throw a SecurityError when cookie blocking is enabled. + } this._setMode(mode, false); } _setMode(mode, save) { if (mode === this._mode) { return; } if (save) { - if (mode === null) { - sessionStorage.removeItem('mode'); - } else { - sessionStorage.setItem('mode', mode); + try { + if (mode === null) { + sessionStorage.removeItem('mode'); + } else { + sessionStorage.setItem('mode', mode); + } + } catch (e) { + // Browsers can throw a SecurityError when cookie blocking is enabled. } } this._mode = mode;