--- /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 );
+ }
+ }
+ });
+ }
+});