Skip to content

Commit 29b501a

Browse files
authored
Move localstorage polyfill declaration to frontend
1 parent 5fca50e commit 29b501a

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

app/code/Magento/Theme/view/frontend/requirejs-config.js

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,24 @@ var config = {
4949
}
5050
}
5151
};
52+
53+
/* eslint-disable max-depth */
54+
/**
55+
* Adds polyfills only for browser contexts which prevents bundlers from including them.
56+
*/
57+
if (typeof window !== 'undefined' && window.document) {
58+
/**
59+
* Polyfill localStorage and sessionStorage for browsers that do not support them.
60+
*/
61+
try {
62+
if (!window.localStorage || !window.sessionStorage) {
63+
throw new Error();
64+
}
65+
66+
localStorage.setItem('storage_test', 1);
67+
localStorage.removeItem('storage_test');
68+
} catch (e) {
69+
config.deps.push('mage/polyfill');
70+
}
71+
}
72+
/* eslint-enable max-depth */

0 commit comments

Comments
 (0)