diff -r 490d5cc509ed -r cf61fcea0001 wp/wp-includes/js/codemirror/htmlhint-kses.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-includes/js/codemirror/htmlhint-kses.js Mon Oct 14 17:39:30 2019 +0200 @@ -0,0 +1,30 @@ +/* global HTMLHint */ +/* eslint no-magic-numbers: ["error", { "ignore": [0, 1] }] */ +HTMLHint.addRule({ + id: 'kses', + description: 'Element or attribute cannot be used.', + init: function( parser, reporter, options ) { + 'use strict'; + + var self = this; + parser.addListener( 'tagstart', function( event ) { + var attr, col, attrName, allowedAttributes, i, len, tagName; + + tagName = event.tagName.toLowerCase(); + if ( ! options[ tagName ] ) { + reporter.error( 'Tag <' + event.tagName + '> is not allowed.', event.line, event.col, self, event.raw ); + return; + } + + allowedAttributes = options[ tagName ]; + col = event.col + event.tagName.length + 1; + for ( i = 0, len = event.attrs.length; i < len; i++ ) { + attr = event.attrs[ i ]; + attrName = attr.name.toLowerCase(); + if ( ! allowedAttributes[ attrName ] ) { + reporter.error( 'Tag attribute [' + attr.raw + ' ] is not allowed.', event.line, col + attr.index, self, attr.raw ); + } + } + }); + } +});