From e9674ffff51dded7ca6cbe299fa8c71b2d72c080 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Thu, 3 Aug 2023 15:51:22 -0700 Subject: [PATCH 1/2] Suppress console errors from sessionStorage usage in sandboxed post embed iframe --- src/js/_enqueues/lib/emoji-loader.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/js/_enqueues/lib/emoji-loader.js b/src/js/_enqueues/lib/emoji-loader.js index fbf1e97aa4e8d..3278e4b580d42 100644 --- a/src/js/_enqueues/lib/emoji-loader.js +++ b/src/js/_enqueues/lib/emoji-loader.js @@ -73,11 +73,11 @@ * @returns {?SupportTests} Support tests, or null if not set or older than 1 week. */ function getSessionSupportTests() { - if ( - typeof sessionStorage !== 'undefined' && - sessionStorageKey in sessionStorage - ) { - try { + try { + if ( + typeof sessionStorage !== 'undefined' && + sessionStorageKey in sessionStorage + ) { /** @type {SessionSupportTests} */ var item = JSON.parse( sessionStorage.getItem( sessionStorageKey ) @@ -90,8 +90,8 @@ ) { return item.supportTests; } - } catch ( e ) {} - } + } + } catch ( e ) {} return null; } @@ -105,8 +105,8 @@ * @param {SupportTests} supportTests Support tests. */ function setSessionSupportTests( supportTests ) { - if ( typeof sessionStorage !== 'undefined' ) { - try { + try { + if ( typeof sessionStorage !== 'undefined' ) { /** @type {SessionSupportTests} */ var item = { supportTests: supportTests, @@ -117,8 +117,8 @@ sessionStorageKey, JSON.stringify( item ) ); - } catch ( e ) {} - } + } + } catch ( e ) {} } /** From 4da277af84a4236105ab2f5fd42c1766db765294 Mon Sep 17 00:00:00 2001 From: Weston Ruter Date: Thu, 3 Aug 2023 16:07:39 -0700 Subject: [PATCH 2/2] Eliminate needless if statements --- src/js/_enqueues/lib/emoji-loader.js | 43 ++++++++++++---------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/src/js/_enqueues/lib/emoji-loader.js b/src/js/_enqueues/lib/emoji-loader.js index 3278e4b580d42..3d2a161f1a25c 100644 --- a/src/js/_enqueues/lib/emoji-loader.js +++ b/src/js/_enqueues/lib/emoji-loader.js @@ -74,22 +74,17 @@ */ function getSessionSupportTests() { try { + /** @type {SessionSupportTests} */ + var item = JSON.parse( + sessionStorage.getItem( sessionStorageKey ) + ); if ( - typeof sessionStorage !== 'undefined' && - sessionStorageKey in sessionStorage + typeof item === 'object' && + typeof item.timestamp === 'number' && + new Date().valueOf() < item.timestamp + 604800 && // Note: Number is a week in seconds. + typeof item.supportTests === 'object' ) { - /** @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; - } + return item.supportTests; } } catch ( e ) {} return null; @@ -106,18 +101,16 @@ */ function setSessionSupportTests( supportTests ) { try { - if ( typeof sessionStorage !== 'undefined' ) { - /** @type {SessionSupportTests} */ - var item = { - supportTests: supportTests, - timestamp: new Date().valueOf() - }; + /** @type {SessionSupportTests} */ + var item = { + supportTests: supportTests, + timestamp: new Date().valueOf() + }; - sessionStorage.setItem( - sessionStorageKey, - JSON.stringify( item ) - ); - } + sessionStorage.setItem( + sessionStorageKey, + JSON.stringify( item ) + ); } catch ( e ) {} }