diff options
Diffstat (limited to 'ext/mixed')
-rw-r--r-- | ext/mixed/js/display.js | 19 |
1 files 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; |