@openui5/sap.ui.core
Version:
OpenUI5 Core Library sap.ui.core
50 lines (41 loc) • 1.38 kB
JavaScript
/*!
* OpenUI5
* (c) Copyright 2009-2021 SAP SE or an SAP affiliate company.
* Licensed under the Apache License, Version 2.0 - see LICENSE.txt.
*/
/*
* IMPORTANT: This is a private module, its API must not be used and is subject to change.
* Code other than the OpenUI5 libraries must not introduce dependencies to this module.
*/
sap.ui.define([
"sap/base/assert",
"sap/base/security/URLListValidator",
"sap/ui/thirdparty/caja-html-sanitizer"
], function(assert, URLListValidator /*cajaHtmlSanitizer*/) {
"use strict";
/**
* Strips unsafe tags and attributes from HTML.
*
* @function
* @since 1.58
* @alias module:sap/base/security/sanitizeHTML
* @param {string} sHTML the HTML to be sanitized.
* @param {object} [mOptions={}] options for the sanitizer
* @return {string} sanitized HTML
* @private
*/
var fnSanitizeHTML = function(sHTML, mOptions) {
assert(window.html && window.html.sanitize, "Sanitizer should have been loaded");
mOptions = mOptions || {
uriRewriter: function(sUrl) {
// by default, we use the URLListValidator to check the URLs
if (URLListValidator.validate(sUrl)) {
return sUrl;
}
}
};
var oTagPolicy = mOptions.tagPolicy || window.html.makeTagPolicy(mOptions.uriRewriter, mOptions.tokenPolicy);
return window.html.sanitizeWithPolicy(sHTML, oTagPolicy);
};
return fnSanitizeHTML;
});