summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/signin_tabs_memoizer.js
diff options
context:
space:
mode:
authorLuke "Jared" Bennett <lbennett@gitlab.com>2017-05-05 17:59:41 +0000
committerPhil Hughes <me@iamphill.com>2017-05-05 17:59:41 +0000
commitbef42d9a36bf465878e0edc19c9e154f73f12b13 (patch)
tree0609f74a8e1824c2450c26dcffe469b2d9e5e92e /app/assets/javascripts/signin_tabs_memoizer.js
parentb81535351023a3b19870ce052d8c3d0563391686 (diff)
downloadgitlab-ce-bef42d9a36bf465878e0edc19c9e154f73f12b13.tar.gz
Fallback localstorage cases
Diffstat (limited to 'app/assets/javascripts/signin_tabs_memoizer.js')
-rw-r--r--app/assets/javascripts/signin_tabs_memoizer.js12
1 files changed, 10 insertions, 2 deletions
diff --git a/app/assets/javascripts/signin_tabs_memoizer.js b/app/assets/javascripts/signin_tabs_memoizer.js
index d811d1cd53a..2587facc582 100644
--- a/app/assets/javascripts/signin_tabs_memoizer.js
+++ b/app/assets/javascripts/signin_tabs_memoizer.js
@@ -1,5 +1,7 @@
/* eslint no-param-reassign: ["error", { "props": false }]*/
/* eslint no-new: "off" */
+import AccessorUtilities from './lib/utils/accessor';
+
((global) => {
/**
* Memorize the last selected tab after reloading a page.
@@ -9,6 +11,8 @@
constructor({ currentTabKey = 'current_signin_tab', tabSelector = 'ul.nav-tabs' } = {}) {
this.currentTabKey = currentTabKey;
this.tabSelector = tabSelector;
+ this.isLocalStorageAvailable = AccessorUtilities.isLocalStorageAccessSafe();
+
this.bootstrap();
}
@@ -37,11 +41,15 @@
}
saveData(val) {
- localStorage.setItem(this.currentTabKey, val);
+ if (!this.isLocalStorageAvailable) return undefined;
+
+ return window.localStorage.setItem(this.currentTabKey, val);
}
readData() {
- return localStorage.getItem(this.currentTabKey);
+ if (!this.isLocalStorageAvailable) return null;
+
+ return window.localStorage.getItem(this.currentTabKey);
}
}