You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When trying to use DOMPurify in conjunction with the trustedTypes polyfill, the HTML is not sanitized but rather seems to run into an endless loop as if DOMPurify does not set its "dompurify" policy. Not sure if it's a DOMPurify issue, or an issue with the polyfill, or if I'm using it wrong, sorry if this is the wrong place to ask.
Input
This is the sample JavaScript code which then I bundle with webpack.
import { trustedTypes, TrustedTypeConfig, TrustedTypesEnforcer } from "trusted-types";
import DOMPurify from "dompurify";
let trustedTypesObject;
if (window.trustedTypes && trustedTypes.createPolicy) {
trustedTypesObject = window.trustedTypes;
} else {
trustedTypesObject = trustedTypes;
const config = new TrustedTypeConfig(false, true, ["default", "dompurify"], false);
const enforcer = new TrustedTypesEnforcer(config);
enforcer.install();
}
trustedTypesObject.createPolicy("default", {
createHTML: (string, type) => {
console.warn("Created a '" + type + "' object.");
return DOMPurify.sanitize(string, { RETURN_TRUSTED_TYPE: false });
},
});
Given output
Example output from Safari, caught in an endless loop of thousands of DOMParser.parseFromString sanitization instances. At some point it ends but I believe the browser is doing it. If I try it in Chrome, it never ends and hangs the tab.
Expected output
Expected a TrustedHTML object.
The text was updated successfully, but these errors were encountered:
Background & Context
When trying to use DOMPurify in conjunction with the trustedTypes polyfill, the HTML is not sanitized but rather seems to run into an endless loop as if DOMPurify does not set its "dompurify" policy. Not sure if it's a DOMPurify issue, or an issue with the polyfill, or if I'm using it wrong, sorry if this is the wrong place to ask.
Input
This is the sample JavaScript code which then I bundle with webpack.
Given output
Example output from Safari, caught in an endless loop of thousands of
DOMParser.parseFromString
sanitization instances. At some point it ends but I believe the browser is doing it. If I try it in Chrome, it never ends and hangs the tab.Expected output
Expected a TrustedHTML object.
The text was updated successfully, but these errors were encountered: