From 72c9909999b2ff3a131dbeb4804604feb2b555f9 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Fri, 4 Aug 2023 00:21:11 +0000 Subject: [PATCH] Emoji: Suppress console errors from sessionStorage usage in sandboxed post embed iframe. Amends [56074]. Props westonruter, flixos90. Fixes #58978. See #58472. git-svn-id: https://develop.svn.wordpress.org/trunk@56358 602fd350-edb4-49c9-b593-d223f7449a82 --- src/js/_enqueues/lib/emoji-loader.js | 57 ++++++++++++---------------- 1 file changed, 25 insertions(+), 32 deletions(-) diff --git a/src/js/_enqueues/lib/emoji-loader.js b/src/js/_enqueues/lib/emoji-loader.js index fbf1e97aa4..3d2a161f1a 100644 --- a/src/js/_enqueues/lib/emoji-loader.js +++ b/src/js/_enqueues/lib/emoji-loader.js @@ -73,25 +73,20 @@ * @returns {?SupportTests} Support tests, or null if not set or older than 1 week. */ function getSessionSupportTests() { - if ( - typeof sessionStorage !== 'undefined' && - sessionStorageKey in sessionStorage - ) { - try { - /** @type {SessionSupportTests} */ - var item = JSON.parse( - sessionStorage.getItem( sessionStorageKey ) - ); - if ( - typeof item === 'object' && - typeof item.timestamp === 'number' && - new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds. - typeof item.supportTests === 'object' - ) { - return item.supportTests; - } - } catch ( e ) {} - } + try { + /** @type {SessionSupportTests} */ + var item = JSON.parse( + sessionStorage.getItem( sessionStorageKey ) + ); + if ( + typeof item === 'object' && + typeof item.timestamp === 'number' && + new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds. + typeof item.supportTests === 'object' + ) { + return item.supportTests; + } + } catch ( e ) {} return null; } @@ -105,20 +100,18 @@ * @param {SupportTests} supportTests Support tests. */ function setSessionSupportTests( supportTests ) { - if ( typeof sessionStorage !== 'undefined' ) { - try { - /** @type {SessionSupportTests} */ - var item = { - supportTests: supportTests, - timestamp: new Date().valueOf() - }; + try { + /** @type {SessionSupportTests} */ + var item = { + supportTests: supportTests, + timestamp: new Date().valueOf() + }; - sessionStorage.setItem( - sessionStorageKey, - JSON.stringify( item ) - ); - } catch ( e ) {} - } + sessionStorage.setItem( + sessionStorageKey, + JSON.stringify( item ) + ); + } catch ( e ) {} } /**