diff --git a/platform/chromium/vapi-background.js b/platform/chromium/vapi-background.js index e6b58751b..20acf3454 100644 --- a/platform/chromium/vapi-background.js +++ b/platform/chromium/vapi-background.js @@ -1394,7 +1394,7 @@ vAPI.cloud = (function() { var options = { defaultDeviceName: window.navigator.platform, - deviceName: window.localStorage.getItem('deviceName') || '' + deviceName: vAPI.localStorage.getItem('deviceName') || '' }; // This is used to find out a rough count of how many chunks exists: @@ -1538,7 +1538,7 @@ vAPI.cloud = (function() { } if ( typeof details.deviceName === 'string' ) { - window.localStorage.setItem('deviceName', details.deviceName); + vAPI.localStorage.setItem('deviceName', details.deviceName); options.deviceName = details.deviceName; } diff --git a/platform/chromium/vapi-common.js b/platform/chromium/vapi-common.js index 5a2c27993..28419f3ca 100644 --- a/platform/chromium/vapi-common.js +++ b/platform/chromium/vapi-common.js @@ -100,6 +100,26 @@ try { } catch (ex) { } +// https://github.com/gorhill/uBlock/issues/2824 +// Use a dummy localStorage if for some reasons it's not available. +if ( vAPI.localStorage instanceof Object === false ) { + vAPI.localStorage = { + length: 0, + clear: function() { + }, + getItem: function() { + return null; + }, + key: function() { + throw new RangeError(); + }, + removeItem: function() { + }, + setItem: function() { + } + }; +} + /******************************************************************************/ })(this);