jquery-cdn 2.1.0 → 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
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