diff --git a/devtools/src/devtools/lib/settings.js b/devtools/src/devtools/lib/settings.js index 7831560e..20c2a13d 100644 --- a/devtools/src/devtools/lib/settings.js +++ b/devtools/src/devtools/lib/settings.js @@ -1,6 +1,9 @@ import Bridge from 'crx-bridge'; -const localSettings = JSON.parse(localStorage.getItem('playground_settings')); +const localSettings = navigator.cookieEnabled + ? JSON.parse(localStorage.getItem('playground_settings')) + : {}; + let _settings = Object.assign( { testIdAttribute: 'data-testid', @@ -17,5 +20,7 @@ export function getSettings() { export function setSettings(settings) { Object.assign(_settings, settings); Bridge.sendMessage('SET_SETTINGS', _settings, 'content-script'); - localStorage.setItem('playground_settings', JSON.stringify(_settings)); + if (navigator.cookieEnabled) { + localStorage.setItem('playground_settings', JSON.stringify(_settings)); + } } diff --git a/src/components/Settings.js b/src/components/Settings.js index 16f0bb7b..b31f64ec 100644 --- a/src/components/Settings.js +++ b/src/components/Settings.js @@ -22,9 +22,18 @@ function Settings({ settings, dispatch }) { const showBehavior = typeof settings.autoRun !== 'undefined'; const showTestingLibrary = typeof settings.testIdAttribute !== 'undefined'; + const isCookieEanbled = navigator.cookieEnabled; return ( -
+ Cookie are not enabled, settings will not be saved. +
+ )}