// Disable cache if debugging.
return false;
}
- if (typeof(window.localStorage) !== "undefined") {
- try {
- localStorage = window.localStorage;
- return localStorage !== null;
- } catch (ex) {
+ if (typeof(window.localStorage) === "undefined") {
+ return false;
+ }
+ var testKey = 'test';
+ try {
+ localStorage = window.localStorage;
+ if (localStorage === null) {
return false;
}
+ // MDL-51461 - Some browsers misreport availability of local storage
+ // so check it is actually usable.
+ localStorage.setItem(testKey, '1');
+ localStorage.removeItem(testKey);
+ return true;
+ } catch (ex) {
+ return false;
}
};