fix #2824: use dummy localStorage if none available

This commit is contained in:
gorhill 2017-07-26 08:11:22 -04:00
parent fd67c2db0e
commit 6fb6b4ed98
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
2 changed files with 22 additions and 2 deletions

View File

@ -1394,7 +1394,7 @@ vAPI.cloud = (function() {
var options = { var options = {
defaultDeviceName: window.navigator.platform, 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: // 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' ) { if ( typeof details.deviceName === 'string' ) {
window.localStorage.setItem('deviceName', details.deviceName); vAPI.localStorage.setItem('deviceName', details.deviceName);
options.deviceName = details.deviceName; options.deviceName = details.deviceName;
} }

View File

@ -100,6 +100,26 @@ try {
} catch (ex) { } 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); })(this);