Skip to content

Commit ccfa3b4

Browse files
committedJun 27, 2013
Merge pull request #2 from igor-kulay/master
Bump jquery migrate to 1.2.1
2 parents 0deeab3 + b176000 commit ccfa3b4

File tree

3 files changed

+22
-13
lines changed

3 files changed

+22
-13
lines changed
 

‎lib/jquery-migrate-rails/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module Jquery
22
module Migrate
33
module Rails
4-
VERSION = "1.1.1"
4+
VERSION = "1.2.1"
55
end
66
end
77
end

‎vendor/assets/javascripts/jquery-migrate-min.js

+2-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎vendor/assets/javascripts/jquery-migrate.js

+19-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*!
2-
* jQuery Migrate - v1.1.1 - 2013-02-16
2+
* jQuery Migrate - v1.2.1 - 2013-05-08
33
* https://github.com/jquery/jquery-migrate
44
* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors; Licensed MIT
55
*/
@@ -17,8 +17,8 @@ jQuery.migrateWarnings = [];
1717
// jQuery.migrateMute = false;
1818

1919
// Show a message on the console so devs know we're active
20-
if ( !jQuery.migrateMute && window.console && console.log ) {
21-
console.log("JQMIGRATE: Logging is active");
20+
if ( !jQuery.migrateMute && window.console && window.console.log ) {
21+
window.console.log("JQMIGRATE: Logging is active");
2222
}
2323

2424
// Set to false to disable traces that appear with warnings
@@ -33,10 +33,11 @@ jQuery.migrateReset = function() {
3333
};
3434

3535
function migrateWarn( msg) {
36+
var console = window.console;
3637
if ( !warnedAbout[ msg ] ) {
3738
warnedAbout[ msg ] = true;
3839
jQuery.migrateWarnings.push( msg );
39-
if ( window.console && console.warn && !jQuery.migrateMute ) {
40+
if ( console && console.warn && !jQuery.migrateMute ) {
4041
console.warn( "JQMIGRATE: " + msg );
4142
if ( jQuery.migrateTrace && console.trace ) {
4243
console.trace();
@@ -189,26 +190,35 @@ jQuery.attrHooks.value = {
189190
var matched, browser,
190191
oldInit = jQuery.fn.init,
191192
oldParseJSON = jQuery.parseJSON,
192-
// Note this does NOT include the #9521 XSS fix from 1.7!
193-
rquickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*|#([\w\-]*))$/;
193+
// Note: XSS check is done below after string is trimmed
194+
rquickExpr = /^([^<]*)(<[\w\W]+>)([^>]*)$/;
194195

195196
// $(html) "looks like html" rule change
196197
jQuery.fn.init = function( selector, context, rootjQuery ) {
197198
var match;
198199

199200
if ( selector && typeof selector === "string" && !jQuery.isPlainObject( context ) &&
200-
(match = rquickExpr.exec( selector )) && match[1] ) {
201+
(match = rquickExpr.exec( jQuery.trim( selector ) )) && match[ 0 ] ) {
201202
// This is an HTML string according to the "old" rules; is it still?
202203
if ( selector.charAt( 0 ) !== "<" ) {
203204
migrateWarn("$(html) HTML strings must start with '<' character");
204205
}
206+
if ( match[ 3 ] ) {
207+
migrateWarn("$(html) HTML text after last tag is ignored");
208+
}
209+
// Consistently reject any HTML-like string starting with a hash (#9521)
210+
// Note that this may break jQuery 1.6.x code that otherwise would work.
211+
if ( match[ 0 ].charAt( 0 ) === "#" ) {
212+
migrateWarn("HTML string cannot start with a '#' character");
213+
jQuery.error("JQMIGRATE: Invalid selector string (XSS)");
214+
}
205215
// Now process using loose rules; let pre-1.8 play too
206216
if ( context && context.context ) {
207217
// jQuery object as context; parseHTML expects a DOM object
208218
context = context.context;
209219
}
210220
if ( jQuery.parseHTML ) {
211-
return oldInit.call( this, jQuery.parseHTML( jQuery.trim(selector), context, true ),
221+
return oldInit.call( this, jQuery.parseHTML( match[ 2 ], context, true ),
212222
context, rootjQuery );
213223
}
214224
}
@@ -508,4 +518,4 @@ jQuery.each( ajaxEvents.split("|"),
508518
);
509519

510520

511-
})( jQuery, window );
521+
})( jQuery, window );

0 commit comments

Comments
 (0)
Please sign in to comment.