mirror of
https://github.com/umap-project/umap.git
synced 2025-04-28 19:42:36 +02:00
chore: bump and pin front facing JS deps
This commit is contained in:
parent
828edb6108
commit
8daf4cd652
8 changed files with 30 additions and 32 deletions
13
package.json
13
package.json
|
@ -14,8 +14,7 @@
|
||||||
"fetch-mock": "^9.11.0",
|
"fetch-mock": "^9.11.0",
|
||||||
"happen": "~0.1.3",
|
"happen": "~0.1.3",
|
||||||
"lebab": "^3.2.1",
|
"lebab": "^3.2.1",
|
||||||
"mocha": "^10.3.0",
|
"mocha": "10.7.3",
|
||||||
"optimist": "~0.4.0",
|
|
||||||
"sinon": "^15.1.0",
|
"sinon": "^15.1.0",
|
||||||
"uglify-js": "~3.17.4"
|
"uglify-js": "~3.17.4"
|
||||||
},
|
},
|
||||||
|
@ -38,11 +37,11 @@
|
||||||
"homepage": "http://wiki.openstreetmap.org/wiki/UMap",
|
"homepage": "http://wiki.openstreetmap.org/wiki/UMap",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@dwayneparton/geojson-to-gpx": "^0.2.0",
|
"@dwayneparton/geojson-to-gpx": "^0.2.0",
|
||||||
"@placemarkio/tokml": "^0.3.3",
|
"@placemarkio/tokml": "0.3.4",
|
||||||
"@tmcw/togeojson": "^5.8.0",
|
"@tmcw/togeojson": "^5.8.0",
|
||||||
"colorbrewer": "^1.5.6",
|
"colorbrewer": "1.5.7",
|
||||||
"csv2geojson": "5.1.2",
|
"csv2geojson": "5.1.2",
|
||||||
"dompurify": "^3.0.11",
|
"dompurify": "3.1.7",
|
||||||
"georsstogeojson": "^0.2.0",
|
"georsstogeojson": "^0.2.0",
|
||||||
"jsdom": "^24.0.0",
|
"jsdom": "^24.0.0",
|
||||||
"leaflet": "1.9.4",
|
"leaflet": "1.9.4",
|
||||||
|
@ -58,12 +57,12 @@
|
||||||
"leaflet-minimap": "^3.6.1",
|
"leaflet-minimap": "^3.6.1",
|
||||||
"leaflet-toolbar": "umap-project/Leaflet.toolbar",
|
"leaflet-toolbar": "umap-project/Leaflet.toolbar",
|
||||||
"leaflet.heat": "0.2.0",
|
"leaflet.heat": "0.2.0",
|
||||||
"leaflet.locatecontrol": "^0.79.0",
|
"leaflet.locatecontrol": "0.81.1",
|
||||||
"leaflet.markercluster": "^1.5.3",
|
"leaflet.markercluster": "^1.5.3",
|
||||||
"leaflet.path.drag": "0.0.6",
|
"leaflet.path.drag": "0.0.6",
|
||||||
"leaflet.photon": "0.9.1",
|
"leaflet.photon": "0.9.1",
|
||||||
"osmtogeojson": "^3.0.0-beta.5",
|
"osmtogeojson": "^3.0.0-beta.5",
|
||||||
"simple-statistics": "^7.8.3"
|
"simple-statistics": "7.8.5"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"> 0.5%, last 2 versions, Firefox ESR, not dead, not op_mini all"
|
"> 0.5%, last 2 versions, Firefox ESR, not dead, not op_mini all"
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
(function (global, factory) {
|
(function (global, factory) {
|
||||||
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
|
||||||
typeof define === 'function' && define.amd ? define(factory) :
|
typeof define === 'function' && define.amd ? define(factory) :
|
||||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.colorbrewer = factory());
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.colorbewer = factory());
|
||||||
}(this, (function () { 'use strict';
|
})(this, (function () { 'use strict';
|
||||||
|
|
||||||
var index = {
|
var index = {
|
||||||
schemeGroups: {
|
schemeGroups: {
|
||||||
|
@ -315,4 +315,4 @@
|
||||||
|
|
||||||
return index;
|
return index;
|
||||||
|
|
||||||
})));
|
}));
|
||||||
|
|
31
umap/static/umap/vendors/dompurify/purify.es.js
vendored
31
umap/static/umap/vendors/dompurify/purify.es.js
vendored
|
@ -1,4 +1,4 @@
|
||||||
/*! @license DOMPurify 3.1.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.5/LICENSE */
|
/*! @license DOMPurify 3.1.7 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.7/LICENSE */
|
||||||
|
|
||||||
const {
|
const {
|
||||||
entries,
|
entries,
|
||||||
|
@ -197,7 +197,7 @@ const mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongd
|
||||||
const text = freeze(['#text']);
|
const text = freeze(['#text']);
|
||||||
|
|
||||||
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
const html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns', 'slot']);
|
||||||
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
const svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);
|
||||||
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
const mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);
|
||||||
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
const xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);
|
||||||
|
|
||||||
|
@ -209,11 +209,9 @@ const DATA_ATTR = seal(/^data-[\-\w.\u00B7-\uFFFF]/); // eslint-disable-line no-
|
||||||
const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
|
const ARIA_ATTR = seal(/^aria-[\-\w]+$/); // eslint-disable-line no-useless-escape
|
||||||
const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
|
const IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i // eslint-disable-line no-useless-escape
|
||||||
);
|
);
|
||||||
|
|
||||||
const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
|
const IS_SCRIPT_OR_DATA = seal(/^(?:\w+script|data):/i);
|
||||||
const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
|
const ATTR_WHITESPACE = seal(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g // eslint-disable-line no-control-regex
|
||||||
);
|
);
|
||||||
|
|
||||||
const DOCTYPE_NAME = seal(/^html$/i);
|
const DOCTYPE_NAME = seal(/^html$/i);
|
||||||
const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
|
const CUSTOM_ELEMENT = seal(/^[a-z][.\w]*(-[.\w]+)+$/i);
|
||||||
|
|
||||||
|
@ -248,7 +246,6 @@ const NODE_TYPE = {
|
||||||
documentFragment: 11,
|
documentFragment: 11,
|
||||||
notation: 12 // Deprecated
|
notation: 12 // Deprecated
|
||||||
};
|
};
|
||||||
|
|
||||||
const getGlobal = function getGlobal() {
|
const getGlobal = function getGlobal() {
|
||||||
return typeof window === 'undefined' ? null : window;
|
return typeof window === 'undefined' ? null : window;
|
||||||
};
|
};
|
||||||
|
@ -300,7 +297,7 @@ function createDOMPurify() {
|
||||||
* Version label, exposed for easier checks
|
* Version label, exposed for easier checks
|
||||||
* if DOMPurify is up to date or not
|
* if DOMPurify is up to date or not
|
||||||
*/
|
*/
|
||||||
DOMPurify.version = '3.1.5';
|
DOMPurify.version = '3.1.7';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Array of elements that DOMPurify removed during sanitation.
|
* Array of elements that DOMPurify removed during sanitation.
|
||||||
|
@ -331,6 +328,7 @@ function createDOMPurify() {
|
||||||
} = window;
|
} = window;
|
||||||
const ElementPrototype = Element.prototype;
|
const ElementPrototype = Element.prototype;
|
||||||
const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');
|
const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');
|
||||||
|
const remove = lookupGetter(ElementPrototype, 'remove');
|
||||||
const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');
|
const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');
|
||||||
const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');
|
const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');
|
||||||
const getParentNode = lookupGetter(ElementPrototype, 'parentNode');
|
const getParentNode = lookupGetter(ElementPrototype, 'parentNode');
|
||||||
|
@ -719,7 +717,7 @@ function createDOMPurify() {
|
||||||
CONFIG = cfg;
|
CONFIG = cfg;
|
||||||
};
|
};
|
||||||
const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);
|
const MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);
|
||||||
const HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'annotation-xml']);
|
const HTML_INTEGRATION_POINTS = addToSet({}, ['annotation-xml']);
|
||||||
|
|
||||||
// Certain elements are allowed in both SVG and HTML
|
// Certain elements are allowed in both SVG and HTML
|
||||||
// namespace. We need to specify them explicitly
|
// namespace. We need to specify them explicitly
|
||||||
|
@ -831,9 +829,9 @@ function createDOMPurify() {
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
// eslint-disable-next-line unicorn/prefer-dom-node-remove
|
// eslint-disable-next-line unicorn/prefer-dom-node-remove
|
||||||
node.parentNode.removeChild(node);
|
getParentNode(node).removeChild(node);
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
node.remove();
|
remove(node);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1010,7 +1008,7 @@ function createDOMPurify() {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remove any ocurrence of processing instructions */
|
/* Remove any occurrence of processing instructions */
|
||||||
if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
|
if (currentNode.nodeType === NODE_TYPE.progressingInstruction) {
|
||||||
_forceRemove(currentNode);
|
_forceRemove(currentNode);
|
||||||
return true;
|
return true;
|
||||||
|
@ -1179,6 +1177,7 @@ function createDOMPurify() {
|
||||||
hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
|
hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set
|
||||||
_executeHook('uponSanitizeAttribute', currentNode, hookEvent);
|
_executeHook('uponSanitizeAttribute', currentNode, hookEvent);
|
||||||
value = hookEvent.attrValue;
|
value = hookEvent.attrValue;
|
||||||
|
|
||||||
/* Did the hooks approve of the attribute? */
|
/* Did the hooks approve of the attribute? */
|
||||||
if (hookEvent.forceKeepAttr) {
|
if (hookEvent.forceKeepAttr) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -1198,12 +1197,6 @@ function createDOMPurify() {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Work around a security issue with comments inside attributes */
|
|
||||||
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
|
||||||
_removeAttribute(name, currentNode);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sanitize attribute content to be template-safe */
|
/* Sanitize attribute content to be template-safe */
|
||||||
if (SAFE_FOR_TEMPLATES) {
|
if (SAFE_FOR_TEMPLATES) {
|
||||||
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
|
arrayForEach([MUSTACHE_EXPR, ERB_EXPR, TMPLIT_EXPR], expr => {
|
||||||
|
@ -1228,6 +1221,12 @@ function createDOMPurify() {
|
||||||
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
value = SANITIZE_NAMED_PROPS_PREFIX + value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Work around a security issue with comments inside attributes */
|
||||||
|
if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\/(style|title)/i, value)) {
|
||||||
|
_removeAttribute(name, currentNode);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
/* Handle attributes that require Trusted Types */
|
/* Handle attributes that require Trusted Types */
|
||||||
if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {
|
if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function') {
|
||||||
if (namespaceURI) ; else {
|
if (namespaceURI) ; else {
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in a new issue