From dfc11907cb720db58e974579993f8da5c6265c47 Mon Sep 17 00:00:00 2001 From: Jun Date: Wed, 9 Dec 2020 13:01:16 -0800 Subject: [PATCH] Fix #1575: Create Trusted Type policy for assigning an HTML in detectElementResize.js (#1614) * Create Trusted Type policy for assigning an HTML Co-authored-by: Jun Kokatsu --- source/vendor/detectElementResize.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/source/vendor/detectElementResize.js b/source/vendor/detectElementResize.js index 47527e04e..79aa8bfd8 100644 --- a/source/vendor/detectElementResize.js +++ b/source/vendor/detectElementResize.js @@ -182,9 +182,18 @@ export default function createDetectElementResize(nonce, hostWindow) { element.__resizeListeners__ = []; (element.__resizeTriggers__ = doc.createElement('div')).className = 'resize-triggers'; - element.__resizeTriggers__.innerHTML = + var resizeTriggersHtml = '
' + '
'; + if (window.trustedTypes) { + var staticPolicy = trustedTypes.createPolicy( + 'react-virtualized-auto-sizer', + {createHTML: () => resizeTriggersHtml}, + ); + element.__resizeTriggers__.innerHTML = staticPolicy.createHTML(''); + } else { + element.__resizeTriggers__.innerHTML = resizeTriggersHtml; + } element.appendChild(element.__resizeTriggers__); resetTriggers(element); element.addEventListener('scroll', scrollListener, true);