loco-rails 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/lib/generators/loco/js_assets_structure/js_assets_structure_generator.rb +1 -1
  3. data/lib/loco/version.rb +1 -1
  4. data/test/dummy/bower.json +3 -3
  5. data/test/dummy/db/test.sqlite3 +0 -0
  6. data/test/dummy/log/development.log +914 -0
  7. data/test/dummy/log/test.log +14364 -0
  8. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1-WO2UjmfLs4SpjVZdSJGGMzBEsVGyxycwsDwVEQj1k.cache +0 -0
  9. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1lwmN4qs8MJAzC_yfG97s_SBsqDZ7S3tjAhKpSGRoPk.cache +0 -0
  10. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/2W9ni6toILqWfZF81i5tLooI3KkJgLMV2Um69h4tACE.cache +0 -0
  11. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/888aULOiH1o8nErYVbar7so8TSiHMnVRkCJVrsFow-8.cache +1 -0
  12. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/C2zMBdauRoyKtP5-Hbx-3FKU63Wir8HxxhnsEQjnye4.cache +1 -0
  13. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/KmN1A2cbnIa89JVXdNUnbxekW6XoG37uQ7TOrUmla6M.cache +1 -0
  14. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/N2LaSeSkH9O3-nDAwbgQ3fvF1RyzULzIdW9tRkCFdiE.cache +1 -0
  15. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NMX4CbiSfseLfHWah6QjF3ka-_q8iZ35lDHxpx5HZBc.cache +1 -0
  16. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/O97vuogdZekuQD9891VkdZtj2Ah9a6j_9SdFgHpRZPk.cache +3 -0
  17. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/RgNfOjSuRN575tirFTi553UywDtiZquNSKAUN4t_37E.cache +2 -0
  18. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/URfsWTq0WfX5JFf50HidIK1kGXYILlI3krzHQOlpGFw.cache +2 -0
  19. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/UqKz2K55R9dWSo9wYoLdN5lxNUXJFqA_7eipeyHMqQc.cache +1 -0
  20. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/WspjnlaWGkNP36-eIBusMx-VcvbF81RZ3L495DxSNNg.cache +1 -0
  21. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XUYO10EzvYAECtPUgdBF8rPWs9x6tndCxSwdhYWmDpQ.cache +1 -0
  22. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ckF-gg5mdNyYLK2tDms9BdsP1vFw5VYxZ11u7l8vzfc.cache +0 -0
  23. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/cxoptH0sPRJzPLP351ISNHPjig_W2A_-5fLVnK3tFu0.cache +1 -0
  24. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/k5GkEt2yH5INFBgLUTsGEmzjRr5Ngh6FiXYfmbqh-Tg.cache +1 -0
  25. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zIWnum7SG2OPux4uomf0kHpIZ5Nl1NfTAoHCdkHwZIY.cache +0 -0
  26. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zgdP9EhEWd05XIYSWZx4uQKkuRklpRj6KiShg6HqIRo.cache +0 -0
  27. data/test/dummy/vendor/assets/bower_components/jquery/AUTHORS.txt +53 -24
  28. data/test/dummy/vendor/assets/bower_components/jquery/dist/core.js +481 -0
  29. data/test/dummy/vendor/assets/bower_components/jquery/dist/jquery.js +2706 -3647
  30. data/test/dummy/vendor/assets/bower_components/jquery/dist/jquery.min.js +4 -5
  31. data/test/dummy/vendor/assets/bower_components/jquery/dist/jquery.min.map +1 -1
  32. data/test/dummy/vendor/assets/bower_components/jquery/dist/jquery.slim.js +533 -444
  33. data/test/dummy/vendor/assets/bower_components/jquery/dist/jquery.slim.min.js +4 -4
  34. data/test/dummy/vendor/assets/bower_components/jquery/dist/jquery.slim.min.map +1 -1
  35. data/test/dummy/vendor/assets/bower_components/jquery/{sizzle → external/sizzle}/LICENSE.txt +0 -0
  36. data/test/dummy/vendor/assets/bower_components/jquery/{sizzle → external/sizzle}/dist/sizzle.js +154 -80
  37. data/test/dummy/vendor/assets/bower_components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  38. data/test/dummy/vendor/assets/bower_components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  39. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +5 -3
  40. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/load.js +3 -11
  41. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +9 -10
  42. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/script.js +26 -44
  43. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/var/location.js +2 -0
  44. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +2 -0
  45. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +2 -0
  46. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/xhr.js +138 -198
  47. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax.js +104 -91
  48. data/test/dummy/vendor/assets/bower_components/jquery/src/attributes/attr.js +23 -167
  49. data/test/dummy/vendor/assets/bower_components/jquery/src/attributes/classes.js +18 -13
  50. data/test/dummy/vendor/assets/bower_components/jquery/src/attributes/prop.js +9 -37
  51. data/test/dummy/vendor/assets/bower_components/jquery/src/attributes/support.js +12 -49
  52. data/test/dummy/vendor/assets/bower_components/jquery/src/attributes/val.js +21 -28
  53. data/test/dummy/vendor/assets/bower_components/jquery/src/attributes.js +4 -2
  54. data/test/dummy/vendor/assets/bower_components/jquery/src/callbacks.js +5 -3
  55. data/test/dummy/vendor/assets/bower_components/jquery/src/core/DOMEval.js +2 -0
  56. data/test/dummy/vendor/assets/bower_components/jquery/src/core/access.js +8 -6
  57. data/test/dummy/vendor/assets/bower_components/jquery/src/core/init.js +13 -26
  58. data/test/dummy/vendor/assets/bower_components/jquery/src/core/parseHTML.js +32 -8
  59. data/test/dummy/vendor/assets/bower_components/jquery/src/core/ready-no-deferred.js +111 -0
  60. data/test/dummy/vendor/assets/bower_components/jquery/src/core/ready.js +32 -100
  61. data/test/dummy/vendor/assets/bower_components/jquery/src/core/readyException.js +13 -0
  62. data/test/dummy/vendor/assets/bower_components/jquery/src/core/support.js +3 -1
  63. data/test/dummy/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +2 -1
  64. data/test/dummy/vendor/assets/bower_components/jquery/src/core.js +71 -119
  65. data/test/dummy/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +2 -0
  66. data/test/dummy/vendor/assets/bower_components/jquery/src/css/adjustCSS.js +8 -2
  67. data/test/dummy/vendor/assets/bower_components/jquery/src/css/curCSS.js +34 -112
  68. data/test/dummy/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +7 -28
  69. data/test/dummy/vendor/assets/bower_components/jquery/src/css/showHide.js +69 -9
  70. data/test/dummy/vendor/assets/bower_components/jquery/src/css/support.js +48 -142
  71. data/test/dummy/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +2 -0
  72. data/test/dummy/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +3 -1
  73. data/test/dummy/vendor/assets/bower_components/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  74. data/test/dummy/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +2 -0
  75. data/test/dummy/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +2 -0
  76. data/test/dummy/vendor/assets/bower_components/jquery/src/css/var/swap.js +2 -0
  77. data/test/dummy/vendor/assets/bower_components/jquery/src/css.js +71 -223
  78. data/test/dummy/vendor/assets/bower_components/jquery/src/data/Data.js +24 -63
  79. data/test/dummy/vendor/assets/bower_components/jquery/src/data/var/acceptData.js +11 -12
  80. data/test/dummy/vendor/assets/bower_components/jquery/src/data/var/dataPriv.js +2 -0
  81. data/test/dummy/vendor/assets/bower_components/jquery/src/data/var/dataUser.js +2 -0
  82. data/test/dummy/vendor/assets/bower_components/jquery/src/data.js +66 -247
  83. data/test/dummy/vendor/assets/bower_components/jquery/src/deferred/exceptionHook.js +4 -2
  84. data/test/dummy/vendor/assets/bower_components/jquery/src/deferred.js +290 -60
  85. data/test/dummy/vendor/assets/bower_components/jquery/src/deprecated.js +4 -8
  86. data/test/dummy/vendor/assets/bower_components/jquery/src/dimensions.js +9 -9
  87. data/test/dummy/vendor/assets/bower_components/jquery/src/effects/Tween.js +11 -9
  88. data/test/dummy/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +3 -1
  89. data/test/dummy/vendor/assets/bower_components/jquery/src/effects.js +183 -135
  90. data/test/dummy/vendor/assets/bower_components/jquery/src/event/ajax.js +2 -0
  91. data/test/dummy/vendor/assets/bower_components/jquery/src/event/alias.js +7 -3
  92. data/test/dummy/vendor/assets/bower_components/jquery/src/event/focusin.js +5 -3
  93. data/test/dummy/vendor/assets/bower_components/jquery/src/event/support.js +3 -20
  94. data/test/dummy/vendor/assets/bower_components/jquery/src/event/trigger.js +4 -18
  95. data/test/dummy/vendor/assets/bower_components/jquery/src/event.js +145 -553
  96. data/test/dummy/vendor/assets/bower_components/jquery/src/exports/amd.js +2 -0
  97. data/test/dummy/vendor/assets/bower_components/jquery/src/exports/global.js +10 -2
  98. data/test/dummy/vendor/assets/bower_components/jquery/src/jquery.js +4 -1
  99. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +2 -0
  100. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/buildFragment.js +22 -75
  101. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/getAll.js +9 -19
  102. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/setGlobalEval.js +11 -8
  103. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/support.js +13 -50
  104. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +2 -0
  105. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/var/rscriptType.js +2 -0
  106. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/var/rtagName.js +3 -1
  107. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/wrapMap.js +11 -12
  108. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation.js +104 -203
  109. data/test/dummy/vendor/assets/bower_components/jquery/src/offset.js +64 -51
  110. data/test/dummy/vendor/assets/bower_components/jquery/src/queue/delay.js +3 -1
  111. data/test/dummy/vendor/assets/bower_components/jquery/src/queue.js +12 -11
  112. data/test/dummy/vendor/assets/bower_components/jquery/src/selector-native.js +29 -3
  113. data/test/dummy/vendor/assets/bower_components/jquery/src/selector-sizzle.js +5 -0
  114. data/test/dummy/vendor/assets/bower_components/jquery/src/selector.js +3 -1
  115. data/test/dummy/vendor/assets/bower_components/jquery/src/serialize.js +13 -12
  116. data/test/dummy/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +9 -10
  117. data/test/dummy/vendor/assets/bower_components/jquery/src/traversing/var/dir.js +2 -0
  118. data/test/dummy/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +2 -0
  119. data/test/dummy/vendor/assets/bower_components/jquery/src/traversing/var/siblings.js +2 -0
  120. data/test/dummy/vendor/assets/bower_components/jquery/src/traversing.js +36 -37
  121. data/test/dummy/vendor/assets/bower_components/jquery/src/var/ObjectFunctionString.js +7 -0
  122. data/test/dummy/vendor/assets/bower_components/jquery/src/var/arr.js +2 -0
  123. data/test/dummy/vendor/assets/bower_components/jquery/src/var/class2type.js +1 -0
  124. data/test/dummy/vendor/assets/bower_components/jquery/src/var/concat.js +5 -3
  125. data/test/dummy/vendor/assets/bower_components/jquery/src/var/document.js +2 -0
  126. data/test/dummy/vendor/assets/bower_components/jquery/src/var/documentElement.js +2 -0
  127. data/test/dummy/vendor/assets/bower_components/jquery/src/var/fnToString.js +7 -0
  128. data/test/dummy/vendor/assets/bower_components/jquery/src/var/getProto.js +5 -0
  129. data/test/dummy/vendor/assets/bower_components/jquery/src/var/hasOwn.js +2 -0
  130. data/test/dummy/vendor/assets/bower_components/jquery/src/var/indexOf.js +5 -3
  131. data/test/dummy/vendor/assets/bower_components/jquery/src/var/pnum.js +2 -0
  132. data/test/dummy/vendor/assets/bower_components/jquery/src/var/push.js +5 -3
  133. data/test/dummy/vendor/assets/bower_components/jquery/src/var/rcssNum.js +2 -0
  134. data/test/dummy/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +2 -0
  135. data/test/dummy/vendor/assets/bower_components/jquery/src/var/slice.js +5 -3
  136. data/test/dummy/vendor/assets/bower_components/jquery/src/var/support.js +1 -0
  137. data/test/dummy/vendor/assets/bower_components/jquery/src/var/toString.js +2 -0
  138. data/test/dummy/vendor/assets/bower_components/jquery/src/wrap.js +14 -14
  139. data/test/dummy/vendor/assets/bower_components/lie/bower.json +1 -1
  140. data/test/dummy/vendor/assets/bower_components/lie/component.json +1 -1
  141. data/test/dummy/vendor/assets/bower_components/lie/dist/lie.js +80 -80
  142. data/test/dummy/vendor/assets/bower_components/lie/dist/lie.min.js +1 -1
  143. data/test/dummy/vendor/assets/bower_components/lie/dist/lie.polyfill.js +9 -9
  144. data/test/dummy/vendor/assets/bower_components/lie/dist/lie.polyfill.min.js +1 -1
  145. data/test/dummy/vendor/assets/bower_components/lie/lib/browser.js +253 -0
  146. data/test/dummy/vendor/assets/bower_components/lie/lib/index.js +5 -5
  147. data/test/dummy/vendor/assets/bower_components/lie/package.json +28 -19
  148. data/test/dummy/vendor/assets/bower_components/lie/src/index.js +278 -0
  149. metadata +62 -36
  150. data/test/dummy/vendor/assets/bower_components/jquery/sizzle/dist/sizzle.min.js +0 -3
  151. data/test/dummy/vendor/assets/bower_components/jquery/sizzle/dist/sizzle.min.map +0 -1
  152. data/test/dummy/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -53
  153. data/test/dummy/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -72
  154. data/test/dummy/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -16
  155. data/test/dummy/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
  156. data/test/dummy/vendor/assets/bower_components/jquery/src/data/support.js +0 -23
  157. data/test/dummy/vendor/assets/bower_components/jquery/src/effects/support.js +0 -58
  158. data/test/dummy/vendor/assets/bower_components/jquery/src/intro.js +0 -44
  159. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/createSafeFragment.js +0 -20
  160. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/var/nodeNames.js +0 -5
  161. data/test/dummy/vendor/assets/bower_components/jquery/src/manipulation/var/rleadingWhitespace.js +0 -3
  162. data/test/dummy/vendor/assets/bower_components/jquery/src/outro.js +0 -2
  163. data/test/dummy/vendor/assets/bower_components/jquery/src/support.js +0 -63
  164. data/test/dummy/vendor/assets/bower_components/jquery/src/var/deletedIds.js +0 -3
@@ -5,6 +5,8 @@ define( [
5
5
  "../ajax"
6
6
  ], function( jQuery, nonce, rquery ) {
7
7
 
8
+ "use strict";
9
+
8
10
  var oldCallbacks = [],
9
11
  rjsonp = /(=)\?(?=&|$)|\?\?/;
10
12
 
@@ -53,7 +55,7 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
53
55
  return responseContainer[ 0 ];
54
56
  };
55
57
 
56
- // force json dataType
58
+ // Force json dataType
57
59
  s.dataTypes[ 0 ] = "json";
58
60
 
59
61
  // Install callback
@@ -77,10 +79,10 @@ jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
77
79
  // Save back as free
78
80
  if ( s[ callbackName ] ) {
79
81
 
80
- // make sure that re-using the options doesn't screw things around
82
+ // Make sure that re-using the options doesn't screw things around
81
83
  s.jsonpCallback = originalSettings.jsonpCallback;
82
84
 
83
- // save the callback name for future use
85
+ // Save the callback name for future use
84
86
  oldCallbacks.push( callbackName );
85
87
  }
86
88
 
@@ -4,29 +4,21 @@ define( [
4
4
  "../ajax",
5
5
  "../traversing",
6
6
  "../manipulation",
7
- "../selector",
8
-
9
- // Optional event/alias dependency
10
- "../event/alias"
7
+ "../selector"
11
8
  ], function( jQuery ) {
12
9
 
13
- // Keep a copy of the old load method
14
- var _load = jQuery.fn.load;
10
+ "use strict";
15
11
 
16
12
  /**
17
13
  * Load a url into a page
18
14
  */
19
15
  jQuery.fn.load = function( url, params, callback ) {
20
- if ( typeof url !== "string" && _load ) {
21
- return _load.apply( this, arguments );
22
- }
23
-
24
16
  var selector, type, response,
25
17
  self = this,
26
18
  off = url.indexOf( " " );
27
19
 
28
20
  if ( off > -1 ) {
29
- selector = jQuery.trim( url.slice( off, url.length ) );
21
+ selector = jQuery.trim( url.slice( off ) );
30
22
  url = url.slice( 0, off );
31
23
  }
32
24
 
@@ -2,25 +2,24 @@ define( [
2
2
  "../core"
3
3
  ], function( jQuery ) {
4
4
 
5
+ "use strict";
6
+
5
7
  // Cross-browser xml parsing
6
8
  jQuery.parseXML = function( data ) {
7
- var xml, tmp;
9
+ var xml;
8
10
  if ( !data || typeof data !== "string" ) {
9
11
  return null;
10
12
  }
13
+
14
+ // Support: IE 9 - 11 only
15
+ // IE throws on parseFromString with invalid input.
11
16
  try {
12
- if ( window.DOMParser ) { // Standard
13
- tmp = new window.DOMParser();
14
- xml = tmp.parseFromString( data, "text/xml" );
15
- } else { // IE
16
- xml = new window.ActiveXObject( "Microsoft.XMLDOM" );
17
- xml.async = "false";
18
- xml.loadXML( data );
19
- }
17
+ xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
20
18
  } catch ( e ) {
21
19
  xml = undefined;
22
20
  }
23
- if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) {
21
+
22
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
24
23
  jQuery.error( "Invalid XML: " + data );
25
24
  }
26
25
  return xml;
@@ -4,6 +4,15 @@ define( [
4
4
  "../ajax"
5
5
  ], function( jQuery, document ) {
6
6
 
7
+ "use strict";
8
+
9
+ // Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
10
+ jQuery.ajaxPrefilter( function( s ) {
11
+ if ( s.crossDomain ) {
12
+ s.contents.script = false;
13
+ }
14
+ } );
15
+
7
16
  // Install script dataType
8
17
  jQuery.ajaxSetup( {
9
18
  accepts: {
@@ -21,14 +30,13 @@ jQuery.ajaxSetup( {
21
30
  }
22
31
  } );
23
32
 
24
- // Handle cache's special case and global
33
+ // Handle cache's special case and crossDomain
25
34
  jQuery.ajaxPrefilter( "script", function( s ) {
26
35
  if ( s.cache === undefined ) {
27
36
  s.cache = false;
28
37
  }
29
38
  if ( s.crossDomain ) {
30
39
  s.type = "GET";
31
- s.global = false;
32
40
  }
33
41
  } );
34
42
 
@@ -37,55 +45,29 @@ jQuery.ajaxTransport( "script", function( s ) {
37
45
 
38
46
  // This transport only deals with cross domain requests
39
47
  if ( s.crossDomain ) {
40
-
41
- var script,
42
- head = document.head || jQuery( "head" )[ 0 ] || document.documentElement;
43
-
48
+ var script, callback;
44
49
  return {
45
-
46
- send: function( _, callback ) {
47
-
48
- script = document.createElement( "script" );
49
-
50
- script.async = true;
51
-
52
- if ( s.scriptCharset ) {
53
- script.charset = s.scriptCharset;
54
- }
55
-
56
- script.src = s.url;
57
-
58
- // Attach handlers for all browsers
59
- script.onload = script.onreadystatechange = function( _, isAbort ) {
60
-
61
- if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {
62
-
63
- // Handle memory leak in IE
64
- script.onload = script.onreadystatechange = null;
65
-
66
- // Remove the script
67
- if ( script.parentNode ) {
68
- script.parentNode.removeChild( script );
69
- }
70
-
71
- // Dereference the script
72
- script = null;
73
-
74
- // Callback if not abort
75
- if ( !isAbort ) {
76
- callback( 200, "success" );
50
+ send: function( _, complete ) {
51
+ script = jQuery( "<script>" ).prop( {
52
+ charset: s.scriptCharset,
53
+ src: s.url
54
+ } ).on(
55
+ "load error",
56
+ callback = function( evt ) {
57
+ script.remove();
58
+ callback = null;
59
+ if ( evt ) {
60
+ complete( evt.type === "error" ? 404 : 200, evt.type );
77
61
  }
78
62
  }
79
- };
63
+ );
80
64
 
81
- // Circumvent IE6 bugs with base elements (#2709 and #4378) by prepending
82
65
  // Use native DOM manipulation to avoid our domManip AJAX trickery
83
- head.insertBefore( script, head.firstChild );
66
+ document.head.appendChild( script[ 0 ] );
84
67
  },
85
-
86
68
  abort: function() {
87
- if ( script ) {
88
- script.onload( undefined, true );
69
+ if ( callback ) {
70
+ callback();
89
71
  }
90
72
  }
91
73
  };
@@ -1,3 +1,5 @@
1
1
  define( function() {
2
+ "use strict";
3
+
2
4
  return window.location;
3
5
  } );
@@ -1,5 +1,7 @@
1
1
  define( [
2
2
  "../../core"
3
3
  ], function( jQuery ) {
4
+ "use strict";
5
+
4
6
  return jQuery.now();
5
7
  } );
@@ -1,3 +1,5 @@
1
1
  define( function() {
2
+ "use strict";
3
+
2
4
  return ( /\?/ );
3
5
  } );
@@ -1,229 +1,169 @@
1
1
  define( [
2
2
  "../core",
3
- "../var/document",
4
3
  "../var/support",
5
4
  "../ajax"
6
- ], function( jQuery, document, support ) {
7
-
8
- // Create the request object
9
- // (This is still attached to ajaxSettings for backward compatibility)
10
- jQuery.ajaxSettings.xhr = window.ActiveXObject !== undefined ?
11
-
12
- // Support: IE6-IE8
13
- function() {
14
-
15
- // XHR cannot access local files, always use ActiveX for that case
16
- if ( this.isLocal ) {
17
- return createActiveXHR();
18
- }
19
-
20
- // Support: IE 9-11
21
- // IE seems to error on cross-domain PATCH requests when ActiveX XHR
22
- // is used. In IE 9+ always use the native XHR.
23
- // Note: this condition won't catch Edge as it doesn't define
24
- // document.documentMode but it also doesn't support ActiveX so it won't
25
- // reach this code.
26
- if ( document.documentMode > 8 ) {
27
- return createStandardXHR();
28
- }
29
-
30
- // Support: IE<9
31
- // oldIE XHR does not support non-RFC2616 methods (#13240)
32
- // See http://msdn.microsoft.com/en-us/library/ie/ms536648(v=vs.85).aspx
33
- // and http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9
34
- // Although this check for six methods instead of eight
35
- // since IE also does not support "trace" and "connect"
36
- return /^(get|post|head|put|delete|options)$/i.test( this.type ) &&
37
- createStandardXHR() || createActiveXHR();
38
- } :
39
-
40
- // For all other browsers, use the standard XMLHttpRequest object
41
- createStandardXHR;
42
-
43
- var xhrId = 0,
44
- xhrCallbacks = {},
45
- xhrSupported = jQuery.ajaxSettings.xhr();
46
-
47
- // Support: IE<10
48
- // Open requests must be manually aborted on unload (#5280)
49
- // See https://support.microsoft.com/kb/2856746 for more info
50
- if ( window.attachEvent ) {
51
- window.attachEvent( "onunload", function() {
52
- for ( var key in xhrCallbacks ) {
53
- xhrCallbacks[ key ]( undefined, true );
54
- }
55
- } );
56
- }
57
-
58
- // Determine support properties
59
- support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
60
- xhrSupported = support.ajax = !!xhrSupported;
61
-
62
- // Create transport if the browser can provide an xhr
63
- if ( xhrSupported ) {
64
-
65
- jQuery.ajaxTransport( function( options ) {
66
-
67
- // Cross domain only allowed if supported through XMLHttpRequest
68
- if ( !options.crossDomain || support.cors ) {
5
+ ], function( jQuery, support ) {
69
6
 
70
- var callback;
7
+ "use strict";
71
8
 
72
- return {
73
- send: function( headers, complete ) {
74
- var i,
75
- xhr = options.xhr(),
76
- id = ++xhrId;
77
-
78
- // Open the socket
79
- xhr.open(
80
- options.type,
81
- options.url,
82
- options.async,
83
- options.username,
84
- options.password
85
- );
9
+ jQuery.ajaxSettings.xhr = function() {
10
+ try {
11
+ return new window.XMLHttpRequest();
12
+ } catch ( e ) {}
13
+ };
86
14
 
87
- // Apply custom fields if provided
88
- if ( options.xhrFields ) {
89
- for ( i in options.xhrFields ) {
90
- xhr[ i ] = options.xhrFields[ i ];
91
- }
92
- }
15
+ var xhrSuccessStatus = {
93
16
 
94
- // Override mime type if needed
95
- if ( options.mimeType && xhr.overrideMimeType ) {
96
- xhr.overrideMimeType( options.mimeType );
97
- }
17
+ // File protocol always yields status code 0, assume 200
18
+ 0: 200,
98
19
 
99
- // X-Requested-With header
100
- // For cross-domain requests, seeing as conditions for a preflight are
101
- // akin to a jigsaw puzzle, we simply never set it to be sure.
102
- // (it can always be set on a per-request basis or even using ajaxSetup)
103
- // For same-domain requests, won't change header if already provided.
104
- if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
105
- headers[ "X-Requested-With" ] = "XMLHttpRequest";
106
- }
20
+ // Support: IE <=9 only
21
+ // #1450: sometimes IE returns 1223 when it should be 204
22
+ 1223: 204
23
+ },
24
+ xhrSupported = jQuery.ajaxSettings.xhr();
107
25
 
108
- // Set headers
109
- for ( i in headers ) {
110
-
111
- // Support: IE<9
112
- // IE's ActiveXObject throws a 'Type Mismatch' exception when setting
113
- // request header to a null-value.
114
- //
115
- // To keep consistent with other XHR implementations, cast the value
116
- // to string and ignore `undefined`.
117
- if ( headers[ i ] !== undefined ) {
118
- xhr.setRequestHeader( i, headers[ i ] + "" );
119
- }
26
+ support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
27
+ support.ajax = xhrSupported = !!xhrSupported;
28
+
29
+ jQuery.ajaxTransport( function( options ) {
30
+ var callback, errorCallback;
31
+
32
+ // Cross domain only allowed if supported through XMLHttpRequest
33
+ if ( support.cors || xhrSupported && !options.crossDomain ) {
34
+ return {
35
+ send: function( headers, complete ) {
36
+ var i,
37
+ xhr = options.xhr();
38
+
39
+ xhr.open(
40
+ options.type,
41
+ options.url,
42
+ options.async,
43
+ options.username,
44
+ options.password
45
+ );
46
+
47
+ // Apply custom fields if provided
48
+ if ( options.xhrFields ) {
49
+ for ( i in options.xhrFields ) {
50
+ xhr[ i ] = options.xhrFields[ i ];
120
51
  }
52
+ }
121
53
 
122
- // Do send the request
123
- // This may raise an exception which is actually
124
- // handled in jQuery.ajax (so no try/catch here)
125
- xhr.send( ( options.hasContent && options.data ) || null );
126
-
127
- // Listener
128
- callback = function( _, isAbort ) {
129
- var status, statusText, responses;
54
+ // Override mime type if needed
55
+ if ( options.mimeType && xhr.overrideMimeType ) {
56
+ xhr.overrideMimeType( options.mimeType );
57
+ }
130
58
 
131
- // Was never called and is aborted or complete
132
- if ( callback && ( isAbort || xhr.readyState === 4 ) ) {
59
+ // X-Requested-With header
60
+ // For cross-domain requests, seeing as conditions for a preflight are
61
+ // akin to a jigsaw puzzle, we simply never set it to be sure.
62
+ // (it can always be set on a per-request basis or even using ajaxSetup)
63
+ // For same-domain requests, won't change header if already provided.
64
+ if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
65
+ headers[ "X-Requested-With" ] = "XMLHttpRequest";
66
+ }
133
67
 
134
- // Clean up
135
- delete xhrCallbacks[ id ];
136
- callback = undefined;
137
- xhr.onreadystatechange = jQuery.noop;
68
+ // Set headers
69
+ for ( i in headers ) {
70
+ xhr.setRequestHeader( i, headers[ i ] );
71
+ }
138
72
 
139
- // Abort manually if needed
140
- if ( isAbort ) {
141
- if ( xhr.readyState !== 4 ) {
142
- xhr.abort();
73
+ // Callback
74
+ callback = function( type ) {
75
+ return function() {
76
+ if ( callback ) {
77
+ callback = errorCallback = xhr.onload =
78
+ xhr.onerror = xhr.onabort = xhr.onreadystatechange = null;
79
+
80
+ if ( type === "abort" ) {
81
+ xhr.abort();
82
+ } else if ( type === "error" ) {
83
+
84
+ // Support: IE <=9 only
85
+ // On a manual native abort, IE9 throws
86
+ // errors on any property access that is not readyState
87
+ if ( typeof xhr.status !== "number" ) {
88
+ complete( 0, "error" );
89
+ } else {
90
+ complete(
91
+
92
+ // File: protocol always yields status 0; see #8605, #14207
93
+ xhr.status,
94
+ xhr.statusText
95
+ );
143
96
  }
144
97
  } else {
145
- responses = {};
146
- status = xhr.status;
147
-
148
- // Support: IE<10
149
- // Accessing binary-data responseText throws an exception
150
- // (#11426)
151
- if ( typeof xhr.responseText === "string" ) {
152
- responses.text = xhr.responseText;
153
- }
154
-
155
- // Firefox throws an exception when accessing
156
- // statusText for faulty cross-domain requests
157
- try {
158
- statusText = xhr.statusText;
159
- } catch ( e ) {
160
-
161
- // We normalize with Webkit giving an empty statusText
162
- statusText = "";
163
- }
164
-
165
- // Filter status for non standard behaviors
166
-
167
- // If the request is local and we have data: assume a success
168
- // (success with no data won't get notified, that's the best we
169
- // can do given current implementations)
170
- if ( !status && options.isLocal && !options.crossDomain ) {
171
- status = responses.text ? 200 : 404;
172
-
173
- // IE - #1450: sometimes returns 1223 when it should be 204
174
- } else if ( status === 1223 ) {
175
- status = 204;
176
- }
98
+ complete(
99
+ xhrSuccessStatus[ xhr.status ] || xhr.status,
100
+ xhr.statusText,
101
+
102
+ // Support: IE <=9 only
103
+ // IE9 has no XHR2 but throws on binary (trac-11426)
104
+ // For XHR2 non-text, let the caller handle it (gh-2498)
105
+ ( xhr.responseType || "text" ) !== "text" ||
106
+ typeof xhr.responseText !== "string" ?
107
+ { binary: xhr.response } :
108
+ { text: xhr.responseText },
109
+ xhr.getAllResponseHeaders()
110
+ );
177
111
  }
178
112
  }
179
-
180
- // Call complete if needed
181
- if ( responses ) {
182
- complete( status, statusText, responses, xhr.getAllResponseHeaders() );
113
+ };
114
+ };
115
+
116
+ // Listen to events
117
+ xhr.onload = callback();
118
+ errorCallback = xhr.onerror = callback( "error" );
119
+
120
+ // Support: IE 9 only
121
+ // Use onreadystatechange to replace onabort
122
+ // to handle uncaught aborts
123
+ if ( xhr.onabort !== undefined ) {
124
+ xhr.onabort = errorCallback;
125
+ } else {
126
+ xhr.onreadystatechange = function() {
127
+
128
+ // Check readyState before timeout as it changes
129
+ if ( xhr.readyState === 4 ) {
130
+
131
+ // Allow onerror to be called first,
132
+ // but that will not handle a native abort
133
+ // Also, save errorCallback to a variable
134
+ // as xhr.onerror cannot be accessed
135
+ window.setTimeout( function() {
136
+ if ( callback ) {
137
+ errorCallback();
138
+ }
139
+ } );
183
140
  }
184
141
  };
142
+ }
185
143
 
186
- // Do send the request
187
- // `xhr.send` may raise an exception, but it will be
188
- // handled in jQuery.ajax (so no try/catch here)
189
- if ( !options.async ) {
190
-
191
- // If we're in sync mode we fire the callback
192
- callback();
193
- } else if ( xhr.readyState === 4 ) {
144
+ // Create the abort callback
145
+ callback = callback( "abort" );
194
146
 
195
- // (IE6 & IE7) if it's in cache and has been
196
- // retrieved directly we need to fire the callback
197
- window.setTimeout( callback );
198
- } else {
147
+ try {
199
148
 
200
- // Register the callback, but delay it in case `xhr.send` throws
201
- // Add to the list of active xhr callbacks
202
- xhr.onreadystatechange = xhrCallbacks[ id ] = callback;
203
- }
204
- },
149
+ // Do send the request (this may raise an exception)
150
+ xhr.send( options.hasContent && options.data || null );
151
+ } catch ( e ) {
205
152
 
206
- abort: function() {
153
+ // #14683: Only rethrow if this hasn't been notified as an error yet
207
154
  if ( callback ) {
208
- callback( undefined, true );
155
+ throw e;
209
156
  }
210
157
  }
211
- };
212
- }
213
- } );
214
- }
158
+ },
215
159
 
216
- // Functions to create xhrs
217
- function createStandardXHR() {
218
- try {
219
- return new window.XMLHttpRequest();
220
- } catch ( e ) {}
221
- }
222
-
223
- function createActiveXHR() {
224
- try {
225
- return new window.ActiveXObject( "Microsoft.XMLHTTP" );
226
- } catch ( e ) {}
227
- }
160
+ abort: function() {
161
+ if ( callback ) {
162
+ callback();
163
+ }
164
+ }
165
+ };
166
+ }
167
+ } );
228
168
 
229
169
  } );