1/** 2 * File polyfills.js. 3 * 4 * Polyfills for IE11. 5 */ 6 7/** 8 * Polyfill for Element.closest() because we need to support IE11. 9 * 10 * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/closest 11 */ 12if ( ! Element.prototype.matches ) { 13 Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector; 14} 15 16if ( ! Element.prototype.closest ) { 17 Element.prototype.closest = function( s ) { 18 var el = this; 19 do { 20 if ( Element.prototype.matches.call( el, s ) ) { 21 return el; 22 } 23 el = el.parentElement || el.parentNode; 24 } while ( el !== null && el.nodeType === 1 ); 25 return null; 26 }; 27} 28 29/** 30 * Polyfill for NodeList.foreach() because we need to support IE11. 31 * 32 * @see https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach 33 */ 34if ( window.NodeList && ! NodeList.prototype.forEach ) { 35 NodeList.prototype.forEach = function( callback, thisArg ) { 36 var i; 37 thisArg = thisArg || window; 38 for ( i = 0; i < this.length; i++ ) { 39 callback.call( thisArg, this[i], i, this ); 40 } 41 }; 42}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.