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
@@ -1,38 +1,43 @@
1
1
  define( [
2
2
  "./core",
3
- "./var/document",
4
3
  "./var/concat",
5
4
  "./var/push",
6
- "./var/deletedIds",
7
5
  "./core/access",
8
-
9
6
  "./manipulation/var/rcheckableType",
10
7
  "./manipulation/var/rtagName",
11
8
  "./manipulation/var/rscriptType",
12
- "./manipulation/var/rleadingWhitespace",
13
- "./manipulation/var/nodeNames",
14
- "./manipulation/createSafeFragment",
15
9
  "./manipulation/wrapMap",
16
10
  "./manipulation/getAll",
17
11
  "./manipulation/setGlobalEval",
18
12
  "./manipulation/buildFragment",
19
13
  "./manipulation/support",
14
+
15
+ "./data/var/dataPriv",
16
+ "./data/var/dataUser",
20
17
  "./data/var/acceptData",
18
+ "./core/DOMEval",
21
19
 
22
20
  "./core/init",
23
21
  "./traversing",
24
22
  "./selector",
25
23
  "./event"
26
- ], function( jQuery, document, concat, push, deletedIds, access,
27
- rcheckableType, rtagName, rscriptType, rleadingWhitespace, nodeNames,
28
- createSafeFragment, wrapMap, getAll, setGlobalEval,
29
- buildFragment, support, acceptData ) {
24
+ ], function( jQuery, concat, push, access,
25
+ rcheckableType, rtagName, rscriptType,
26
+ wrapMap, getAll, setGlobalEval, buildFragment, support,
27
+ dataPriv, dataUser, acceptData, DOMEval ) {
28
+
29
+ "use strict";
30
+
31
+ var
32
+
33
+ /* eslint-disable max-len */
30
34
 
31
- var rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
32
- rnoshimcache = new RegExp( "<(?:" + nodeNames + ")[\\s/>]", "i" ),
33
- rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
35
+ // See https://github.com/eslint/eslint/issues/3229
36
+ rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
34
37
 
35
- // Support: IE 10-11, Edge 10240+
38
+ /* eslint-enable */
39
+
40
+ // Support: IE <=10 - 11, Edge 12 - 13
36
41
  // In IE/Edge using regex groups here causes severe slowdowns.
37
42
  // See https://connect.microsoft.com/IE/feedback/details/1736512/
38
43
  rnoInnerhtml = /<script|<style|<link/i,
@@ -40,126 +45,78 @@ var rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
40
45
  // checked="checked" or checked
41
46
  rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
42
47
  rscriptTypeMasked = /^true\/(.*)/,
43
- rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
44
- safeFragment = createSafeFragment( document ),
45
- fragmentDiv = safeFragment.appendChild( document.createElement( "div" ) );
48
+ rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
46
49
 
47
- // Support: IE<8
48
- // Manipulating tables requires a tbody
49
50
  function manipulationTarget( elem, content ) {
50
- return jQuery.nodeName( elem, "table" ) &&
51
- jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ?
51
+ if ( jQuery.nodeName( elem, "table" ) &&
52
+ jQuery.nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
53
+
54
+ return elem.getElementsByTagName( "tbody" )[ 0 ] || elem;
55
+ }
52
56
 
53
- elem.getElementsByTagName( "tbody" )[ 0 ] ||
54
- elem.appendChild( elem.ownerDocument.createElement( "tbody" ) ) :
55
- elem;
57
+ return elem;
56
58
  }
57
59
 
58
60
  // Replace/restore the type attribute of script elements for safe DOM manipulation
59
61
  function disableScript( elem ) {
60
- elem.type = ( jQuery.find.attr( elem, "type" ) !== null ) + "/" + elem.type;
62
+ elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
61
63
  return elem;
62
64
  }
63
65
  function restoreScript( elem ) {
64
66
  var match = rscriptTypeMasked.exec( elem.type );
67
+
65
68
  if ( match ) {
66
69
  elem.type = match[ 1 ];
67
70
  } else {
68
71
  elem.removeAttribute( "type" );
69
72
  }
73
+
70
74
  return elem;
71
75
  }
72
76
 
73
77
  function cloneCopyEvent( src, dest ) {
74
- if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
75
- return;
76
- }
78
+ var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
77
79
 
78
- var type, i, l,
79
- oldData = jQuery._data( src ),
80
- curData = jQuery._data( dest, oldData ),
81
- events = oldData.events;
82
-
83
- if ( events ) {
84
- delete curData.handle;
85
- curData.events = {};
86
-
87
- for ( type in events ) {
88
- for ( i = 0, l = events[ type ].length; i < l; i++ ) {
89
- jQuery.event.add( dest, type, events[ type ][ i ] );
90
- }
91
- }
92
- }
93
-
94
- // make the cloned public data object a copy from the original
95
- if ( curData.data ) {
96
- curData.data = jQuery.extend( {}, curData.data );
97
- }
98
- }
99
-
100
- function fixCloneNodeIssues( src, dest ) {
101
- var nodeName, e, data;
102
-
103
- // We do not need to do anything for non-Elements
104
80
  if ( dest.nodeType !== 1 ) {
105
81
  return;
106
82
  }
107
83
 
108
- nodeName = dest.nodeName.toLowerCase();
84
+ // 1. Copy private data: events, handlers, etc.
85
+ if ( dataPriv.hasData( src ) ) {
86
+ pdataOld = dataPriv.access( src );
87
+ pdataCur = dataPriv.set( dest, pdataOld );
88
+ events = pdataOld.events;
109
89
 
110
- // IE6-8 copies events bound via attachEvent when using cloneNode.
111
- if ( !support.noCloneEvent && dest[ jQuery.expando ] ) {
112
- data = jQuery._data( dest );
90
+ if ( events ) {
91
+ delete pdataCur.handle;
92
+ pdataCur.events = {};
113
93
 
114
- for ( e in data.events ) {
115
- jQuery.removeEvent( dest, e, data.handle );
94
+ for ( type in events ) {
95
+ for ( i = 0, l = events[ type ].length; i < l; i++ ) {
96
+ jQuery.event.add( dest, type, events[ type ][ i ] );
97
+ }
98
+ }
116
99
  }
117
-
118
- // Event data gets referenced instead of copied if the expando gets copied too
119
- dest.removeAttribute( jQuery.expando );
120
100
  }
121
101
 
122
- // IE blanks contents when cloning scripts, and tries to evaluate newly-set text
123
- if ( nodeName === "script" && dest.text !== src.text ) {
124
- disableScript( dest ).text = src.text;
125
- restoreScript( dest );
126
-
127
- // IE6-10 improperly clones children of object elements using classid.
128
- // IE10 throws NoModificationAllowedError if parent is null, #12132.
129
- } else if ( nodeName === "object" ) {
130
- if ( dest.parentNode ) {
131
- dest.outerHTML = src.outerHTML;
132
- }
133
-
134
- // This path appears unavoidable for IE9. When cloning an object
135
- // element in IE9, the outerHTML strategy above is not sufficient.
136
- // If the src has innerHTML and the destination does not,
137
- // copy the src.innerHTML into the dest.innerHTML. #10324
138
- if ( support.html5Clone && ( src.innerHTML && !jQuery.trim( dest.innerHTML ) ) ) {
139
- dest.innerHTML = src.innerHTML;
140
- }
141
-
142
- } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
102
+ // 2. Copy user data
103
+ if ( dataUser.hasData( src ) ) {
104
+ udataOld = dataUser.access( src );
105
+ udataCur = jQuery.extend( {}, udataOld );
143
106
 
144
- // IE6-8 fails to persist the checked state of a cloned checkbox
145
- // or radio button. Worse, IE6-7 fail to give the cloned element
146
- // a checked appearance if the defaultChecked value isn't also set
147
-
148
- dest.defaultChecked = dest.checked = src.checked;
107
+ dataUser.set( dest, udataCur );
108
+ }
109
+ }
149
110
 
150
- // IE6-7 get confused and end up setting the value of a cloned
151
- // checkbox/radio button to an empty string instead of "on"
152
- if ( dest.value !== src.value ) {
153
- dest.value = src.value;
154
- }
111
+ // Fix IE bugs, see support tests
112
+ function fixInput( src, dest ) {
113
+ var nodeName = dest.nodeName.toLowerCase();
155
114
 
156
- // IE6-8 fails to return the selected option to the default selected
157
- // state when cloning options
158
- } else if ( nodeName === "option" ) {
159
- dest.defaultSelected = dest.selected = src.defaultSelected;
115
+ // Fails to persist the checked state of a cloned checkbox or radio button.
116
+ if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
117
+ dest.checked = src.checked;
160
118
 
161
- // IE6-8 fails to set the defaultValue to the correct value when
162
- // cloning other types of input fields
119
+ // Fails to return the selected option to the default selected state when cloning options
163
120
  } else if ( nodeName === "input" || nodeName === "textarea" ) {
164
121
  dest.defaultValue = src.defaultValue;
165
122
  }
@@ -170,8 +127,7 @@ function domManip( collection, args, callback, ignored ) {
170
127
  // Flatten any nested arrays
171
128
  args = concat.apply( [], args );
172
129
 
173
- var first, node, hasScripts,
174
- scripts, doc, fragment,
130
+ var fragment, first, scripts, hasScripts, node, doc,
175
131
  i = 0,
176
132
  l = collection.length,
177
133
  iNoClone = l - 1,
@@ -216,7 +172,7 @@ function domManip( collection, args, callback, ignored ) {
216
172
  // Keep references to cloned scripts for later restoration
217
173
  if ( hasScripts ) {
218
174
 
219
- // Support: Android<4.1, PhantomJS<2
175
+ // Support: Android <=4.0 only, PhantomJS 1 only
220
176
  // push.apply(_, arraylike) throws on ancient WebKit
221
177
  jQuery.merge( scripts, getAll( node, "script" ) );
222
178
  }
@@ -235,7 +191,7 @@ function domManip( collection, args, callback, ignored ) {
235
191
  for ( i = 0; i < hasScripts; i++ ) {
236
192
  node = scripts[ i ];
237
193
  if ( rscriptType.test( node.type || "" ) &&
238
- !jQuery._data( node, "globalEval" ) &&
194
+ !dataPriv.access( node, "globalEval" ) &&
239
195
  jQuery.contains( doc, node ) ) {
240
196
 
241
197
  if ( node.src ) {
@@ -245,17 +201,11 @@ function domManip( collection, args, callback, ignored ) {
245
201
  jQuery._evalUrl( node.src );
246
202
  }
247
203
  } else {
248
- jQuery.globalEval(
249
- ( node.text || node.textContent || node.innerHTML || "" )
250
- .replace( rcleanScript, "" )
251
- );
204
+ DOMEval( node.textContent.replace( rcleanScript, "" ), doc );
252
205
  }
253
206
  }
254
207
  }
255
208
  }
256
-
257
- // Fix #11809: Avoid leaking memory
258
- fragment = first = null;
259
209
  }
260
210
  }
261
211
 
@@ -264,11 +214,10 @@ function domManip( collection, args, callback, ignored ) {
264
214
 
265
215
  function remove( elem, selector, keepData ) {
266
216
  var node,
267
- elems = selector ? jQuery.filter( selector, elem ) : elem,
217
+ nodes = selector ? jQuery.filter( selector, elem ) : elem,
268
218
  i = 0;
269
219
 
270
- for ( ; ( node = elems[ i ] ) != null; i++ ) {
271
-
220
+ for ( ; ( node = nodes[ i ] ) != null; i++ ) {
272
221
  if ( !keepData && node.nodeType === 1 ) {
273
222
  jQuery.cleanData( getAll( node ) );
274
223
  }
@@ -290,34 +239,20 @@ jQuery.extend( {
290
239
  },
291
240
 
292
241
  clone: function( elem, dataAndEvents, deepDataAndEvents ) {
293
- var destElements, node, clone, i, srcElements,
242
+ var i, l, srcElements, destElements,
243
+ clone = elem.cloneNode( true ),
294
244
  inPage = jQuery.contains( elem.ownerDocument, elem );
295
245
 
296
- if ( support.html5Clone || jQuery.isXMLDoc( elem ) ||
297
- !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) {
298
-
299
- clone = elem.cloneNode( true );
300
-
301
- // IE<=8 does not properly clone detached, unknown element nodes
302
- } else {
303
- fragmentDiv.innerHTML = elem.outerHTML;
304
- fragmentDiv.removeChild( clone = fragmentDiv.firstChild );
305
- }
306
-
307
- if ( ( !support.noCloneEvent || !support.noCloneChecked ) &&
308
- ( elem.nodeType === 1 || elem.nodeType === 11 ) && !jQuery.isXMLDoc( elem ) ) {
246
+ // Fix IE cloning issues
247
+ if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
248
+ !jQuery.isXMLDoc( elem ) ) {
309
249
 
310
- // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
250
+ // We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
311
251
  destElements = getAll( clone );
312
252
  srcElements = getAll( elem );
313
253
 
314
- // Fix all IE cloning issues
315
- for ( i = 0; ( node = srcElements[ i ] ) != null; ++i ) {
316
-
317
- // Ensure that the destination node is not null; Fixes #9587
318
- if ( destElements[ i ] ) {
319
- fixCloneNodeIssues( node, destElements[ i ] );
320
- }
254
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
255
+ fixInput( srcElements[ i ], destElements[ i ] );
321
256
  }
322
257
  }
323
258
 
@@ -327,8 +262,8 @@ jQuery.extend( {
327
262
  srcElements = srcElements || getAll( elem );
328
263
  destElements = destElements || getAll( clone );
329
264
 
330
- for ( i = 0; ( node = srcElements[ i ] ) != null; i++ ) {
331
- cloneCopyEvent( node, destElements[ i ] );
265
+ for ( i = 0, l = srcElements.length; i < l; i++ ) {
266
+ cloneCopyEvent( srcElements[ i ], destElements[ i ] );
332
267
  }
333
268
  } else {
334
269
  cloneCopyEvent( elem, clone );
@@ -341,27 +276,18 @@ jQuery.extend( {
341
276
  setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
342
277
  }
343
278
 
344
- destElements = srcElements = node = null;
345
-
346
279
  // Return the cloned set
347
280
  return clone;
348
281
  },
349
282
 
350
- cleanData: function( elems, /* internal */ forceAcceptData ) {
351
- var elem, type, id, data,
352
- i = 0,
353
- internalKey = jQuery.expando,
354
- cache = jQuery.cache,
355
- attributes = support.attributes,
356
- special = jQuery.event.special;
357
-
358
- for ( ; ( elem = elems[ i ] ) != null; i++ ) {
359
- if ( forceAcceptData || acceptData( elem ) ) {
360
-
361
- id = elem[ internalKey ];
362
- data = id && cache[ id ];
283
+ cleanData: function( elems ) {
284
+ var data, elem, type,
285
+ special = jQuery.event.special,
286
+ i = 0;
363
287
 
364
- if ( data ) {
288
+ for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
289
+ if ( acceptData( elem ) ) {
290
+ if ( ( data = elem[ dataPriv.expando ] ) ) {
365
291
  if ( data.events ) {
366
292
  for ( type in data.events ) {
367
293
  if ( special[ type ] ) {
@@ -374,27 +300,15 @@ jQuery.extend( {
374
300
  }
375
301
  }
376
302
 
377
- // Remove cache only if it was not already removed by jQuery.event.remove
378
- if ( cache[ id ] ) {
379
-
380
- delete cache[ id ];
381
-
382
- // Support: IE<9
383
- // IE does not allow us to delete expando properties from nodes
384
- // IE creates expando attributes along with the property
385
- // IE does not have a removeAttribute function on Document nodes
386
- if ( !attributes && typeof elem.removeAttribute !== "undefined" ) {
387
- elem.removeAttribute( internalKey );
388
-
389
- // Webkit & Blink performance suffers when deleting properties
390
- // from DOM nodes, so set to undefined instead
391
- // https://code.google.com/p/chromium/issues/detail?id=378607
392
- } else {
393
- elem[ internalKey ] = undefined;
394
- }
303
+ // Support: Chrome <=35 - 45+
304
+ // Assign undefined instead of using delete, see Data#remove
305
+ elem[ dataPriv.expando ] = undefined;
306
+ }
307
+ if ( elem[ dataUser.expando ] ) {
395
308
 
396
- deletedIds.push( id );
397
- }
309
+ // Support: Chrome <=35 - 45+
310
+ // Assign undefined instead of using delete, see Data#remove
311
+ elem[ dataUser.expando ] = undefined;
398
312
  }
399
313
  }
400
314
  }
@@ -402,10 +316,6 @@ jQuery.extend( {
402
316
  } );
403
317
 
404
318
  jQuery.fn.extend( {
405
-
406
- // Keep domManip exposed until 3.0 (gh-2225)
407
- domManip: domManip,
408
-
409
319
  detach: function( selector ) {
410
320
  return remove( this, selector, true );
411
321
  },
@@ -418,9 +328,11 @@ jQuery.fn.extend( {
418
328
  return access( this, function( value ) {
419
329
  return value === undefined ?
420
330
  jQuery.text( this ) :
421
- this.empty().append(
422
- ( this[ 0 ] && this[ 0 ].ownerDocument || document ).createTextNode( value )
423
- );
331
+ this.empty().each( function() {
332
+ if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
333
+ this.textContent = value;
334
+ }
335
+ } );
424
336
  }, null, value, arguments.length );
425
337
  },
426
338
 
@@ -463,21 +375,13 @@ jQuery.fn.extend( {
463
375
  i = 0;
464
376
 
465
377
  for ( ; ( elem = this[ i ] ) != null; i++ ) {
466
-
467
- // Remove element nodes and prevent memory leaks
468
378
  if ( elem.nodeType === 1 ) {
469
- jQuery.cleanData( getAll( elem, false ) );
470
- }
471
379
 
472
- // Remove any remaining nodes
473
- while ( elem.firstChild ) {
474
- elem.removeChild( elem.firstChild );
475
- }
380
+ // Prevent memory leaks
381
+ jQuery.cleanData( getAll( elem, false ) );
476
382
 
477
- // If this is a select, ensure that it displays empty (#12336)
478
- // Support: IE<9
479
- if ( elem.options && jQuery.nodeName( elem, "select" ) ) {
480
- elem.options.length = 0;
383
+ // Remove any remaining nodes
384
+ elem.textContent = "";
481
385
  }
482
386
  }
483
387
 
@@ -499,25 +403,21 @@ jQuery.fn.extend( {
499
403
  i = 0,
500
404
  l = this.length;
501
405
 
502
- if ( value === undefined ) {
503
- return elem.nodeType === 1 ?
504
- elem.innerHTML.replace( rinlinejQuery, "" ) :
505
- undefined;
406
+ if ( value === undefined && elem.nodeType === 1 ) {
407
+ return elem.innerHTML;
506
408
  }
507
409
 
508
410
  // See if we can take a shortcut and just use innerHTML
509
411
  if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
510
- ( support.htmlSerialize || !rnoshimcache.test( value ) ) &&
511
- ( support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
512
412
  !wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
513
413
 
514
414
  value = jQuery.htmlPrefilter( value );
515
415
 
516
416
  try {
517
417
  for ( ; i < l; i++ ) {
418
+ elem = this[ i ] || {};
518
419
 
519
420
  // Remove element nodes and prevent memory leaks
520
- elem = this[ i ] || {};
521
421
  if ( elem.nodeType === 1 ) {
522
422
  jQuery.cleanData( getAll( elem, false ) );
523
423
  elem.innerHTML = value;
@@ -564,16 +464,17 @@ jQuery.each( {
564
464
  }, function( name, original ) {
565
465
  jQuery.fn[ name ] = function( selector ) {
566
466
  var elems,
567
- i = 0,
568
467
  ret = [],
569
468
  insert = jQuery( selector ),
570
- last = insert.length - 1;
469
+ last = insert.length - 1,
470
+ i = 0;
571
471
 
572
472
  for ( ; i <= last; i++ ) {
573
473
  elems = i === last ? this : this.clone( true );
574
474
  jQuery( insert[ i ] )[ original ]( elems );
575
475
 
576
- // Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get()
476
+ // Support: Android <=4.0 only, PhantomJS 1 only
477
+ // .get() because push.apply(_, arraylike) throws on ancient WebKit
577
478
  push.apply( ret, elems.get() );
578
479
  }
579
480