modernizr-rails 2.6.3 → 2.7.0

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.
@@ -1,5 +1,5 @@
1
1
  module Modernizr
2
2
  module Rails
3
- VERSION = '2.6.3'
3
+ VERSION = '2.7.0'
4
4
  end
5
5
  end
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Modernizr v2.6.3
2
+ * Modernizr v2.7.0
3
3
  * www.modernizr.com
4
4
  *
5
5
  * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
@@ -24,7 +24,7 @@
24
24
 
25
25
  window.Modernizr = (function( window, document, undefined ) {
26
26
 
27
- var version = '2.6.3',
27
+ var version = '2.7.0',
28
28
 
29
29
  Modernizr = {},
30
30
 
@@ -1004,35 +1004,40 @@ window.Modernizr = (function( window, document, undefined ) {
1004
1004
  modElem = inputElem = null;
1005
1005
 
1006
1006
  /*>>shiv*/
1007
- /*! HTML5 Shiv v3.6.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */
1007
+ /**
1008
+ * @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
1009
+ */
1008
1010
  ;(function(window, document) {
1009
- /*jshint evil:true */
1010
- /** Preset options */
1011
- var options = window.html5 || {};
1011
+ /*jshint evil:true */
1012
+ /** version */
1013
+ var version = '3.7.0';
1012
1014
 
1013
- /** Used to skip problem elements */
1014
- var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
1015
+ /** Preset options */
1016
+ var options = window.html5 || {};
1015
1017
 
1016
- /** Not all elements can be cloned in IE **/
1017
- var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
1018
+ /** Used to skip problem elements */
1019
+ var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
1018
1020
 
1019
- /** Detect whether the browser supports default html5 styles */
1020
- var supportsHtml5Styles;
1021
+ /** Not all elements can be cloned in IE **/
1022
+ var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
1021
1023
 
1022
- /** Name of the expando, to work with multiple documents or to re-shiv one document */
1023
- var expando = '_html5shiv';
1024
+ /** Detect whether the browser supports default html5 styles */
1025
+ var supportsHtml5Styles;
1024
1026
 
1025
- /** The id for the the documents expando */
1026
- var expanID = 0;
1027
+ /** Name of the expando, to work with multiple documents or to re-shiv one document */
1028
+ var expando = '_html5shiv';
1027
1029
 
1028
- /** Cached data for each document */
1029
- var expandoData = {};
1030
+ /** The id for the the documents expando */
1031
+ var expanID = 0;
1030
1032
 
1031
- /** Detect whether the browser supports unknown elements */
1032
- var supportsUnknownElements;
1033
+ /** Cached data for each document */
1034
+ var expandoData = {};
1033
1035
 
1034
- (function() {
1035
- try {
1036
+ /** Detect whether the browser supports unknown elements */
1037
+ var supportsUnknownElements;
1038
+
1039
+ (function() {
1040
+ try {
1036
1041
  var a = document.createElement('a');
1037
1042
  a.innerHTML = '<xyz></xyz>';
1038
1043
  //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
@@ -1048,248 +1053,256 @@ window.Modernizr = (function( window, document, undefined ) {
1048
1053
  typeof frag.createElement == 'undefined'
1049
1054
  );
1050
1055
  }());
1051
- } catch(e) {
1052
- supportsHtml5Styles = true;
1053
- supportsUnknownElements = true;
1054
- }
1056
+ } catch(e) {
1057
+ // assign a false positive if detection fails => unable to shiv
1058
+ supportsHtml5Styles = true;
1059
+ supportsUnknownElements = true;
1060
+ }
1055
1061
 
1056
- }());
1062
+ }());
1057
1063
 
1058
- /*--------------------------------------------------------------------------*/
1064
+ /*--------------------------------------------------------------------------*/
1059
1065
 
1060
- /**
1061
- * Creates a style sheet with the given CSS text and adds it to the document.
1062
- * @private
1063
- * @param {Document} ownerDocument The document.
1064
- * @param {String} cssText The CSS text.
1065
- * @returns {StyleSheet} The style element.
1066
- */
1067
- function addStyleSheet(ownerDocument, cssText) {
1068
- var p = ownerDocument.createElement('p'),
1069
- parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
1066
+ /**
1067
+ * Creates a style sheet with the given CSS text and adds it to the document.
1068
+ * @private
1069
+ * @param {Document} ownerDocument The document.
1070
+ * @param {String} cssText The CSS text.
1071
+ * @returns {StyleSheet} The style element.
1072
+ */
1073
+ function addStyleSheet(ownerDocument, cssText) {
1074
+ var p = ownerDocument.createElement('p'),
1075
+ parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
1070
1076
 
1071
- p.innerHTML = 'x<style>' + cssText + '</style>';
1072
- return parent.insertBefore(p.lastChild, parent.firstChild);
1073
- }
1077
+ p.innerHTML = 'x<style>' + cssText + '</style>';
1078
+ return parent.insertBefore(p.lastChild, parent.firstChild);
1079
+ }
1074
1080
 
1075
- /**
1076
- * Returns the value of `html5.elements` as an array.
1077
- * @private
1078
- * @returns {Array} An array of shived element node names.
1079
- */
1080
- function getElements() {
1081
- var elements = html5.elements;
1082
- return typeof elements == 'string' ? elements.split(' ') : elements;
1083
- }
1081
+ /**
1082
+ * Returns the value of `html5.elements` as an array.
1083
+ * @private
1084
+ * @returns {Array} An array of shived element node names.
1085
+ */
1086
+ function getElements() {
1087
+ var elements = html5.elements;
1088
+ return typeof elements == 'string' ? elements.split(' ') : elements;
1089
+ }
1084
1090
 
1085
1091
  /**
1086
- * Returns the data associated to the given document
1087
- * @private
1088
- * @param {Document} ownerDocument The document.
1089
- * @returns {Object} An object of data.
1090
- */
1091
- function getExpandoData(ownerDocument) {
1092
- var data = expandoData[ownerDocument[expando]];
1093
- if (!data) {
1092
+ * Returns the data associated to the given document
1093
+ * @private
1094
+ * @param {Document} ownerDocument The document.
1095
+ * @returns {Object} An object of data.
1096
+ */
1097
+ function getExpandoData(ownerDocument) {
1098
+ var data = expandoData[ownerDocument[expando]];
1099
+ if (!data) {
1094
1100
  data = {};
1095
1101
  expanID++;
1096
1102
  ownerDocument[expando] = expanID;
1097
1103
  expandoData[expanID] = data;
1104
+ }
1105
+ return data;
1098
1106
  }
1099
- return data;
1100
- }
1101
1107
 
1102
- /**
1103
- * returns a shived element for the given nodeName and document
1104
- * @memberOf html5
1105
- * @param {String} nodeName name of the element
1106
- * @param {Document} ownerDocument The context document.
1107
- * @returns {Object} The shived element.
1108
- */
1109
- function createElement(nodeName, ownerDocument, data){
1110
- if (!ownerDocument) {
1108
+ /**
1109
+ * returns a shived element for the given nodeName and document
1110
+ * @memberOf html5
1111
+ * @param {String} nodeName name of the element
1112
+ * @param {Document} ownerDocument The context document.
1113
+ * @returns {Object} The shived element.
1114
+ */
1115
+ function createElement(nodeName, ownerDocument, data){
1116
+ if (!ownerDocument) {
1111
1117
  ownerDocument = document;
1112
- }
1113
- if(supportsUnknownElements){
1118
+ }
1119
+ if(supportsUnknownElements){
1114
1120
  return ownerDocument.createElement(nodeName);
1115
- }
1116
- if (!data) {
1121
+ }
1122
+ if (!data) {
1117
1123
  data = getExpandoData(ownerDocument);
1118
- }
1119
- var node;
1124
+ }
1125
+ var node;
1120
1126
 
1121
- if (data.cache[nodeName]) {
1127
+ if (data.cache[nodeName]) {
1122
1128
  node = data.cache[nodeName].cloneNode();
1123
- } else if (saveClones.test(nodeName)) {
1129
+ } else if (saveClones.test(nodeName)) {
1124
1130
  node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
1125
- } else {
1131
+ } else {
1126
1132
  node = data.createElem(nodeName);
1127
- }
1133
+ }
1128
1134
 
1129
- // Avoid adding some elements to fragments in IE < 9 because
1130
- // * Attributes like `name` or `type` cannot be set/changed once an element
1131
- // is inserted into a document/fragment
1132
- // * Link elements with `src` attributes that are inaccessible, as with
1133
- // a 403 response, will cause the tab/window to crash
1134
- // * Script elements appended to fragments will execute when their `src`
1135
- // or `text` property is set
1136
- return node.canHaveChildren && !reSkip.test(nodeName) ? data.frag.appendChild(node) : node;
1137
- }
1135
+ // Avoid adding some elements to fragments in IE < 9 because
1136
+ // * Attributes like `name` or `type` cannot be set/changed once an element
1137
+ // is inserted into a document/fragment
1138
+ // * Link elements with `src` attributes that are inaccessible, as with
1139
+ // a 403 response, will cause the tab/window to crash
1140
+ // * Script elements appended to fragments will execute when their `src`
1141
+ // or `text` property is set
1142
+ return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
1143
+ }
1138
1144
 
1139
- /**
1140
- * returns a shived DocumentFragment for the given document
1141
- * @memberOf html5
1142
- * @param {Document} ownerDocument The context document.
1143
- * @returns {Object} The shived DocumentFragment.
1144
- */
1145
- function createDocumentFragment(ownerDocument, data){
1146
- if (!ownerDocument) {
1145
+ /**
1146
+ * returns a shived DocumentFragment for the given document
1147
+ * @memberOf html5
1148
+ * @param {Document} ownerDocument The context document.
1149
+ * @returns {Object} The shived DocumentFragment.
1150
+ */
1151
+ function createDocumentFragment(ownerDocument, data){
1152
+ if (!ownerDocument) {
1147
1153
  ownerDocument = document;
1148
- }
1149
- if(supportsUnknownElements){
1154
+ }
1155
+ if(supportsUnknownElements){
1150
1156
  return ownerDocument.createDocumentFragment();
1151
- }
1152
- data = data || getExpandoData(ownerDocument);
1153
- var clone = data.frag.cloneNode(),
1154
- i = 0,
1155
- elems = getElements(),
1156
- l = elems.length;
1157
- for(;i<l;i++){
1157
+ }
1158
+ data = data || getExpandoData(ownerDocument);
1159
+ var clone = data.frag.cloneNode(),
1160
+ i = 0,
1161
+ elems = getElements(),
1162
+ l = elems.length;
1163
+ for(;i<l;i++){
1158
1164
  clone.createElement(elems[i]);
1165
+ }
1166
+ return clone;
1159
1167
  }
1160
- return clone;
1161
- }
1162
1168
 
1163
- /**
1164
- * Shivs the `createElement` and `createDocumentFragment` methods of the document.
1165
- * @private
1166
- * @param {Document|DocumentFragment} ownerDocument The document.
1167
- * @param {Object} data of the document.
1168
- */
1169
- function shivMethods(ownerDocument, data) {
1170
- if (!data.cache) {
1169
+ /**
1170
+ * Shivs the `createElement` and `createDocumentFragment` methods of the document.
1171
+ * @private
1172
+ * @param {Document|DocumentFragment} ownerDocument The document.
1173
+ * @param {Object} data of the document.
1174
+ */
1175
+ function shivMethods(ownerDocument, data) {
1176
+ if (!data.cache) {
1171
1177
  data.cache = {};
1172
1178
  data.createElem = ownerDocument.createElement;
1173
1179
  data.createFrag = ownerDocument.createDocumentFragment;
1174
1180
  data.frag = data.createFrag();
1175
- }
1176
-
1177
-
1178
- ownerDocument.createElement = function(nodeName) {
1179
- //abort shiv
1180
- if (!html5.shivMethods) {
1181
- return data.createElem(nodeName);
1182
1181
  }
1183
- return createElement(nodeName, ownerDocument, data);
1184
- };
1185
-
1186
- ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
1187
- 'var n=f.cloneNode(),c=n.createElement;' +
1188
- 'h.shivMethods&&(' +
1189
- // unroll the `createElement` calls
1190
- getElements().join().replace(/\w+/g, function(nodeName) {
1191
- data.createElem(nodeName);
1192
- data.frag.createElement(nodeName);
1193
- return 'c("' + nodeName + '")';
1194
- }) +
1195
- ');return n}'
1196
- )(html5, data.frag);
1197
- }
1198
1182
 
1199
- /*--------------------------------------------------------------------------*/
1200
1183
 
1201
- /**
1202
- * Shivs the given document.
1203
- * @memberOf html5
1204
- * @param {Document} ownerDocument The document to shiv.
1205
- * @returns {Document} The shived document.
1206
- */
1207
- function shivDocument(ownerDocument) {
1208
- if (!ownerDocument) {
1209
- ownerDocument = document;
1210
- }
1211
- var data = getExpandoData(ownerDocument);
1212
-
1213
- if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
1214
- data.hasCSS = !!addStyleSheet(ownerDocument,
1215
- // corrects block display not defined in IE6/7/8/9
1216
- 'article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}' +
1217
- // adds styling not present in IE6/7/8/9
1218
- 'mark{background:#FF0;color:#000}'
1219
- );
1220
- }
1221
- if (!supportsUnknownElements) {
1222
- shivMethods(ownerDocument, data);
1184
+ ownerDocument.createElement = function(nodeName) {
1185
+ //abort shiv
1186
+ if (!html5.shivMethods) {
1187
+ return data.createElem(nodeName);
1188
+ }
1189
+ return createElement(nodeName, ownerDocument, data);
1190
+ };
1191
+
1192
+ ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
1193
+ 'var n=f.cloneNode(),c=n.createElement;' +
1194
+ 'h.shivMethods&&(' +
1195
+ // unroll the `createElement` calls
1196
+ getElements().join().replace(/[\w\-]+/g, function(nodeName) {
1197
+ data.createElem(nodeName);
1198
+ data.frag.createElement(nodeName);
1199
+ return 'c("' + nodeName + '")';
1200
+ }) +
1201
+ ');return n}'
1202
+ )(html5, data.frag);
1223
1203
  }
1224
- return ownerDocument;
1225
- }
1226
-
1227
- /*--------------------------------------------------------------------------*/
1228
1204
 
1229
- /**
1230
- * The `html5` object is exposed so that more elements can be shived and
1231
- * existing shiving can be detected on iframes.
1232
- * @type Object
1233
- * @example
1234
- *
1235
- * // options can be changed before the script is included
1236
- * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
1237
- */
1238
- var html5 = {
1205
+ /*--------------------------------------------------------------------------*/
1239
1206
 
1240
1207
  /**
1241
- * An array or space separated string of node names of the elements to shiv.
1208
+ * Shivs the given document.
1242
1209
  * @memberOf html5
1243
- * @type Array|String
1210
+ * @param {Document} ownerDocument The document to shiv.
1211
+ * @returns {Document} The shived document.
1244
1212
  */
1245
- 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video',
1246
-
1247
- /**
1248
- * A flag to indicate that the HTML5 style sheet should be inserted.
1249
- * @memberOf html5
1250
- * @type Boolean
1251
- */
1252
- 'shivCSS': (options.shivCSS !== false),
1213
+ function shivDocument(ownerDocument) {
1214
+ if (!ownerDocument) {
1215
+ ownerDocument = document;
1216
+ }
1217
+ var data = getExpandoData(ownerDocument);
1218
+
1219
+ if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
1220
+ data.hasCSS = !!addStyleSheet(ownerDocument,
1221
+ // corrects block display not defined in IE6/7/8/9
1222
+ 'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
1223
+ // adds styling not present in IE6/7/8/9
1224
+ 'mark{background:#FF0;color:#000}' +
1225
+ // hides non-rendered elements
1226
+ 'template{display:none}'
1227
+ );
1228
+ }
1229
+ if (!supportsUnknownElements) {
1230
+ shivMethods(ownerDocument, data);
1231
+ }
1232
+ return ownerDocument;
1233
+ }
1253
1234
 
1254
- /**
1255
- * Is equal to true if a browser supports creating unknown/HTML5 elements
1256
- * @memberOf html5
1257
- * @type boolean
1258
- */
1259
- 'supportsUnknownElements': supportsUnknownElements,
1235
+ /*--------------------------------------------------------------------------*/
1260
1236
 
1261
1237
  /**
1262
- * A flag to indicate that the document's `createElement` and `createDocumentFragment`
1263
- * methods should be overwritten.
1264
- * @memberOf html5
1265
- * @type Boolean
1238
+ * The `html5` object is exposed so that more elements can be shived and
1239
+ * existing shiving can be detected on iframes.
1240
+ * @type Object
1241
+ * @example
1242
+ *
1243
+ * // options can be changed before the script is included
1244
+ * html5 = { 'elements': 'mark section', 'shivCSS': false, 'shivMethods': false };
1266
1245
  */
1267
- 'shivMethods': (options.shivMethods !== false),
1268
-
1269
- /**
1270
- * A string to describe the type of `html5` object ("default" or "default print").
1271
- * @memberOf html5
1272
- * @type String
1273
- */
1274
- 'type': 'default',
1275
-
1276
- // shivs the document according to the specified `html5` object options
1277
- 'shivDocument': shivDocument,
1278
-
1279
- //creates a shived element
1280
- createElement: createElement,
1281
-
1282
- //creates a shived documentFragment
1283
- createDocumentFragment: createDocumentFragment
1284
- };
1246
+ var html5 = {
1247
+
1248
+ /**
1249
+ * An array or space separated string of node names of the elements to shiv.
1250
+ * @memberOf html5
1251
+ * @type Array|String
1252
+ */
1253
+ 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video',
1254
+
1255
+ /**
1256
+ * current version of html5shiv
1257
+ */
1258
+ 'version': version,
1259
+
1260
+ /**
1261
+ * A flag to indicate that the HTML5 style sheet should be inserted.
1262
+ * @memberOf html5
1263
+ * @type Boolean
1264
+ */
1265
+ 'shivCSS': (options.shivCSS !== false),
1266
+
1267
+ /**
1268
+ * Is equal to true if a browser supports creating unknown/HTML5 elements
1269
+ * @memberOf html5
1270
+ * @type boolean
1271
+ */
1272
+ 'supportsUnknownElements': supportsUnknownElements,
1273
+
1274
+ /**
1275
+ * A flag to indicate that the document's `createElement` and `createDocumentFragment`
1276
+ * methods should be overwritten.
1277
+ * @memberOf html5
1278
+ * @type Boolean
1279
+ */
1280
+ 'shivMethods': (options.shivMethods !== false),
1281
+
1282
+ /**
1283
+ * A string to describe the type of `html5` object ("default" or "default print").
1284
+ * @memberOf html5
1285
+ * @type String
1286
+ */
1287
+ 'type': 'default',
1288
+
1289
+ // shivs the document according to the specified `html5` object options
1290
+ 'shivDocument': shivDocument,
1291
+
1292
+ //creates a shived element
1293
+ createElement: createElement,
1294
+
1295
+ //creates a shived documentFragment
1296
+ createDocumentFragment: createDocumentFragment
1297
+ };
1285
1298
 
1286
- /*--------------------------------------------------------------------------*/
1299
+ /*--------------------------------------------------------------------------*/
1287
1300
 
1288
- // expose html5
1289
- window.html5 = html5;
1301
+ // expose html5
1302
+ window.html5 = html5;
1290
1303
 
1291
- // shiv the document
1292
- shivDocument(document);
1304
+ // shiv the document
1305
+ shivDocument(document);
1293
1306
 
1294
1307
  }(this, document));
1295
1308
  /*>>shiv*/
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modernizr-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.3
4
+ version: 2.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-11-13 00:00:00.000000000 Z
12
+ date: 2013-11-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails