diff --git a/dist/jquery.js b/dist/jquery.js index 5c3c456ac4..183b0c9047 100644 --- a/dist/jquery.js +++ b/dist/jquery.js @@ -1,5 +1,5 @@ /*! - * jQuery JavaScript Library v2.2.4 + * jQuery JavaScript Library v2.2.5-sec * http://jquery.com/ * * Includes Sizzle.js @@ -9,7 +9,7 @@ * Released under the MIT license * http://jquery.org/license * - * Date: 2016-05-20T17:23Z + * Date: 2024-02-21T04:25Z */ (function( global, factory ) { @@ -65,7 +65,7 @@ var support = {}; var - version = "2.2.4", + version = "2.2.5-sec", // Define a local copy of jQuery jQuery = function( selector, context ) { @@ -209,8 +209,9 @@ jQuery.extend = jQuery.fn.extend = function() { src = target[ name ]; copy = options[ name ]; + // Prevent Object.prototype pollution // Prevent never-ending loop - if ( target === copy ) { + if ( name === "__proto__" || target === copy ) { continue; } @@ -4249,12 +4250,41 @@ var rscriptType = ( /^$|\/(?:java|ecma)script/i ); +( function() { + var fragment = document.createDocumentFragment(), + div = fragment.appendChild( document.createElement( "div" ) ), + input = document.createElement( "input" ); + + // Support: Android 4.0-4.3, Safari<=5.1 + // Check state lost if the name is set (#11217) + // Support: Windows Web Apps (WWA) + // `name` and `type` must use .setAttribute for WWA (#14901) + input.setAttribute( "type", "radio" ); + input.setAttribute( "checked", "checked" ); + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + + // Support: Safari<=5.1, Android<4.2 + // Older WebKit doesn't clone checked state correctly in fragments + support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Support: IE<=11+ + // Make sure textarea (and checkbox) defaultValue is properly cloned + div.innerHTML = ""; + support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; + + // Support: IE <=9 only + // IE <=9 replaces "; + support.option = !!div.lastChild; +} )(); + + // We have to close these tags to support XHTML (#13200) var wrapMap = { - // Support: IE9 - option: [ 1, "" ], - // XHTML parsers do not magically insert elements in the // same way that tag soup parsers do. So we cannot shorten // this by omitting
or other required elements. @@ -4266,12 +4296,14 @@ var wrapMap = { _default: [ 0, "", "" ] }; -// Support: IE9 -wrapMap.optgroup = wrapMap.option; - wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; wrapMap.th = wrapMap.td; +// Support: IE <=9 only +if ( !support.option ) { + wrapMap.optgroup = wrapMap.option = [ 1, "" ]; +} + function getAll( context, tag ) { @@ -4396,32 +4428,6 @@ function buildFragment( elems, context, scripts, selection, ignored ) { } -( function() { - var fragment = document.createDocumentFragment(), - div = fragment.appendChild( document.createElement( "div" ) ), - input = document.createElement( "input" ); - - // Support: Android 4.0-4.3, Safari<=5.1 - // Check state lost if the name is set (#11217) - // Support: Windows Web Apps (WWA) - // `name` and `type` must use .setAttribute for WWA (#14901) - input.setAttribute( "type", "radio" ); - input.setAttribute( "checked", "checked" ); - input.setAttribute( "name", "t" ); - - div.appendChild( input ); - - // Support: Safari<=5.1, Android<4.2 - // Older WebKit doesn't clone checked state correctly in fragments - support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked; - - // Support: IE<=11+ - // Make sure textarea (and checkbox) defaultValue is properly cloned - div.innerHTML = ""; - support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue; -} )(); - - var rkeyEvent = /^key/, rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, @@ -5121,13 +5127,10 @@ jQuery.fn.extend( { } ); -var - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi, - // Support: IE 10-11, Edge 10240+ // In IE/Edge using regex groups here causes severe slowdowns. // See https://connect.microsoft.com/IE/feedback/details/1736512/ - rnoInnerhtml = /" ); assert.equal( expectedArgument, 3, "synchronous execution" ); message = "custom implementation"; @@ -2424,7 +2424,7 @@ QUnit.test( "jQuery._evalUrl (#12838)", function( assert ) { jQuery.ajax = function( options ) { assert.strictEqual( options, {}, "Unexpected call to jQuery.ajax" ); }; - jQuery( "#qunit-fixture" ).append( "" ); + jQuery( "#qunit-fixture" ).append( "" ); jQuery.ajax = ajax; jQuery._evalUrl = evalUrl; @@ -2454,7 +2454,7 @@ QUnit.test( "jQuery.htmlPrefilter (gh-1747)", function( assert ) { expectedArgument = "A-" + poison + "B-" + poison + poison + "C-"; fixture.html( expectedArgument ); - expectedArgument = "D-" + poison + "E-" + "