jquery-cdn 2.1.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3c4a3dcdc4adbd1ab7d25df1cb27a922e760ea79
4
- data.tar.gz: bc7dcf40638528286ebe4401446468fce5580256
3
+ metadata.gz: 9bb9fe941394a3eb989d77673ea25cd98cc22074
4
+ data.tar.gz: 88cca1b9fae2556f0ab6f162363c3a2c229c42eb
5
5
  SHA512:
6
- metadata.gz: a159596b4a76a1ff3fd736a4d289cf62607bf748e46df86fd2007a6121dd79b0b09e956595d2686bd785d540820e3d291a4c9c985b9154d0805dbb71f2a11177
7
- data.tar.gz: f77e904d35a730c0817b8ac4b1774bc0c6fb40343e3e1c00f492a284bd0df33da051843439836bd819cb64e3e5d0b75236455d30868635122d80b045799e0dad
6
+ metadata.gz: 4017fbdf7c2a61380f957e53ca05b4c28aca6ee9e280a98de1d67a68941acdda1d90b9e0e1ef1b8dd05f120c4011932212dad7a912c55a25b210bd4031845a53
7
+ data.tar.gz: 9e065b06bbb903f10d6304333dbc694bff78796d0992f7ea7c318447b338af45d9b9b59f30bd9c7ede94beb33c8954ddc4eda4f8d16cde2838d9eaa204ce8dc1
@@ -1,3 +1,3 @@
1
1
  module JqueryCdn
2
- VERSION = "2.1.0"
2
+ VERSION = "2.1.1"
3
3
  end
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * jQuery JavaScript Library v2.1.0
2
+ * jQuery JavaScript Library v2.1.1
3
3
  * http://jquery.com/
4
4
  *
5
5
  * Includes Sizzle.js
@@ -9,7 +9,7 @@
9
9
  * Released under the MIT license
10
10
  * http://jquery.org/license
11
11
  *
12
- * Date: 2014-01-23T21:10Z
12
+ * Date: 2014-05-01T17:11Z
13
13
  */
14
14
 
15
15
  (function( global, factory ) {
@@ -59,8 +59,6 @@ var toString = class2type.toString;
59
59
 
60
60
  var hasOwn = class2type.hasOwnProperty;
61
61
 
62
- var trim = "".trim;
63
-
64
62
  var support = {};
65
63
 
66
64
 
@@ -69,7 +67,7 @@ var
69
67
  // Use the correct document accordingly with window argument (sandbox)
70
68
  document = window.document,
71
69
 
72
- version = "2.1.0",
70
+ version = "2.1.1",
73
71
 
74
72
  // Define a local copy of jQuery
75
73
  jQuery = function( selector, context ) {
@@ -78,6 +76,10 @@ var
78
76
  return new jQuery.fn.init( selector, context );
79
77
  },
80
78
 
79
+ // Support: Android<4.1
80
+ // Make sure we trim BOM and NBSP
81
+ rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
82
+
81
83
  // Matches dashed string for camelizing
82
84
  rmsPrefix = /^-ms-/,
83
85
  rdashAlpha = /-([\da-z])/gi,
@@ -108,10 +110,10 @@ jQuery.fn = jQuery.prototype = {
108
110
  get: function( num ) {
109
111
  return num != null ?
110
112
 
111
- // Return a 'clean' array
113
+ // Return just the one element from the set
112
114
  ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
113
115
 
114
- // Return just the object
116
+ // Return all the elements in a clean array
115
117
  slice.call( this );
116
118
  },
117
119
 
@@ -267,7 +269,7 @@ jQuery.extend({
267
269
  // parseFloat NaNs numeric-cast false positives (null|true|false|"")
268
270
  // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
269
271
  // subtraction forces infinities to NaN
270
- return obj - parseFloat( obj ) >= 0;
272
+ return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0;
271
273
  },
272
274
 
273
275
  isPlainObject: function( obj ) {
@@ -279,16 +281,8 @@ jQuery.extend({
279
281
  return false;
280
282
  }
281
283
 
282
- // Support: Firefox <20
283
- // The try/catch suppresses exceptions thrown when attempting to access
284
- // the "constructor" property of certain host objects, ie. |window.location|
285
- // https://bugzilla.mozilla.org/show_bug.cgi?id=814622
286
- try {
287
- if ( obj.constructor &&
288
- !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
289
- return false;
290
- }
291
- } catch ( e ) {
284
+ if ( obj.constructor &&
285
+ !hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
292
286
  return false;
293
287
  }
294
288
 
@@ -398,8 +392,11 @@ jQuery.extend({
398
392
  return obj;
399
393
  },
400
394
 
395
+ // Support: Android<4.1
401
396
  trim: function( text ) {
402
- return text == null ? "" : trim.call( text );
397
+ return text == null ?
398
+ "" :
399
+ ( text + "" ).replace( rtrim, "" );
403
400
  },
404
401
 
405
402
  // results is for internal usage only
@@ -551,14 +548,14 @@ function isArraylike( obj ) {
551
548
  }
552
549
  var Sizzle =
553
550
  /*!
554
- * Sizzle CSS Selector Engine v1.10.16
551
+ * Sizzle CSS Selector Engine v1.10.19
555
552
  * http://sizzlejs.com/
556
553
  *
557
554
  * Copyright 2013 jQuery Foundation, Inc. and other contributors
558
555
  * Released under the MIT license
559
556
  * http://jquery.org/license
560
557
  *
561
- * Date: 2014-01-13
558
+ * Date: 2014-04-18
562
559
  */
563
560
  (function( window ) {
564
561
 
@@ -567,7 +564,9 @@ var i,
567
564
  Expr,
568
565
  getText,
569
566
  isXML,
567
+ tokenize,
570
568
  compile,
569
+ select,
571
570
  outermostContext,
572
571
  sortInput,
573
572
  hasDuplicate,
@@ -634,17 +633,23 @@ var i,
634
633
  // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
635
634
  identifier = characterEncoding.replace( "w", "w#" ),
636
635
 
637
- // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
638
- attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
639
- "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
640
-
641
- // Prefer arguments quoted,
642
- // then not containing pseudos/brackets,
643
- // then attribute selectors/non-parenthetical expressions,
644
- // then anything else
645
- // These preferences are here to reduce the number of selectors
646
- // needing tokenize in the PSEUDO preFilter
647
- pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)",
636
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
637
+ attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace +
638
+ // Operator (capture 2)
639
+ "*([*^$|!~]?=)" + whitespace +
640
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
641
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
642
+ "*\\]",
643
+
644
+ pseudos = ":(" + characterEncoding + ")(?:\\((" +
645
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
646
+ // 1. quoted (capture 3; capture 4 or capture 5)
647
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
648
+ // 2. simple (capture 6)
649
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
650
+ // 3. anything else (capture 2)
651
+ ".*" +
652
+ ")\\)|)",
648
653
 
649
654
  // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
650
655
  rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
@@ -689,7 +694,7 @@ var i,
689
694
  funescape = function( _, escaped, escapedWhitespace ) {
690
695
  var high = "0x" + escaped - 0x10000;
691
696
  // NaN means non-codepoint
692
- // Support: Firefox
697
+ // Support: Firefox<24
693
698
  // Workaround erroneous numeric interpretation of +"0x"
694
699
  return high !== high || escapedWhitespace ?
695
700
  escaped :
@@ -1085,7 +1090,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1085
1090
  var m = context.getElementById( id );
1086
1091
  // Check parentNode to catch when Blackberry 4.6 returns
1087
1092
  // nodes that are no longer in the document #6963
1088
- return m && m.parentNode ? [m] : [];
1093
+ return m && m.parentNode ? [ m ] : [];
1089
1094
  }
1090
1095
  };
1091
1096
  Expr.filter["ID"] = function( id ) {
@@ -1165,11 +1170,13 @@ setDocument = Sizzle.setDocument = function( node ) {
1165
1170
  // setting a boolean content attribute,
1166
1171
  // since its presence should be enough
1167
1172
  // http://bugs.jquery.com/ticket/12359
1168
- div.innerHTML = "<select t=''><option selected=''></option></select>";
1173
+ div.innerHTML = "<select msallowclip=''><option selected=''></option></select>";
1169
1174
 
1170
- // Support: IE8, Opera 10-12
1175
+ // Support: IE8, Opera 11-12.16
1171
1176
  // Nothing should be selected when empty strings follow ^= or $= or *=
1172
- if ( div.querySelectorAll("[t^='']").length ) {
1177
+ // The test attribute must be unknown in Opera but "safe" for WinRT
1178
+ // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
1179
+ if ( div.querySelectorAll("[msallowclip^='']").length ) {
1173
1180
  rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
1174
1181
  }
1175
1182
 
@@ -1212,7 +1219,8 @@ setDocument = Sizzle.setDocument = function( node ) {
1212
1219
  });
1213
1220
  }
1214
1221
 
1215
- if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector ||
1222
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
1223
+ docElem.webkitMatchesSelector ||
1216
1224
  docElem.mozMatchesSelector ||
1217
1225
  docElem.oMatchesSelector ||
1218
1226
  docElem.msMatchesSelector) )) ) {
@@ -1393,7 +1401,7 @@ Sizzle.matchesSelector = function( elem, expr ) {
1393
1401
  } catch(e) {}
1394
1402
  }
1395
1403
 
1396
- return Sizzle( expr, document, null, [elem] ).length > 0;
1404
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
1397
1405
  };
1398
1406
 
1399
1407
  Sizzle.contains = function( context, elem ) {
@@ -1522,7 +1530,7 @@ Expr = Sizzle.selectors = {
1522
1530
  match[1] = match[1].replace( runescape, funescape );
1523
1531
 
1524
1532
  // Move the given value to match[3] whether quoted or unquoted
1525
- match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape );
1533
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
1526
1534
 
1527
1535
  if ( match[2] === "~=" ) {
1528
1536
  match[3] = " " + match[3] + " ";
@@ -1565,15 +1573,15 @@ Expr = Sizzle.selectors = {
1565
1573
 
1566
1574
  "PSEUDO": function( match ) {
1567
1575
  var excess,
1568
- unquoted = !match[5] && match[2];
1576
+ unquoted = !match[6] && match[2];
1569
1577
 
1570
1578
  if ( matchExpr["CHILD"].test( match[0] ) ) {
1571
1579
  return null;
1572
1580
  }
1573
1581
 
1574
1582
  // Accept quoted arguments as-is
1575
- if ( match[3] && match[4] !== undefined ) {
1576
- match[2] = match[4];
1583
+ if ( match[3] ) {
1584
+ match[2] = match[4] || match[5] || "";
1577
1585
 
1578
1586
  // Strip excess characters from unquoted arguments
1579
1587
  } else if ( unquoted && rpseudo.test( unquoted ) &&
@@ -1978,7 +1986,7 @@ function setFilters() {}
1978
1986
  setFilters.prototype = Expr.filters = Expr.pseudos;
1979
1987
  Expr.setFilters = new setFilters();
1980
1988
 
1981
- function tokenize( selector, parseOnly ) {
1989
+ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
1982
1990
  var matched, match, tokens, type,
1983
1991
  soFar, groups, preFilters,
1984
1992
  cached = tokenCache[ selector + " " ];
@@ -2043,7 +2051,7 @@ function tokenize( selector, parseOnly ) {
2043
2051
  Sizzle.error( selector ) :
2044
2052
  // Cache the tokens
2045
2053
  tokenCache( selector, groups ).slice( 0 );
2046
- }
2054
+ };
2047
2055
 
2048
2056
  function toSelector( tokens ) {
2049
2057
  var i = 0,
@@ -2122,6 +2130,15 @@ function elementMatcher( matchers ) {
2122
2130
  matchers[0];
2123
2131
  }
2124
2132
 
2133
+ function multipleContexts( selector, contexts, results ) {
2134
+ var i = 0,
2135
+ len = contexts.length;
2136
+ for ( ; i < len; i++ ) {
2137
+ Sizzle( selector, contexts[i], results );
2138
+ }
2139
+ return results;
2140
+ }
2141
+
2125
2142
  function condense( unmatched, map, filter, context, xml ) {
2126
2143
  var elem,
2127
2144
  newUnmatched = [],
@@ -2390,7 +2407,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2390
2407
  superMatcher;
2391
2408
  }
2392
2409
 
2393
- compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
2410
+ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2394
2411
  var i,
2395
2412
  setMatchers = [],
2396
2413
  elementMatchers = [],
@@ -2398,12 +2415,12 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
2398
2415
 
2399
2416
  if ( !cached ) {
2400
2417
  // Generate a function of recursive functions that can be used to check each element
2401
- if ( !group ) {
2402
- group = tokenize( selector );
2418
+ if ( !match ) {
2419
+ match = tokenize( selector );
2403
2420
  }
2404
- i = group.length;
2421
+ i = match.length;
2405
2422
  while ( i-- ) {
2406
- cached = matcherFromTokens( group[i] );
2423
+ cached = matcherFromTokens( match[i] );
2407
2424
  if ( cached[ expando ] ) {
2408
2425
  setMatchers.push( cached );
2409
2426
  } else {
@@ -2413,74 +2430,83 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
2413
2430
 
2414
2431
  // Cache the compiled function
2415
2432
  cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
2433
+
2434
+ // Save selector and tokenization
2435
+ cached.selector = selector;
2416
2436
  }
2417
2437
  return cached;
2418
2438
  };
2419
2439
 
2420
- function multipleContexts( selector, contexts, results ) {
2421
- var i = 0,
2422
- len = contexts.length;
2423
- for ( ; i < len; i++ ) {
2424
- Sizzle( selector, contexts[i], results );
2425
- }
2426
- return results;
2427
- }
2428
-
2429
- function select( selector, context, results, seed ) {
2440
+ /**
2441
+ * A low-level selection function that works with Sizzle's compiled
2442
+ * selector functions
2443
+ * @param {String|Function} selector A selector or a pre-compiled
2444
+ * selector function built with Sizzle.compile
2445
+ * @param {Element} context
2446
+ * @param {Array} [results]
2447
+ * @param {Array} [seed] A set of elements to match against
2448
+ */
2449
+ select = Sizzle.select = function( selector, context, results, seed ) {
2430
2450
  var i, tokens, token, type, find,
2431
- match = tokenize( selector );
2451
+ compiled = typeof selector === "function" && selector,
2452
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
2453
+
2454
+ results = results || [];
2432
2455
 
2433
- if ( !seed ) {
2434
- // Try to minimize operations if there is only one group
2435
- if ( match.length === 1 ) {
2456
+ // Try to minimize operations if there is no seed and only one group
2457
+ if ( match.length === 1 ) {
2436
2458
 
2437
- // Take a shortcut and set the context if the root selector is an ID
2438
- tokens = match[0] = match[0].slice( 0 );
2439
- if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
2440
- support.getById && context.nodeType === 9 && documentIsHTML &&
2441
- Expr.relative[ tokens[1].type ] ) {
2459
+ // Take a shortcut and set the context if the root selector is an ID
2460
+ tokens = match[0] = match[0].slice( 0 );
2461
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
2462
+ support.getById && context.nodeType === 9 && documentIsHTML &&
2463
+ Expr.relative[ tokens[1].type ] ) {
2442
2464
 
2443
- context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
2444
- if ( !context ) {
2445
- return results;
2446
- }
2447
- selector = selector.slice( tokens.shift().value.length );
2465
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
2466
+ if ( !context ) {
2467
+ return results;
2468
+
2469
+ // Precompiled matchers will still verify ancestry, so step up a level
2470
+ } else if ( compiled ) {
2471
+ context = context.parentNode;
2448
2472
  }
2449
2473
 
2450
- // Fetch a seed set for right-to-left matching
2451
- i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
2452
- while ( i-- ) {
2453
- token = tokens[i];
2474
+ selector = selector.slice( tokens.shift().value.length );
2475
+ }
2454
2476
 
2455
- // Abort if we hit a combinator
2456
- if ( Expr.relative[ (type = token.type) ] ) {
2457
- break;
2458
- }
2459
- if ( (find = Expr.find[ type ]) ) {
2460
- // Search, expanding context for leading sibling combinators
2461
- if ( (seed = find(
2462
- token.matches[0].replace( runescape, funescape ),
2463
- rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
2464
- )) ) {
2465
-
2466
- // If seed is empty or no tokens remain, we can return early
2467
- tokens.splice( i, 1 );
2468
- selector = seed.length && toSelector( tokens );
2469
- if ( !selector ) {
2470
- push.apply( results, seed );
2471
- return results;
2472
- }
2477
+ // Fetch a seed set for right-to-left matching
2478
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
2479
+ while ( i-- ) {
2480
+ token = tokens[i];
2473
2481
 
2474
- break;
2482
+ // Abort if we hit a combinator
2483
+ if ( Expr.relative[ (type = token.type) ] ) {
2484
+ break;
2485
+ }
2486
+ if ( (find = Expr.find[ type ]) ) {
2487
+ // Search, expanding context for leading sibling combinators
2488
+ if ( (seed = find(
2489
+ token.matches[0].replace( runescape, funescape ),
2490
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
2491
+ )) ) {
2492
+
2493
+ // If seed is empty or no tokens remain, we can return early
2494
+ tokens.splice( i, 1 );
2495
+ selector = seed.length && toSelector( tokens );
2496
+ if ( !selector ) {
2497
+ push.apply( results, seed );
2498
+ return results;
2475
2499
  }
2500
+
2501
+ break;
2476
2502
  }
2477
2503
  }
2478
2504
  }
2479
2505
  }
2480
2506
 
2481
- // Compile and execute a filtering function
2507
+ // Compile and execute a filtering function if one is not provided
2482
2508
  // Provide `match` to avoid retokenization if we modified the selector above
2483
- compile( selector, match )(
2509
+ ( compiled || compile( selector, match ) )(
2484
2510
  seed,
2485
2511
  context,
2486
2512
  !documentIsHTML,
@@ -2488,7 +2514,7 @@ function select( selector, context, results, seed ) {
2488
2514
  rsibling.test( selector ) && testContext( context.parentNode ) || context
2489
2515
  );
2490
2516
  return results;
2491
- }
2517
+ };
2492
2518
 
2493
2519
  // One-time assignments
2494
2520
 
@@ -3365,8 +3391,9 @@ jQuery.extend({
3365
3391
  readyList.resolveWith( document, [ jQuery ] );
3366
3392
 
3367
3393
  // Trigger any bound ready events
3368
- if ( jQuery.fn.trigger ) {
3369
- jQuery( document ).trigger("ready").off("ready");
3394
+ if ( jQuery.fn.triggerHandler ) {
3395
+ jQuery( document ).triggerHandler( "ready" );
3396
+ jQuery( document ).off( "ready" );
3370
3397
  }
3371
3398
  }
3372
3399
  });
@@ -3738,11 +3765,15 @@ jQuery.fn.extend({
3738
3765
  if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
3739
3766
  i = attrs.length;
3740
3767
  while ( i-- ) {
3741
- name = attrs[ i ].name;
3742
3768
 
3743
- if ( name.indexOf( "data-" ) === 0 ) {
3744
- name = jQuery.camelCase( name.slice(5) );
3745
- dataAttr( elem, name, data[ name ] );
3769
+ // Support: IE11+
3770
+ // The attrs elements can be null (#14894)
3771
+ if ( attrs[ i ] ) {
3772
+ name = attrs[ i ].name;
3773
+ if ( name.indexOf( "data-" ) === 0 ) {
3774
+ name = jQuery.camelCase( name.slice(5) );
3775
+ dataAttr( elem, name, data[ name ] );
3776
+ }
3746
3777
  }
3747
3778
  }
3748
3779
  data_priv.set( elem, "hasDataAttrs", true );
@@ -3972,10 +4003,17 @@ var rcheckableType = (/^(?:checkbox|radio)$/i);
3972
4003
 
3973
4004
  (function() {
3974
4005
  var fragment = document.createDocumentFragment(),
3975
- div = fragment.appendChild( document.createElement( "div" ) );
4006
+ div = fragment.appendChild( document.createElement( "div" ) ),
4007
+ input = document.createElement( "input" );
3976
4008
 
3977
4009
  // #11217 - WebKit loses check when the name is after the checked attribute
3978
- div.innerHTML = "<input type='radio' checked='checked' name='t'/>";
4010
+ // Support: Windows Web Apps (WWA)
4011
+ // `name` and `type` need .setAttribute for WWA
4012
+ input.setAttribute( "type", "radio" );
4013
+ input.setAttribute( "checked", "checked" );
4014
+ input.setAttribute( "name", "t" );
4015
+
4016
+ div.appendChild( input );
3979
4017
 
3980
4018
  // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
3981
4019
  // old WebKit doesn't clone checked state correctly in fragments
@@ -3995,7 +4033,7 @@ support.focusinBubbles = "onfocusin" in window;
3995
4033
 
3996
4034
  var
3997
4035
  rkeyEvent = /^key/,
3998
- rmouseEvent = /^(?:mouse|contextmenu)|click/,
4036
+ rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
3999
4037
  rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
4000
4038
  rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
4001
4039
 
@@ -4564,7 +4602,7 @@ jQuery.event = {
4564
4602
 
4565
4603
  // Support: Firefox 20+
4566
4604
  // Firefox doesn't alert if the returnValue field is not set.
4567
- if ( event.result !== undefined ) {
4605
+ if ( event.result !== undefined && event.originalEvent ) {
4568
4606
  event.originalEvent.returnValue = event.result;
4569
4607
  }
4570
4608
  }
@@ -4615,9 +4653,9 @@ jQuery.Event = function( src, props ) {
4615
4653
  // Events bubbling up the document may have been marked as prevented
4616
4654
  // by a handler lower down the tree; reflect the correct value.
4617
4655
  this.isDefaultPrevented = src.defaultPrevented ||
4618
- // Support: Android < 4.0
4619
4656
  src.defaultPrevented === undefined &&
4620
- src.getPreventDefault && src.getPreventDefault() ?
4657
+ // Support: Android < 4.0
4658
+ src.returnValue === false ?
4621
4659
  returnTrue :
4622
4660
  returnFalse;
4623
4661
 
@@ -4664,7 +4702,14 @@ jQuery.Event.prototype = {
4664
4702
  }
4665
4703
  },
4666
4704
  stopImmediatePropagation: function() {
4705
+ var e = this.originalEvent;
4706
+
4667
4707
  this.isImmediatePropagationStopped = returnTrue;
4708
+
4709
+ if ( e && e.stopImmediatePropagation ) {
4710
+ e.stopImmediatePropagation();
4711
+ }
4712
+
4668
4713
  this.stopPropagation();
4669
4714
  }
4670
4715
  };
@@ -4673,7 +4718,9 @@ jQuery.Event.prototype = {
4673
4718
  // Support: Chrome 15+
4674
4719
  jQuery.each({
4675
4720
  mouseenter: "mouseover",
4676
- mouseleave: "mouseout"
4721
+ mouseleave: "mouseout",
4722
+ pointerenter: "pointerover",
4723
+ pointerleave: "pointerout"
4677
4724
  }, function( orig, fix ) {
4678
4725
  jQuery.event.special[ orig ] = {
4679
4726
  delegateType: fix,
@@ -5098,7 +5145,7 @@ jQuery.extend({
5098
5145
  },
5099
5146
 
5100
5147
  cleanData: function( elems ) {
5101
- var data, elem, events, type, key, j,
5148
+ var data, elem, type, key,
5102
5149
  special = jQuery.event.special,
5103
5150
  i = 0;
5104
5151
 
@@ -5107,9 +5154,8 @@ jQuery.extend({
5107
5154
  key = elem[ data_priv.expando ];
5108
5155
 
5109
5156
  if ( key && (data = data_priv.cache[ key ]) ) {
5110
- events = Object.keys( data.events || {} );
5111
- if ( events.length ) {
5112
- for ( j = 0; (type = events[j]) !== undefined; j++ ) {
5157
+ if ( data.events ) {
5158
+ for ( type in data.events ) {
5113
5159
  if ( special[ type ] ) {
5114
5160
  jQuery.event.remove( elem, type );
5115
5161
 
@@ -5412,14 +5458,15 @@ var iframe,
5412
5458
  */
5413
5459
  // Called only from within defaultDisplay
5414
5460
  function actualDisplay( name, doc ) {
5415
- var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
5461
+ var style,
5462
+ elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
5416
5463
 
5417
5464
  // getDefaultComputedStyle might be reliably used only on attached element
5418
- display = window.getDefaultComputedStyle ?
5465
+ display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?
5419
5466
 
5420
5467
  // Use of this method is a temporary fix (more like optmization) until something better comes along,
5421
5468
  // since it was removed from specification and supported only in FF
5422
- window.getDefaultComputedStyle( elem[ 0 ] ).display : jQuery.css( elem[ 0 ], "display" );
5469
+ style.display : jQuery.css( elem[ 0 ], "display" );
5423
5470
 
5424
5471
  // We don't have any data stored on the element,
5425
5472
  // so use "detach" method as fast way to get rid of the element
@@ -5542,28 +5589,32 @@ function addGetHookIf( conditionFn, hookFn ) {
5542
5589
 
5543
5590
  (function() {
5544
5591
  var pixelPositionVal, boxSizingReliableVal,
5545
- // Support: Firefox, Android 2.3 (Prefixed box-sizing versions).
5546
- divReset = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;" +
5547
- "-moz-box-sizing:content-box;box-sizing:content-box",
5548
5592
  docElem = document.documentElement,
5549
5593
  container = document.createElement( "div" ),
5550
5594
  div = document.createElement( "div" );
5551
5595
 
5596
+ if ( !div.style ) {
5597
+ return;
5598
+ }
5599
+
5552
5600
  div.style.backgroundClip = "content-box";
5553
5601
  div.cloneNode( true ).style.backgroundClip = "";
5554
5602
  support.clearCloneStyle = div.style.backgroundClip === "content-box";
5555
5603
 
5556
- container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;" +
5557
- "margin-top:1px";
5604
+ container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
5605
+ "position:absolute";
5558
5606
  container.appendChild( div );
5559
5607
 
5560
5608
  // Executing both pixelPosition & boxSizingReliable tests require only one layout
5561
5609
  // so they're executed at the same time to save the second computation.
5562
5610
  function computePixelPositionAndBoxSizingReliable() {
5563
- // Support: Firefox, Android 2.3 (Prefixed box-sizing versions).
5564
- div.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
5565
- "box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;" +
5566
- "position:absolute;top:1%";
5611
+ div.style.cssText =
5612
+ // Support: Firefox<29, Android 2.3
5613
+ // Vendor-prefix box-sizing
5614
+ "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
5615
+ "box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
5616
+ "border:1px;padding:1px;width:4px;position:absolute";
5617
+ div.innerHTML = "";
5567
5618
  docElem.appendChild( container );
5568
5619
 
5569
5620
  var divStyle = window.getComputedStyle( div, null );
@@ -5573,9 +5624,10 @@ function addGetHookIf( conditionFn, hookFn ) {
5573
5624
  docElem.removeChild( container );
5574
5625
  }
5575
5626
 
5576
- // Use window.getComputedStyle because jsdom on node.js will break without it.
5627
+ // Support: node.js jsdom
5628
+ // Don't assume that getComputedStyle is a property of the global object
5577
5629
  if ( window.getComputedStyle ) {
5578
- jQuery.extend(support, {
5630
+ jQuery.extend( support, {
5579
5631
  pixelPosition: function() {
5580
5632
  // This test is executed only once but we still do memoizing
5581
5633
  // since we can use the boxSizingReliable pre-computing.
@@ -5597,7 +5649,13 @@ function addGetHookIf( conditionFn, hookFn ) {
5597
5649
  // This support function is only executed once so no memoizing is needed.
5598
5650
  var ret,
5599
5651
  marginDiv = div.appendChild( document.createElement( "div" ) );
5600
- marginDiv.style.cssText = div.style.cssText = divReset;
5652
+
5653
+ // Reset CSS: box-sizing; display; margin; border; padding
5654
+ marginDiv.style.cssText = div.style.cssText =
5655
+ // Support: Firefox<29, Android 2.3
5656
+ // Vendor-prefix box-sizing
5657
+ "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
5658
+ "box-sizing:content-box;display:block;margin:0;border:0;padding:0";
5601
5659
  marginDiv.style.marginRight = marginDiv.style.width = "0";
5602
5660
  div.style.width = "1px";
5603
5661
  docElem.appendChild( container );
@@ -5606,9 +5664,6 @@ function addGetHookIf( conditionFn, hookFn ) {
5606
5664
 
5607
5665
  docElem.removeChild( container );
5608
5666
 
5609
- // Clean up the div for other support tests.
5610
- div.innerHTML = "";
5611
-
5612
5667
  return ret;
5613
5668
  }
5614
5669
  });
@@ -5647,8 +5702,8 @@ var
5647
5702
 
5648
5703
  cssShow = { position: "absolute", visibility: "hidden", display: "block" },
5649
5704
  cssNormalTransform = {
5650
- letterSpacing: 0,
5651
- fontWeight: 400
5705
+ letterSpacing: "0",
5706
+ fontWeight: "400"
5652
5707
  },
5653
5708
 
5654
5709
  cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
@@ -5795,13 +5850,10 @@ function showHide( elements, show ) {
5795
5850
  values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) );
5796
5851
  }
5797
5852
  } else {
5853
+ hidden = isHidden( elem );
5798
5854
 
5799
- if ( !values[ index ] ) {
5800
- hidden = isHidden( elem );
5801
-
5802
- if ( display && display !== "none" || !hidden ) {
5803
- data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css(elem, "display") );
5804
- }
5855
+ if ( display !== "none" || !hidden ) {
5856
+ data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
5805
5857
  }
5806
5858
  }
5807
5859
  }
@@ -5840,6 +5892,8 @@ jQuery.extend({
5840
5892
  cssNumber: {
5841
5893
  "columnCount": true,
5842
5894
  "fillOpacity": true,
5895
+ "flexGrow": true,
5896
+ "flexShrink": true,
5843
5897
  "fontWeight": true,
5844
5898
  "lineHeight": true,
5845
5899
  "opacity": true,
@@ -5904,9 +5958,6 @@ jQuery.extend({
5904
5958
 
5905
5959
  // If a hook was provided, use that value, otherwise just set the specified value
5906
5960
  if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
5907
- // Support: Chrome, Safari
5908
- // Setting style to blank string required to delete "style: x !important;"
5909
- style[ name ] = "";
5910
5961
  style[ name ] = value;
5911
5962
  }
5912
5963
 
@@ -5962,7 +6013,7 @@ jQuery.each([ "height", "width" ], function( i, name ) {
5962
6013
  if ( computed ) {
5963
6014
  // certain elements can have dimension info if we invisibly show them
5964
6015
  // however, it must have a current display style that would benefit from this
5965
- return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ?
6016
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
5966
6017
  jQuery.swap( elem, cssShow, function() {
5967
6018
  return getWidthOrHeight( elem, name, extra );
5968
6019
  }) :
@@ -6283,7 +6334,7 @@ function createTween( value, prop, animation ) {
6283
6334
 
6284
6335
  function defaultPrefilter( elem, props, opts ) {
6285
6336
  /* jshint validthis: true */
6286
- var prop, value, toggle, tween, hooks, oldfire, display,
6337
+ var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
6287
6338
  anim = this,
6288
6339
  orig = {},
6289
6340
  style = elem.style,
@@ -6327,13 +6378,12 @@ function defaultPrefilter( elem, props, opts ) {
6327
6378
  // Set display property to inline-block for height/width
6328
6379
  // animations on inline elements that are having width/height animated
6329
6380
  display = jQuery.css( elem, "display" );
6330
- // Get default display if display is currently "none"
6331
- if ( display === "none" ) {
6332
- display = defaultDisplay( elem.nodeName );
6333
- }
6334
- if ( display === "inline" &&
6335
- jQuery.css( elem, "float" ) === "none" ) {
6336
6381
 
6382
+ // Test default display if display is currently "none"
6383
+ checkDisplay = display === "none" ?
6384
+ data_priv.get( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
6385
+
6386
+ if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
6337
6387
  style.display = "inline-block";
6338
6388
  }
6339
6389
  }
@@ -6363,6 +6413,10 @@ function defaultPrefilter( elem, props, opts ) {
6363
6413
  }
6364
6414
  }
6365
6415
  orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
6416
+
6417
+ // Any non-fx value stops us from restoring the original display value
6418
+ } else {
6419
+ display = undefined;
6366
6420
  }
6367
6421
  }
6368
6422
 
@@ -6405,6 +6459,10 @@ function defaultPrefilter( elem, props, opts ) {
6405
6459
  }
6406
6460
  }
6407
6461
  }
6462
+
6463
+ // If this is a noop like .hide().hide(), restore an overwritten display value
6464
+ } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) {
6465
+ style.display = display;
6408
6466
  }
6409
6467
  }
6410
6468
 
@@ -7297,6 +7355,16 @@ jQuery.fn.extend({
7297
7355
 
7298
7356
  jQuery.extend({
7299
7357
  valHooks: {
7358
+ option: {
7359
+ get: function( elem ) {
7360
+ var val = jQuery.find.attr( elem, "value" );
7361
+ return val != null ?
7362
+ val :
7363
+ // Support: IE10-11+
7364
+ // option.text throws exceptions (#14686, #14858)
7365
+ jQuery.trim( jQuery.text( elem ) );
7366
+ }
7367
+ },
7300
7368
  select: {
7301
7369
  get: function( elem ) {
7302
7370
  var value, option,
@@ -7343,7 +7411,7 @@ jQuery.extend({
7343
7411
 
7344
7412
  while ( i-- ) {
7345
7413
  option = options[ i ];
7346
- if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) {
7414
+ if ( (option.selected = jQuery.inArray( option.value, values ) >= 0) ) {
7347
7415
  optionSet = true;
7348
7416
  }
7349
7417
  }
@@ -8550,10 +8618,15 @@ jQuery.ajaxTransport(function( options ) {
8550
8618
  // Create the abort callback
8551
8619
  callback = xhrCallbacks[ id ] = callback("abort");
8552
8620
 
8553
- // Do send the request
8554
- // This may raise an exception which is actually
8555
- // handled in jQuery.ajax (so no try/catch here)
8556
- xhr.send( options.hasContent && options.data || null );
8621
+ try {
8622
+ // Do send the request (this may raise an exception)
8623
+ xhr.send( options.hasContent && options.data || null );
8624
+ } catch ( e ) {
8625
+ // #14683: Only rethrow if this hasn't been notified as an error yet
8626
+ if ( callback ) {
8627
+ throw e;
8628
+ }
8629
+ }
8557
8630
  },
8558
8631
 
8559
8632
  abort: function() {
@@ -8760,7 +8833,7 @@ jQuery.fn.load = function( url, params, callback ) {
8760
8833
  off = url.indexOf(" ");
8761
8834
 
8762
8835
  if ( off >= 0 ) {
8763
- selector = url.slice( off );
8836
+ selector = jQuery.trim( url.slice( off ) );
8764
8837
  url = url.slice( 0, off );
8765
8838
  }
8766
8839
 
@@ -9068,6 +9141,12 @@ jQuery.fn.andSelf = jQuery.fn.addBack;
9068
9141
  // derived from file names, and jQuery is normally delivered in a lowercase
9069
9142
  // file name. Do this after creating the global so that if an AMD module wants
9070
9143
  // to call noConflict to hide this version of jQuery, it will work.
9144
+
9145
+ // Note that for maximum portability, libraries that are not jQuery should
9146
+ // declare themselves as anonymous modules, and avoid setting a global if an
9147
+ // AMD loader is present. jQuery is a special case. For more information, see
9148
+ // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
9149
+
9071
9150
  if ( typeof define === "function" && define.amd ) {
9072
9151
  define( "jquery", [], function() {
9073
9152
  return jQuery;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jquery-cdn
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Sitnik
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-08 00:00:00.000000000 Z
11
+ date: 2014-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sprockets
@@ -61,7 +61,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
61
  version: '0'
62
62
  requirements: []
63
63
  rubyforge_project:
64
- rubygems_version: 2.2.0
64
+ rubygems_version: 2.2.2
65
65
  signing_key:
66
66
  specification_version: 4
67
67
  summary: Best way to use latest jQuery in Ruby app