jquery-cdn 1.11.0 → 1.11.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: 3042e5629ec4e2a6a9736c5306568d2e001d1b22
4
- data.tar.gz: a3244d03e5fa1f69a2bb67019b494825298879a8
3
+ metadata.gz: 34404be53e1280bcdb53df39cffc06a9497cdbd3
4
+ data.tar.gz: bb67d82e9e1e69b2d32f35f7940717b17d6b3921
5
5
  SHA512:
6
- metadata.gz: ee8c5591943d66c60a7d1fcf300767c10bf7ffa14a0046b0af0010b21dc4f4f5f830fdd50144a02cc3c772ea10b430ef4cdab7c9bad9d2567a3d8969592e46b1
7
- data.tar.gz: 6c2791cbb904b5485002ee5f3453857242b0c5e8c3eb545801516cb473e62faa81eb5d2ebe195bd895deb6ae44ad830a44995521e774f5d42d85882c5def6a73
6
+ metadata.gz: 78010a6177e014ba70d6fd99f8c5edb3c66a918249a3a79ce1010adf0c7f00907af5d4f59415f4fc153924d5adeff5ea8ebcfdc6c28055fff0f7af22b067122f
7
+ data.tar.gz: b59c57387692582499ed53dfdf5d12ebeb63a0b10320a667dc12ea939f6952152578898d9542540f9bdb1ef1f9c639917f60cedd04b9aabb1c10fef715478a5b
@@ -1,3 +1,3 @@
1
1
  module JqueryCdn
2
- VERSION = "1.11.0"
2
+ VERSION = "1.11.1"
3
3
  end
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * jQuery JavaScript Library v1.11.0
2
+ * jQuery JavaScript Library v1.11.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:02Z
12
+ * Date: 2014-05-01T17:42Z
13
13
  */
14
14
 
15
15
  (function( global, factory ) {
@@ -59,14 +59,12 @@ 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
 
67
65
 
68
66
  var
69
- version = "1.11.0",
67
+ version = "1.11.1",
70
68
 
71
69
  // Define a local copy of jQuery
72
70
  jQuery = function( selector, context ) {
@@ -75,7 +73,8 @@ var
75
73
  return new jQuery.fn.init( selector, context );
76
74
  },
77
75
 
78
- // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)
76
+ // Support: Android<4.1, IE<9
77
+ // Make sure we trim BOM and NBSP
79
78
  rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
80
79
 
81
80
  // Matches dashed string for camelizing
@@ -108,10 +107,10 @@ jQuery.fn = jQuery.prototype = {
108
107
  get: function( num ) {
109
108
  return num != null ?
110
109
 
111
- // Return a 'clean' array
110
+ // Return just the one element from the set
112
111
  ( num < 0 ? this[ num + this.length ] : this[ num ] ) :
113
112
 
114
- // Return just the object
113
+ // Return all the elements in a clean array
115
114
  slice.call( this );
116
115
  },
117
116
 
@@ -270,7 +269,7 @@ jQuery.extend({
270
269
  // parseFloat NaNs numeric-cast false positives (null|true|false|"")
271
270
  // ...but misinterprets leading-number strings, particularly hex literals ("0x...")
272
271
  // subtraction forces infinities to NaN
273
- return obj - parseFloat( obj ) >= 0;
272
+ return !jQuery.isArray( obj ) && obj - parseFloat( obj ) >= 0;
274
273
  },
275
274
 
276
275
  isEmptyObject: function( obj ) {
@@ -401,20 +400,12 @@ jQuery.extend({
401
400
  return obj;
402
401
  },
403
402
 
404
- // Use native String.trim function wherever possible
405
- trim: trim && !trim.call("\uFEFF\xA0") ?
406
- function( text ) {
407
- return text == null ?
408
- "" :
409
- trim.call( text );
410
- } :
411
-
412
- // Otherwise use our own trimming functionality
413
- function( text ) {
414
- return text == null ?
415
- "" :
416
- ( text + "" ).replace( rtrim, "" );
417
- },
403
+ // Support: Android<4.1, IE<9
404
+ trim: function( text ) {
405
+ return text == null ?
406
+ "" :
407
+ ( text + "" ).replace( rtrim, "" );
408
+ },
418
409
 
419
410
  // results is for internal usage only
420
411
  makeArray: function( arr, results ) {
@@ -593,14 +584,14 @@ function isArraylike( obj ) {
593
584
  }
594
585
  var Sizzle =
595
586
  /*!
596
- * Sizzle CSS Selector Engine v1.10.16
587
+ * Sizzle CSS Selector Engine v1.10.19
597
588
  * http://sizzlejs.com/
598
589
  *
599
590
  * Copyright 2013 jQuery Foundation, Inc. and other contributors
600
591
  * Released under the MIT license
601
592
  * http://jquery.org/license
602
593
  *
603
- * Date: 2014-01-13
594
+ * Date: 2014-04-18
604
595
  */
605
596
  (function( window ) {
606
597
 
@@ -609,7 +600,9 @@ var i,
609
600
  Expr,
610
601
  getText,
611
602
  isXML,
603
+ tokenize,
612
604
  compile,
605
+ select,
613
606
  outermostContext,
614
607
  sortInput,
615
608
  hasDuplicate,
@@ -676,17 +669,23 @@ var i,
676
669
  // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
677
670
  identifier = characterEncoding.replace( "w", "w#" ),
678
671
 
679
- // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors
680
- attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
681
- "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
682
-
683
- // Prefer arguments quoted,
684
- // then not containing pseudos/brackets,
685
- // then attribute selectors/non-parenthetical expressions,
686
- // then anything else
687
- // These preferences are here to reduce the number of selectors
688
- // needing tokenize in the PSEUDO preFilter
689
- pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)",
672
+ // Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
673
+ attributes = "\\[" + whitespace + "*(" + characterEncoding + ")(?:" + whitespace +
674
+ // Operator (capture 2)
675
+ "*([*^$|!~]?=)" + whitespace +
676
+ // "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
677
+ "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
678
+ "*\\]",
679
+
680
+ pseudos = ":(" + characterEncoding + ")(?:\\((" +
681
+ // To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
682
+ // 1. quoted (capture 3; capture 4 or capture 5)
683
+ "('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
684
+ // 2. simple (capture 6)
685
+ "((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
686
+ // 3. anything else (capture 2)
687
+ ".*" +
688
+ ")\\)|)",
690
689
 
691
690
  // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
692
691
  rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
@@ -731,7 +730,7 @@ var i,
731
730
  funescape = function( _, escaped, escapedWhitespace ) {
732
731
  var high = "0x" + escaped - 0x10000;
733
732
  // NaN means non-codepoint
734
- // Support: Firefox
733
+ // Support: Firefox<24
735
734
  // Workaround erroneous numeric interpretation of +"0x"
736
735
  return high !== high || escapedWhitespace ?
737
736
  escaped :
@@ -1127,7 +1126,7 @@ setDocument = Sizzle.setDocument = function( node ) {
1127
1126
  var m = context.getElementById( id );
1128
1127
  // Check parentNode to catch when Blackberry 4.6 returns
1129
1128
  // nodes that are no longer in the document #6963
1130
- return m && m.parentNode ? [m] : [];
1129
+ return m && m.parentNode ? [ m ] : [];
1131
1130
  }
1132
1131
  };
1133
1132
  Expr.filter["ID"] = function( id ) {
@@ -1207,11 +1206,13 @@ setDocument = Sizzle.setDocument = function( node ) {
1207
1206
  // setting a boolean content attribute,
1208
1207
  // since its presence should be enough
1209
1208
  // http://bugs.jquery.com/ticket/12359
1210
- div.innerHTML = "<select t=''><option selected=''></option></select>";
1209
+ div.innerHTML = "<select msallowclip=''><option selected=''></option></select>";
1211
1210
 
1212
- // Support: IE8, Opera 10-12
1211
+ // Support: IE8, Opera 11-12.16
1213
1212
  // Nothing should be selected when empty strings follow ^= or $= or *=
1214
- if ( div.querySelectorAll("[t^='']").length ) {
1213
+ // The test attribute must be unknown in Opera but "safe" for WinRT
1214
+ // http://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
1215
+ if ( div.querySelectorAll("[msallowclip^='']").length ) {
1215
1216
  rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
1216
1217
  }
1217
1218
 
@@ -1254,7 +1255,8 @@ setDocument = Sizzle.setDocument = function( node ) {
1254
1255
  });
1255
1256
  }
1256
1257
 
1257
- if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector ||
1258
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
1259
+ docElem.webkitMatchesSelector ||
1258
1260
  docElem.mozMatchesSelector ||
1259
1261
  docElem.oMatchesSelector ||
1260
1262
  docElem.msMatchesSelector) )) ) {
@@ -1435,7 +1437,7 @@ Sizzle.matchesSelector = function( elem, expr ) {
1435
1437
  } catch(e) {}
1436
1438
  }
1437
1439
 
1438
- return Sizzle( expr, document, null, [elem] ).length > 0;
1440
+ return Sizzle( expr, document, null, [ elem ] ).length > 0;
1439
1441
  };
1440
1442
 
1441
1443
  Sizzle.contains = function( context, elem ) {
@@ -1564,7 +1566,7 @@ Expr = Sizzle.selectors = {
1564
1566
  match[1] = match[1].replace( runescape, funescape );
1565
1567
 
1566
1568
  // Move the given value to match[3] whether quoted or unquoted
1567
- match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape );
1569
+ match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
1568
1570
 
1569
1571
  if ( match[2] === "~=" ) {
1570
1572
  match[3] = " " + match[3] + " ";
@@ -1607,15 +1609,15 @@ Expr = Sizzle.selectors = {
1607
1609
 
1608
1610
  "PSEUDO": function( match ) {
1609
1611
  var excess,
1610
- unquoted = !match[5] && match[2];
1612
+ unquoted = !match[6] && match[2];
1611
1613
 
1612
1614
  if ( matchExpr["CHILD"].test( match[0] ) ) {
1613
1615
  return null;
1614
1616
  }
1615
1617
 
1616
1618
  // Accept quoted arguments as-is
1617
- if ( match[3] && match[4] !== undefined ) {
1618
- match[2] = match[4];
1619
+ if ( match[3] ) {
1620
+ match[2] = match[4] || match[5] || "";
1619
1621
 
1620
1622
  // Strip excess characters from unquoted arguments
1621
1623
  } else if ( unquoted && rpseudo.test( unquoted ) &&
@@ -2020,7 +2022,7 @@ function setFilters() {}
2020
2022
  setFilters.prototype = Expr.filters = Expr.pseudos;
2021
2023
  Expr.setFilters = new setFilters();
2022
2024
 
2023
- function tokenize( selector, parseOnly ) {
2025
+ tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
2024
2026
  var matched, match, tokens, type,
2025
2027
  soFar, groups, preFilters,
2026
2028
  cached = tokenCache[ selector + " " ];
@@ -2085,7 +2087,7 @@ function tokenize( selector, parseOnly ) {
2085
2087
  Sizzle.error( selector ) :
2086
2088
  // Cache the tokens
2087
2089
  tokenCache( selector, groups ).slice( 0 );
2088
- }
2090
+ };
2089
2091
 
2090
2092
  function toSelector( tokens ) {
2091
2093
  var i = 0,
@@ -2164,6 +2166,15 @@ function elementMatcher( matchers ) {
2164
2166
  matchers[0];
2165
2167
  }
2166
2168
 
2169
+ function multipleContexts( selector, contexts, results ) {
2170
+ var i = 0,
2171
+ len = contexts.length;
2172
+ for ( ; i < len; i++ ) {
2173
+ Sizzle( selector, contexts[i], results );
2174
+ }
2175
+ return results;
2176
+ }
2177
+
2167
2178
  function condense( unmatched, map, filter, context, xml ) {
2168
2179
  var elem,
2169
2180
  newUnmatched = [],
@@ -2432,7 +2443,7 @@ function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
2432
2443
  superMatcher;
2433
2444
  }
2434
2445
 
2435
- compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
2446
+ compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
2436
2447
  var i,
2437
2448
  setMatchers = [],
2438
2449
  elementMatchers = [],
@@ -2440,12 +2451,12 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
2440
2451
 
2441
2452
  if ( !cached ) {
2442
2453
  // Generate a function of recursive functions that can be used to check each element
2443
- if ( !group ) {
2444
- group = tokenize( selector );
2454
+ if ( !match ) {
2455
+ match = tokenize( selector );
2445
2456
  }
2446
- i = group.length;
2457
+ i = match.length;
2447
2458
  while ( i-- ) {
2448
- cached = matcherFromTokens( group[i] );
2459
+ cached = matcherFromTokens( match[i] );
2449
2460
  if ( cached[ expando ] ) {
2450
2461
  setMatchers.push( cached );
2451
2462
  } else {
@@ -2455,74 +2466,83 @@ compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
2455
2466
 
2456
2467
  // Cache the compiled function
2457
2468
  cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
2469
+
2470
+ // Save selector and tokenization
2471
+ cached.selector = selector;
2458
2472
  }
2459
2473
  return cached;
2460
2474
  };
2461
2475
 
2462
- function multipleContexts( selector, contexts, results ) {
2463
- var i = 0,
2464
- len = contexts.length;
2465
- for ( ; i < len; i++ ) {
2466
- Sizzle( selector, contexts[i], results );
2467
- }
2468
- return results;
2469
- }
2470
-
2471
- function select( selector, context, results, seed ) {
2476
+ /**
2477
+ * A low-level selection function that works with Sizzle's compiled
2478
+ * selector functions
2479
+ * @param {String|Function} selector A selector or a pre-compiled
2480
+ * selector function built with Sizzle.compile
2481
+ * @param {Element} context
2482
+ * @param {Array} [results]
2483
+ * @param {Array} [seed] A set of elements to match against
2484
+ */
2485
+ select = Sizzle.select = function( selector, context, results, seed ) {
2472
2486
  var i, tokens, token, type, find,
2473
- match = tokenize( selector );
2487
+ compiled = typeof selector === "function" && selector,
2488
+ match = !seed && tokenize( (selector = compiled.selector || selector) );
2489
+
2490
+ results = results || [];
2474
2491
 
2475
- if ( !seed ) {
2476
- // Try to minimize operations if there is only one group
2477
- if ( match.length === 1 ) {
2492
+ // Try to minimize operations if there is no seed and only one group
2493
+ if ( match.length === 1 ) {
2478
2494
 
2479
- // Take a shortcut and set the context if the root selector is an ID
2480
- tokens = match[0] = match[0].slice( 0 );
2481
- if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
2482
- support.getById && context.nodeType === 9 && documentIsHTML &&
2483
- Expr.relative[ tokens[1].type ] ) {
2495
+ // Take a shortcut and set the context if the root selector is an ID
2496
+ tokens = match[0] = match[0].slice( 0 );
2497
+ if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
2498
+ support.getById && context.nodeType === 9 && documentIsHTML &&
2499
+ Expr.relative[ tokens[1].type ] ) {
2484
2500
 
2485
- context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
2486
- if ( !context ) {
2487
- return results;
2488
- }
2489
- selector = selector.slice( tokens.shift().value.length );
2501
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
2502
+ if ( !context ) {
2503
+ return results;
2504
+
2505
+ // Precompiled matchers will still verify ancestry, so step up a level
2506
+ } else if ( compiled ) {
2507
+ context = context.parentNode;
2490
2508
  }
2491
2509
 
2492
- // Fetch a seed set for right-to-left matching
2493
- i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
2494
- while ( i-- ) {
2495
- token = tokens[i];
2510
+ selector = selector.slice( tokens.shift().value.length );
2511
+ }
2496
2512
 
2497
- // Abort if we hit a combinator
2498
- if ( Expr.relative[ (type = token.type) ] ) {
2499
- break;
2500
- }
2501
- if ( (find = Expr.find[ type ]) ) {
2502
- // Search, expanding context for leading sibling combinators
2503
- if ( (seed = find(
2504
- token.matches[0].replace( runescape, funescape ),
2505
- rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
2506
- )) ) {
2507
-
2508
- // If seed is empty or no tokens remain, we can return early
2509
- tokens.splice( i, 1 );
2510
- selector = seed.length && toSelector( tokens );
2511
- if ( !selector ) {
2512
- push.apply( results, seed );
2513
- return results;
2514
- }
2513
+ // Fetch a seed set for right-to-left matching
2514
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
2515
+ while ( i-- ) {
2516
+ token = tokens[i];
2515
2517
 
2516
- break;
2518
+ // Abort if we hit a combinator
2519
+ if ( Expr.relative[ (type = token.type) ] ) {
2520
+ break;
2521
+ }
2522
+ if ( (find = Expr.find[ type ]) ) {
2523
+ // Search, expanding context for leading sibling combinators
2524
+ if ( (seed = find(
2525
+ token.matches[0].replace( runescape, funescape ),
2526
+ rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
2527
+ )) ) {
2528
+
2529
+ // If seed is empty or no tokens remain, we can return early
2530
+ tokens.splice( i, 1 );
2531
+ selector = seed.length && toSelector( tokens );
2532
+ if ( !selector ) {
2533
+ push.apply( results, seed );
2534
+ return results;
2517
2535
  }
2536
+
2537
+ break;
2518
2538
  }
2519
2539
  }
2520
2540
  }
2521
2541
  }
2522
2542
 
2523
- // Compile and execute a filtering function
2543
+ // Compile and execute a filtering function if one is not provided
2524
2544
  // Provide `match` to avoid retokenization if we modified the selector above
2525
- compile( selector, match )(
2545
+ ( compiled || compile( selector, match ) )(
2526
2546
  seed,
2527
2547
  context,
2528
2548
  !documentIsHTML,
@@ -2530,7 +2550,7 @@ function select( selector, context, results, seed ) {
2530
2550
  rsibling.test( selector ) && testContext( context.parentNode ) || context
2531
2551
  );
2532
2552
  return results;
2533
- }
2553
+ };
2534
2554
 
2535
2555
  // One-time assignments
2536
2556
 
@@ -3423,8 +3443,9 @@ jQuery.extend({
3423
3443
  readyList.resolveWith( document, [ jQuery ] );
3424
3444
 
3425
3445
  // Trigger any bound ready events
3426
- if ( jQuery.fn.trigger ) {
3427
- jQuery( document ).trigger("ready").off("ready");
3446
+ if ( jQuery.fn.triggerHandler ) {
3447
+ jQuery( document ).triggerHandler( "ready" );
3448
+ jQuery( document ).off( "ready" );
3428
3449
  }
3429
3450
  }
3430
3451
  });
@@ -3532,23 +3553,21 @@ support.ownLast = i !== "0";
3532
3553
  // false until the test is run
3533
3554
  support.inlineBlockNeedsLayout = false;
3534
3555
 
3556
+ // Execute ASAP in case we need to set body.style.zoom
3535
3557
  jQuery(function() {
3536
- // We need to execute this one support test ASAP because we need to know
3537
- // if body.style.zoom needs to be set.
3558
+ // Minified: var a,b,c,d
3559
+ var val, div, body, container;
3538
3560
 
3539
- var container, div,
3540
- body = document.getElementsByTagName("body")[0];
3541
-
3542
- if ( !body ) {
3561
+ body = document.getElementsByTagName( "body" )[ 0 ];
3562
+ if ( !body || !body.style ) {
3543
3563
  // Return for frameset docs that don't have a body
3544
3564
  return;
3545
3565
  }
3546
3566
 
3547
3567
  // Setup
3548
- container = document.createElement( "div" );
3549
- container.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";
3550
-
3551
3568
  div = document.createElement( "div" );
3569
+ container = document.createElement( "div" );
3570
+ container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
3552
3571
  body.appendChild( container ).appendChild( div );
3553
3572
 
3554
3573
  if ( typeof div.style.zoom !== strundefined ) {
@@ -3556,9 +3575,10 @@ jQuery(function() {
3556
3575
  // Check if natively block-level elements act like inline-block
3557
3576
  // elements when setting their display to 'inline' and giving
3558
3577
  // them layout
3559
- div.style.cssText = "border:0;margin:0;width:1px;padding:1px;display:inline;zoom:1";
3578
+ div.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1";
3560
3579
 
3561
- if ( (support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 )) ) {
3580
+ support.inlineBlockNeedsLayout = val = div.offsetWidth === 3;
3581
+ if ( val ) {
3562
3582
  // Prevent IE 6 from affecting layout for positioned elements #11048
3563
3583
  // Prevent IE from shrinking the body in IE 7 mode #12869
3564
3584
  // Support: IE<8
@@ -3567,9 +3587,6 @@ jQuery(function() {
3567
3587
  }
3568
3588
 
3569
3589
  body.removeChild( container );
3570
-
3571
- // Null elements to avoid leaks in IE
3572
- container = div = null;
3573
3590
  });
3574
3591
 
3575
3592
 
@@ -3892,12 +3909,15 @@ jQuery.fn.extend({
3892
3909
  if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) {
3893
3910
  i = attrs.length;
3894
3911
  while ( i-- ) {
3895
- name = attrs[i].name;
3896
3912
 
3897
- if ( name.indexOf("data-") === 0 ) {
3898
- name = jQuery.camelCase( name.slice(5) );
3899
-
3900
- dataAttr( elem, name, data[ name ] );
3913
+ // Support: IE11+
3914
+ // The attrs elements can be null (#14894)
3915
+ if ( attrs[ i ] ) {
3916
+ name = attrs[ i ].name;
3917
+ if ( name.indexOf( "data-" ) === 0 ) {
3918
+ name = jQuery.camelCase( name.slice(5) );
3919
+ dataAttr( elem, name, data[ name ] );
3920
+ }
3901
3921
  }
3902
3922
  }
3903
3923
  jQuery._data( elem, "parsedAttrs", true );
@@ -4137,13 +4157,13 @@ var rcheckableType = (/^(?:checkbox|radio)$/i);
4137
4157
 
4138
4158
 
4139
4159
  (function() {
4140
- var fragment = document.createDocumentFragment(),
4141
- div = document.createElement("div"),
4142
- input = document.createElement("input");
4160
+ // Minified: var a,b,c
4161
+ var input = document.createElement( "input" ),
4162
+ div = document.createElement( "div" ),
4163
+ fragment = document.createDocumentFragment();
4143
4164
 
4144
4165
  // Setup
4145
- div.setAttribute( "className", "t" );
4146
- div.innerHTML = " <link/><table></table><a href='/a'>a</a>";
4166
+ div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
4147
4167
 
4148
4168
  // IE strips leading whitespace when .innerHTML is used
4149
4169
  support.leadingWhitespace = div.firstChild.nodeType === 3;
@@ -4203,9 +4223,6 @@ var rcheckableType = (/^(?:checkbox|radio)$/i);
4203
4223
  support.deleteExpando = false;
4204
4224
  }
4205
4225
  }
4206
-
4207
- // Null elements to avoid leaks in IE.
4208
- fragment = div = input = null;
4209
4226
  })();
4210
4227
 
4211
4228
 
@@ -4231,7 +4248,7 @@ var rcheckableType = (/^(?:checkbox|radio)$/i);
4231
4248
 
4232
4249
  var rformElems = /^(?:input|select|textarea)$/i,
4233
4250
  rkeyEvent = /^key/,
4234
- rmouseEvent = /^(?:mouse|contextmenu)|click/,
4251
+ rmouseEvent = /^(?:mouse|pointer|contextmenu)|click/,
4235
4252
  rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
4236
4253
  rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
4237
4254
 
@@ -4834,8 +4851,9 @@ jQuery.event = {
4834
4851
  beforeunload: {
4835
4852
  postDispatch: function( event ) {
4836
4853
 
4837
- // Even when returnValue equals to undefined Firefox will still show alert
4838
- if ( event.result !== undefined ) {
4854
+ // Support: Firefox 20+
4855
+ // Firefox doesn't alert if the returnValue field is not set.
4856
+ if ( event.result !== undefined && event.originalEvent ) {
4839
4857
  event.originalEvent.returnValue = event.result;
4840
4858
  }
4841
4859
  }
@@ -4901,11 +4919,9 @@ jQuery.Event = function( src, props ) {
4901
4919
  // Events bubbling up the document may have been marked as prevented
4902
4920
  // by a handler lower down the tree; reflect the correct value.
4903
4921
  this.isDefaultPrevented = src.defaultPrevented ||
4904
- src.defaultPrevented === undefined && (
4905
- // Support: IE < 9
4906
- src.returnValue === false ||
4907
- // Support: Android < 4.0
4908
- src.getPreventDefault && src.getPreventDefault() ) ?
4922
+ src.defaultPrevented === undefined &&
4923
+ // Support: IE < 9, Android < 4.0
4924
+ src.returnValue === false ?
4909
4925
  returnTrue :
4910
4926
  returnFalse;
4911
4927
 
@@ -4968,7 +4984,14 @@ jQuery.Event.prototype = {
4968
4984
  e.cancelBubble = true;
4969
4985
  },
4970
4986
  stopImmediatePropagation: function() {
4987
+ var e = this.originalEvent;
4988
+
4971
4989
  this.isImmediatePropagationStopped = returnTrue;
4990
+
4991
+ if ( e && e.stopImmediatePropagation ) {
4992
+ e.stopImmediatePropagation();
4993
+ }
4994
+
4972
4995
  this.stopPropagation();
4973
4996
  }
4974
4997
  };
@@ -4976,7 +4999,9 @@ jQuery.Event.prototype = {
4976
4999
  // Create mouseenter/leave events using mouseover/out and event-time checks
4977
5000
  jQuery.each({
4978
5001
  mouseenter: "mouseover",
4979
- mouseleave: "mouseout"
5002
+ mouseleave: "mouseout",
5003
+ pointerenter: "pointerover",
5004
+ pointerleave: "pointerout"
4980
5005
  }, function( orig, fix ) {
4981
5006
  jQuery.event.special[ orig ] = {
4982
5007
  delegateType: fix,
@@ -5980,14 +6005,15 @@ var iframe,
5980
6005
  */
5981
6006
  // Called only from within defaultDisplay
5982
6007
  function actualDisplay( name, doc ) {
5983
- var elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
6008
+ var style,
6009
+ elem = jQuery( doc.createElement( name ) ).appendTo( doc.body ),
5984
6010
 
5985
6011
  // getDefaultComputedStyle might be reliably used only on attached element
5986
- display = window.getDefaultComputedStyle ?
6012
+ display = window.getDefaultComputedStyle && ( style = window.getDefaultComputedStyle( elem[ 0 ] ) ) ?
5987
6013
 
5988
6014
  // Use of this method is a temporary fix (more like optmization) until something better comes along,
5989
6015
  // since it was removed from specification and supported only in FF
5990
- window.getDefaultComputedStyle( elem[ 0 ] ).display : jQuery.css( elem[ 0 ], "display" );
6016
+ style.display : jQuery.css( elem[ 0 ], "display" );
5991
6017
 
5992
6018
  // We don't have any data stored on the element,
5993
6019
  // so use "detach" method as fast way to get rid of the element
@@ -6033,68 +6059,47 @@ function defaultDisplay( nodeName ) {
6033
6059
 
6034
6060
 
6035
6061
  (function() {
6036
- var a, shrinkWrapBlocksVal,
6037
- div = document.createElement( "div" ),
6038
- divReset =
6039
- "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;" +
6040
- "display:block;padding:0;margin:0;border:0";
6041
-
6042
- // Setup
6043
- div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
6044
- a = div.getElementsByTagName( "a" )[ 0 ];
6045
-
6046
- a.style.cssText = "float:left;opacity:.5";
6047
-
6048
- // Make sure that element opacity exists
6049
- // (IE uses filter instead)
6050
- // Use a regex to work around a WebKit issue. See #5145
6051
- support.opacity = /^0.5/.test( a.style.opacity );
6052
-
6053
- // Verify style float existence
6054
- // (IE uses styleFloat instead of cssFloat)
6055
- support.cssFloat = !!a.style.cssFloat;
6056
-
6057
- div.style.backgroundClip = "content-box";
6058
- div.cloneNode( true ).style.backgroundClip = "";
6059
- support.clearCloneStyle = div.style.backgroundClip === "content-box";
6060
-
6061
- // Null elements to avoid leaks in IE.
6062
- a = div = null;
6062
+ var shrinkWrapBlocksVal;
6063
6063
 
6064
6064
  support.shrinkWrapBlocks = function() {
6065
- var body, container, div, containerStyles;
6066
-
6067
- if ( shrinkWrapBlocksVal == null ) {
6068
- body = document.getElementsByTagName( "body" )[ 0 ];
6069
- if ( !body ) {
6070
- // Test fired too early or in an unsupported environment, exit.
6071
- return;
6072
- }
6073
-
6074
- containerStyles = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px";
6075
- container = document.createElement( "div" );
6076
- div = document.createElement( "div" );
6065
+ if ( shrinkWrapBlocksVal != null ) {
6066
+ return shrinkWrapBlocksVal;
6067
+ }
6077
6068
 
6078
- body.appendChild( container ).appendChild( div );
6069
+ // Will be changed later if needed.
6070
+ shrinkWrapBlocksVal = false;
6079
6071
 
6080
- // Will be changed later if needed.
6081
- shrinkWrapBlocksVal = false;
6072
+ // Minified: var b,c,d
6073
+ var div, body, container;
6082
6074
 
6083
- if ( typeof div.style.zoom !== strundefined ) {
6084
- // Support: IE6
6085
- // Check if elements with layout shrink-wrap their children
6086
- div.style.cssText = divReset + ";width:1px;padding:1px;zoom:1";
6087
- div.innerHTML = "<div></div>";
6088
- div.firstChild.style.width = "5px";
6089
- shrinkWrapBlocksVal = div.offsetWidth !== 3;
6090
- }
6075
+ body = document.getElementsByTagName( "body" )[ 0 ];
6076
+ if ( !body || !body.style ) {
6077
+ // Test fired too early or in an unsupported environment, exit.
6078
+ return;
6079
+ }
6091
6080
 
6092
- body.removeChild( container );
6081
+ // Setup
6082
+ div = document.createElement( "div" );
6083
+ container = document.createElement( "div" );
6084
+ container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
6085
+ body.appendChild( container ).appendChild( div );
6093
6086
 
6094
- // Null elements to avoid leaks in IE.
6095
- body = container = div = null;
6087
+ // Support: IE6
6088
+ // Check if elements with layout shrink-wrap their children
6089
+ if ( typeof div.style.zoom !== strundefined ) {
6090
+ // Reset CSS: box-sizing; display; margin; border
6091
+ div.style.cssText =
6092
+ // Support: Firefox<29, Android 2.3
6093
+ // Vendor-prefix box-sizing
6094
+ "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
6095
+ "box-sizing:content-box;display:block;margin:0;border:0;" +
6096
+ "padding:1px;width:1px;zoom:1";
6097
+ div.appendChild( document.createElement( "div" ) ).style.width = "5px";
6098
+ shrinkWrapBlocksVal = div.offsetWidth !== 3;
6096
6099
  }
6097
6100
 
6101
+ body.removeChild( container );
6102
+
6098
6103
  return shrinkWrapBlocksVal;
6099
6104
  };
6100
6105
 
@@ -6242,92 +6247,46 @@ function addGetHookIf( conditionFn, hookFn ) {
6242
6247
 
6243
6248
 
6244
6249
  (function() {
6245
- var a, reliableHiddenOffsetsVal, boxSizingVal, boxSizingReliableVal,
6246
- pixelPositionVal, reliableMarginRightVal,
6247
- div = document.createElement( "div" ),
6248
- containerStyles = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px",
6249
- divReset =
6250
- "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;" +
6251
- "display:block;padding:0;margin:0;border:0";
6250
+ // Minified: var b,c,d,e,f,g, h,i
6251
+ var div, style, a, pixelPositionVal, boxSizingReliableVal,
6252
+ reliableHiddenOffsetsVal, reliableMarginRightVal;
6252
6253
 
6253
6254
  // Setup
6255
+ div = document.createElement( "div" );
6254
6256
  div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
6255
6257
  a = div.getElementsByTagName( "a" )[ 0 ];
6258
+ style = a && a.style;
6256
6259
 
6257
- a.style.cssText = "float:left;opacity:.5";
6260
+ // Finish early in limited (non-browser) environments
6261
+ if ( !style ) {
6262
+ return;
6263
+ }
6258
6264
 
6259
- // Make sure that element opacity exists
6260
- // (IE uses filter instead)
6261
- // Use a regex to work around a WebKit issue. See #5145
6262
- support.opacity = /^0.5/.test( a.style.opacity );
6265
+ style.cssText = "float:left;opacity:.5";
6266
+
6267
+ // Support: IE<9
6268
+ // Make sure that element opacity exists (as opposed to filter)
6269
+ support.opacity = style.opacity === "0.5";
6263
6270
 
6264
6271
  // Verify style float existence
6265
6272
  // (IE uses styleFloat instead of cssFloat)
6266
- support.cssFloat = !!a.style.cssFloat;
6273
+ support.cssFloat = !!style.cssFloat;
6267
6274
 
6268
6275
  div.style.backgroundClip = "content-box";
6269
6276
  div.cloneNode( true ).style.backgroundClip = "";
6270
6277
  support.clearCloneStyle = div.style.backgroundClip === "content-box";
6271
6278
 
6272
- // Null elements to avoid leaks in IE.
6273
- a = div = null;
6279
+ // Support: Firefox<29, Android 2.3
6280
+ // Vendor-prefix box-sizing
6281
+ support.boxSizing = style.boxSizing === "" || style.MozBoxSizing === "" ||
6282
+ style.WebkitBoxSizing === "";
6274
6283
 
6275
6284
  jQuery.extend(support, {
6276
6285
  reliableHiddenOffsets: function() {
6277
- if ( reliableHiddenOffsetsVal != null ) {
6278
- return reliableHiddenOffsetsVal;
6279
- }
6280
-
6281
- var container, tds, isSupported,
6282
- div = document.createElement( "div" ),
6283
- body = document.getElementsByTagName( "body" )[ 0 ];
6284
-
6285
- if ( !body ) {
6286
- // Return for frameset docs that don't have a body
6287
- return;
6288
- }
6289
-
6290
- // Setup
6291
- div.setAttribute( "className", "t" );
6292
- div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
6293
-
6294
- container = document.createElement( "div" );
6295
- container.style.cssText = containerStyles;
6296
-
6297
- body.appendChild( container ).appendChild( div );
6298
-
6299
- // Support: IE8
6300
- // Check if table cells still have offsetWidth/Height when they are set
6301
- // to display:none and there are still other visible table cells in a
6302
- // table row; if so, offsetWidth/Height are not reliable for use when
6303
- // determining if an element has been hidden directly using
6304
- // display:none (it is still safe to use offsets if a parent element is
6305
- // hidden; don safety goggles and see bug #4512 for more information).
6306
- div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
6307
- tds = div.getElementsByTagName( "td" );
6308
- tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none";
6309
- isSupported = ( tds[ 0 ].offsetHeight === 0 );
6310
-
6311
- tds[ 0 ].style.display = "";
6312
- tds[ 1 ].style.display = "none";
6313
-
6314
- // Support: IE8
6315
- // Check if empty table cells still have offsetWidth/Height
6316
- reliableHiddenOffsetsVal = isSupported && ( tds[ 0 ].offsetHeight === 0 );
6317
-
6318
- body.removeChild( container );
6319
-
6320
- // Null elements to avoid leaks in IE.
6321
- div = body = null;
6322
-
6323
- return reliableHiddenOffsetsVal;
6324
- },
6325
-
6326
- boxSizing: function() {
6327
- if ( boxSizingVal == null ) {
6286
+ if ( reliableHiddenOffsetsVal == null ) {
6328
6287
  computeStyleTests();
6329
6288
  }
6330
- return boxSizingVal;
6289
+ return reliableHiddenOffsetsVal;
6331
6290
  },
6332
6291
 
6333
6292
  boxSizingReliable: function() {
@@ -6344,84 +6303,86 @@ function addGetHookIf( conditionFn, hookFn ) {
6344
6303
  return pixelPositionVal;
6345
6304
  },
6346
6305
 
6306
+ // Support: Android 2.3
6347
6307
  reliableMarginRight: function() {
6348
- var body, container, div, marginDiv;
6349
-
6350
- // Use window.getComputedStyle because jsdom on node.js will break without it.
6351
- if ( reliableMarginRightVal == null && window.getComputedStyle ) {
6352
- body = document.getElementsByTagName( "body" )[ 0 ];
6353
- if ( !body ) {
6354
- // Test fired too early or in an unsupported environment, exit.
6355
- return;
6356
- }
6357
-
6358
- container = document.createElement( "div" );
6359
- div = document.createElement( "div" );
6360
- container.style.cssText = containerStyles;
6361
-
6362
- body.appendChild( container ).appendChild( div );
6363
-
6364
- // Check if div with explicit width and no margin-right incorrectly
6365
- // gets computed margin-right based on width of container. (#3333)
6366
- // Fails in WebKit before Feb 2011 nightlies
6367
- // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
6368
- marginDiv = div.appendChild( document.createElement( "div" ) );
6369
- marginDiv.style.cssText = div.style.cssText = divReset;
6370
- marginDiv.style.marginRight = marginDiv.style.width = "0";
6371
- div.style.width = "1px";
6372
-
6373
- reliableMarginRightVal =
6374
- !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );
6375
-
6376
- body.removeChild( container );
6308
+ if ( reliableMarginRightVal == null ) {
6309
+ computeStyleTests();
6377
6310
  }
6378
-
6379
6311
  return reliableMarginRightVal;
6380
6312
  }
6381
6313
  });
6382
6314
 
6383
6315
  function computeStyleTests() {
6384
- var container, div,
6385
- body = document.getElementsByTagName( "body" )[ 0 ];
6316
+ // Minified: var b,c,d,j
6317
+ var div, body, container, contents;
6386
6318
 
6387
- if ( !body ) {
6319
+ body = document.getElementsByTagName( "body" )[ 0 ];
6320
+ if ( !body || !body.style ) {
6388
6321
  // Test fired too early or in an unsupported environment, exit.
6389
6322
  return;
6390
6323
  }
6391
6324
 
6392
- container = document.createElement( "div" );
6325
+ // Setup
6393
6326
  div = document.createElement( "div" );
6394
- container.style.cssText = containerStyles;
6395
-
6327
+ container = document.createElement( "div" );
6328
+ container.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px";
6396
6329
  body.appendChild( container ).appendChild( div );
6397
6330
 
6398
6331
  div.style.cssText =
6399
- "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;" +
6400
- "position:absolute;display:block;padding:1px;border:1px;width:4px;" +
6401
- "margin-top:1%;top:1%";
6402
-
6403
- // Workaround failing boxSizing test due to offsetWidth returning wrong value
6404
- // with some non-1 values of body zoom, ticket #13543
6405
- jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() {
6406
- boxSizingVal = div.offsetWidth === 4;
6407
- });
6332
+ // Support: Firefox<29, Android 2.3
6333
+ // Vendor-prefix box-sizing
6334
+ "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
6335
+ "box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
6336
+ "border:1px;padding:1px;width:4px;position:absolute";
6408
6337
 
6409
- // Will be changed later if needed.
6410
- boxSizingReliableVal = true;
6411
- pixelPositionVal = false;
6338
+ // Support: IE<9
6339
+ // Assume reasonable values in the absence of getComputedStyle
6340
+ pixelPositionVal = boxSizingReliableVal = false;
6412
6341
  reliableMarginRightVal = true;
6413
6342
 
6414
- // Use window.getComputedStyle because jsdom on node.js will break without it.
6343
+ // Check for getComputedStyle so that this code is not run in IE<9.
6415
6344
  if ( window.getComputedStyle ) {
6416
6345
  pixelPositionVal = ( window.getComputedStyle( div, null ) || {} ).top !== "1%";
6417
6346
  boxSizingReliableVal =
6418
6347
  ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px";
6348
+
6349
+ // Support: Android 2.3
6350
+ // Div with explicit width and no margin-right incorrectly
6351
+ // gets computed margin-right based on width of container (#3333)
6352
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
6353
+ contents = div.appendChild( document.createElement( "div" ) );
6354
+
6355
+ // Reset CSS: box-sizing; display; margin; border; padding
6356
+ contents.style.cssText = div.style.cssText =
6357
+ // Support: Firefox<29, Android 2.3
6358
+ // Vendor-prefix box-sizing
6359
+ "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
6360
+ "box-sizing:content-box;display:block;margin:0;border:0;padding:0";
6361
+ contents.style.marginRight = contents.style.width = "0";
6362
+ div.style.width = "1px";
6363
+
6364
+ reliableMarginRightVal =
6365
+ !parseFloat( ( window.getComputedStyle( contents, null ) || {} ).marginRight );
6366
+ }
6367
+
6368
+ // Support: IE8
6369
+ // Check if table cells still have offsetWidth/Height when they are set
6370
+ // to display:none and there are still other visible table cells in a
6371
+ // table row; if so, offsetWidth/Height are not reliable for use when
6372
+ // determining if an element has been hidden directly using
6373
+ // display:none (it is still safe to use offsets if a parent element is
6374
+ // hidden; don safety goggles and see bug #4512 for more information).
6375
+ div.innerHTML = "<table><tr><td></td><td>t</td></tr></table>";
6376
+ contents = div.getElementsByTagName( "td" );
6377
+ contents[ 0 ].style.cssText = "margin:0;border:0;padding:0;display:none";
6378
+ reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
6379
+ if ( reliableHiddenOffsetsVal ) {
6380
+ contents[ 0 ].style.display = "";
6381
+ contents[ 1 ].style.display = "none";
6382
+ reliableHiddenOffsetsVal = contents[ 0 ].offsetHeight === 0;
6419
6383
  }
6420
6384
 
6421
6385
  body.removeChild( container );
6422
-
6423
- // Null elements to avoid leaks in IE.
6424
- div = body = null;
6425
6386
  }
6426
6387
 
6427
6388
  })();
@@ -6461,8 +6422,8 @@ var
6461
6422
 
6462
6423
  cssShow = { position: "absolute", visibility: "hidden", display: "block" },
6463
6424
  cssNormalTransform = {
6464
- letterSpacing: 0,
6465
- fontWeight: 400
6425
+ letterSpacing: "0",
6426
+ fontWeight: "400"
6466
6427
  },
6467
6428
 
6468
6429
  cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
@@ -6519,13 +6480,10 @@ function showHide( elements, show ) {
6519
6480
  values[ index ] = jQuery._data( elem, "olddisplay", defaultDisplay(elem.nodeName) );
6520
6481
  }
6521
6482
  } else {
6483
+ hidden = isHidden( elem );
6522
6484
 
6523
- if ( !values[ index ] ) {
6524
- hidden = isHidden( elem );
6525
-
6526
- if ( display && display !== "none" || !hidden ) {
6527
- jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
6528
- }
6485
+ if ( display && display !== "none" || !hidden ) {
6486
+ jQuery._data( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
6529
6487
  }
6530
6488
  }
6531
6489
  }
@@ -6598,7 +6556,7 @@ function getWidthOrHeight( elem, name, extra ) {
6598
6556
  var valueIsBorderBox = true,
6599
6557
  val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
6600
6558
  styles = getStyles( elem ),
6601
- isBorderBox = support.boxSizing() && jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
6559
+ isBorderBox = support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
6602
6560
 
6603
6561
  // some non-html elements return undefined for offsetWidth, so check for null/undefined
6604
6562
  // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
@@ -6654,6 +6612,8 @@ jQuery.extend({
6654
6612
  cssNumber: {
6655
6613
  "columnCount": true,
6656
6614
  "fillOpacity": true,
6615
+ "flexGrow": true,
6616
+ "flexShrink": true,
6657
6617
  "fontWeight": true,
6658
6618
  "lineHeight": true,
6659
6619
  "opacity": true,
@@ -6722,9 +6682,6 @@ jQuery.extend({
6722
6682
  // Support: IE
6723
6683
  // Swallow errors from 'invalid' CSS values (#5509)
6724
6684
  try {
6725
- // Support: Chrome, Safari
6726
- // Setting style to blank string required to delete "style: x !important;"
6727
- style[ name ] = "";
6728
6685
  style[ name ] = value;
6729
6686
  } catch(e) {}
6730
6687
  }
@@ -6781,7 +6738,7 @@ jQuery.each([ "height", "width" ], function( i, name ) {
6781
6738
  if ( computed ) {
6782
6739
  // certain elements can have dimension info if we invisibly show them
6783
6740
  // however, it must have a current display style that would benefit from this
6784
- return elem.offsetWidth === 0 && rdisplayswap.test( jQuery.css( elem, "display" ) ) ?
6741
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
6785
6742
  jQuery.swap( elem, cssShow, function() {
6786
6743
  return getWidthOrHeight( elem, name, extra );
6787
6744
  }) :
@@ -6796,7 +6753,7 @@ jQuery.each([ "height", "width" ], function( i, name ) {
6796
6753
  elem,
6797
6754
  name,
6798
6755
  extra,
6799
- support.boxSizing() && jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
6756
+ support.boxSizing && jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
6800
6757
  styles
6801
6758
  ) : 0
6802
6759
  );
@@ -7145,7 +7102,7 @@ function createTween( value, prop, animation ) {
7145
7102
 
7146
7103
  function defaultPrefilter( elem, props, opts ) {
7147
7104
  /* jshint validthis: true */
7148
- var prop, value, toggle, tween, hooks, oldfire, display, dDisplay,
7105
+ var prop, value, toggle, tween, hooks, oldfire, display, checkDisplay,
7149
7106
  anim = this,
7150
7107
  orig = {},
7151
7108
  style = elem.style,
@@ -7189,16 +7146,16 @@ function defaultPrefilter( elem, props, opts ) {
7189
7146
  // Set display property to inline-block for height/width
7190
7147
  // animations on inline elements that are having width/height animated
7191
7148
  display = jQuery.css( elem, "display" );
7192
- dDisplay = defaultDisplay( elem.nodeName );
7193
- if ( display === "none" ) {
7194
- display = dDisplay;
7195
- }
7196
- if ( display === "inline" &&
7197
- jQuery.css( elem, "float" ) === "none" ) {
7149
+
7150
+ // Test default display if display is currently "none"
7151
+ checkDisplay = display === "none" ?
7152
+ jQuery._data( elem, "olddisplay" ) || defaultDisplay( elem.nodeName ) : display;
7153
+
7154
+ if ( checkDisplay === "inline" && jQuery.css( elem, "float" ) === "none" ) {
7198
7155
 
7199
7156
  // inline-level elements accept inline-block;
7200
7157
  // block-level elements need to be inline with layout
7201
- if ( !support.inlineBlockNeedsLayout || dDisplay === "inline" ) {
7158
+ if ( !support.inlineBlockNeedsLayout || defaultDisplay( elem.nodeName ) === "inline" ) {
7202
7159
  style.display = "inline-block";
7203
7160
  } else {
7204
7161
  style.zoom = 1;
@@ -7233,6 +7190,10 @@ function defaultPrefilter( elem, props, opts ) {
7233
7190
  }
7234
7191
  }
7235
7192
  orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
7193
+
7194
+ // Any non-fx value stops us from restoring the original display value
7195
+ } else {
7196
+ display = undefined;
7236
7197
  }
7237
7198
  }
7238
7199
 
@@ -7274,6 +7235,10 @@ function defaultPrefilter( elem, props, opts ) {
7274
7235
  }
7275
7236
  }
7276
7237
  }
7238
+
7239
+ // If this is a noop like .hide().hide(), restore an overwritten display value
7240
+ } else if ( (display === "none" ? defaultDisplay( elem.nodeName ) : display) === "inline" ) {
7241
+ style.display = display;
7277
7242
  }
7278
7243
  }
7279
7244
 
@@ -7690,10 +7655,11 @@ jQuery.fn.delay = function( time, type ) {
7690
7655
 
7691
7656
 
7692
7657
  (function() {
7693
- var a, input, select, opt,
7694
- div = document.createElement("div" );
7658
+ // Minified: var a,b,c,d,e
7659
+ var input, div, select, a, opt;
7695
7660
 
7696
7661
  // Setup
7662
+ div = document.createElement( "div" );
7697
7663
  div.setAttribute( "className", "t" );
7698
7664
  div.innerHTML = " <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";
7699
7665
  a = div.getElementsByTagName("a")[ 0 ];
@@ -7741,9 +7707,6 @@ jQuery.fn.delay = function( time, type ) {
7741
7707
  input.value = "t";
7742
7708
  input.setAttribute( "type", "radio" );
7743
7709
  support.radioValue = input.value === "t";
7744
-
7745
- // Null elements to avoid leaks in IE.
7746
- a = input = select = opt = div = null;
7747
7710
  })();
7748
7711
 
7749
7712
 
@@ -7817,7 +7780,9 @@ jQuery.extend({
7817
7780
  var val = jQuery.find.attr( elem, "value" );
7818
7781
  return val != null ?
7819
7782
  val :
7820
- jQuery.text( elem );
7783
+ // Support: IE10-11+
7784
+ // option.text throws exceptions (#14686, #14858)
7785
+ jQuery.trim( jQuery.text( elem ) );
7821
7786
  }
7822
7787
  },
7823
7788
  select: {
@@ -9981,7 +9946,7 @@ jQuery.fn.load = function( url, params, callback ) {
9981
9946
  off = url.indexOf(" ");
9982
9947
 
9983
9948
  if ( off >= 0 ) {
9984
- selector = url.slice( off, url.length );
9949
+ selector = jQuery.trim( url.slice( off, url.length ) );
9985
9950
  url = url.slice( 0, off );
9986
9951
  }
9987
9952
 
@@ -10294,6 +10259,12 @@ jQuery.fn.andSelf = jQuery.fn.addBack;
10294
10259
  // derived from file names, and jQuery is normally delivered in a lowercase
10295
10260
  // file name. Do this after creating the global so that if an AMD module wants
10296
10261
  // to call noConflict to hide this version of jQuery, it will work.
10262
+
10263
+ // Note that for maximum portability, libraries that are not jQuery should
10264
+ // declare themselves as anonymous modules, and avoid setting a global if an
10265
+ // AMD loader is present. jQuery is a special case. For more information, see
10266
+ // https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
10267
+
10297
10268
  if ( typeof define === "function" && define.amd ) {
10298
10269
  define( "jquery", [], function() {
10299
10270
  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: 1.11.0
4
+ version: 1.11.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