webshims-rails 1.14.3 → 1.14.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +4 -0
  4. data/vendor/assets/javascripts/webshims/polyfiller.js +141 -139
  5. data/vendor/assets/javascripts/webshims/shims/color-picker.js +1 -3
  6. data/vendor/assets/javascripts/webshims/shims/combos/1.js +22 -33
  7. data/vendor/assets/javascripts/webshims/shims/combos/10.js +76 -73
  8. data/vendor/assets/javascripts/webshims/shims/combos/11.js +73 -61
  9. data/vendor/assets/javascripts/webshims/shims/combos/12.js +37 -41
  10. data/vendor/assets/javascripts/webshims/shims/combos/13.js +36 -40
  11. data/vendor/assets/javascripts/webshims/shims/combos/14.js +7 -7
  12. data/vendor/assets/javascripts/webshims/shims/combos/15.js +23 -32
  13. data/vendor/assets/javascripts/webshims/shims/combos/16.js +36 -57
  14. data/vendor/assets/javascripts/webshims/shims/combos/17.js +73 -61
  15. data/vendor/assets/javascripts/webshims/shims/combos/18.js +611 -4604
  16. data/vendor/assets/javascripts/webshims/shims/combos/2.js +27 -47
  17. data/vendor/assets/javascripts/webshims/shims/combos/21.js +61 -31
  18. data/vendor/assets/javascripts/webshims/shims/combos/22.js +24 -16
  19. data/vendor/assets/javascripts/webshims/shims/combos/23.js +13 -25
  20. data/vendor/assets/javascripts/webshims/shims/combos/25.js +40 -27
  21. data/vendor/assets/javascripts/webshims/shims/combos/27.js +167 -166
  22. data/vendor/assets/javascripts/webshims/shims/combos/28.js +11 -12
  23. data/vendor/assets/javascripts/webshims/shims/combos/29.js +5 -5
  24. data/vendor/assets/javascripts/webshims/shims/combos/3.js +14 -22
  25. data/vendor/assets/javascripts/webshims/shims/combos/30.js +16 -24
  26. data/vendor/assets/javascripts/webshims/shims/combos/31.js +14 -22
  27. data/vendor/assets/javascripts/webshims/shims/combos/33.js +2 -2
  28. data/vendor/assets/javascripts/webshims/shims/combos/34.js +27 -28
  29. data/vendor/assets/javascripts/webshims/shims/combos/4.js +5 -14
  30. data/vendor/assets/javascripts/webshims/shims/combos/5.js +78 -66
  31. data/vendor/assets/javascripts/webshims/shims/combos/6.js +80 -68
  32. data/vendor/assets/javascripts/webshims/shims/combos/7.js +29 -49
  33. data/vendor/assets/javascripts/webshims/shims/combos/8.js +27 -47
  34. data/vendor/assets/javascripts/webshims/shims/combos/9.js +78 -75
  35. data/vendor/assets/javascripts/webshims/shims/combos/97.js +42 -29
  36. data/vendor/assets/javascripts/webshims/shims/combos/98.js +116 -40
  37. data/vendor/assets/javascripts/webshims/shims/combos/99.js +112 -38
  38. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +3 -12
  39. data/vendor/assets/javascripts/webshims/shims/es5.js +4 -4
  40. data/vendor/assets/javascripts/webshims/shims/es6.js +1887 -0
  41. data/vendor/assets/javascripts/webshims/shims/form-core.js +9 -8
  42. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +2 -2
  43. data/vendor/assets/javascripts/webshims/shims/form-inputmode.js +52 -0
  44. data/vendor/assets/javascripts/webshims/shims/form-message.js +2 -2
  45. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +4 -5
  46. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +73 -61
  47. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +7 -8
  48. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +164 -163
  49. data/vendor/assets/javascripts/webshims/shims/form-validation.js +121 -144
  50. data/vendor/assets/javascripts/webshims/shims/jme/_icons.scss +3 -0
  51. data/vendor/assets/javascripts/webshims/shims/jme/alternate-media.js +184 -0
  52. data/vendor/assets/javascripts/webshims/shims/jme/{b.js → base.js} +38 -27
  53. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +129 -39
  54. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +145 -44
  55. data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
  56. data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +0 -0
  57. data/vendor/assets/javascripts/webshims/shims/jme/jme.ttf +0 -0
  58. data/vendor/assets/javascripts/webshims/shims/jme/jme.woff +0 -0
  59. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +448 -90
  60. data/vendor/assets/javascripts/webshims/shims/jme/{c.js → mediacontrols.js} +74 -11
  61. data/vendor/assets/javascripts/webshims/shims/jme/{p.js → playlist.js} +4 -2
  62. data/vendor/assets/javascripts/webshims/shims/matchMedia.js +122 -0
  63. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +12 -24
  64. data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +1 -1
  65. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +37 -15
  66. data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +3 -3
  67. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +4 -5
  68. data/vendor/assets/javascripts/webshims/shims/picture.js +13 -54
  69. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +13 -20
  70. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +24 -18
  71. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +32 -10
  72. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +43 -47
  73. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +30 -18
  74. data/vendor/assets/javascripts/webshims/shims/styles/transparent.png +0 -0
  75. data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
  76. data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +0 -0
  77. data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
  78. data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
  79. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  80. data/vendor/assets/javascripts/webshims/shims/swfmini.js +1 -1
  81. data/vendor/assets/javascripts/webshims/shims/track-ui.js +4 -5
  82. data/vendor/assets/javascripts/webshims/shims/track.js +24 -16
  83. metadata +9 -8
  84. data/vendor/assets/javascripts/webshims/shims/combos/19.js +0 -4745
  85. data/vendor/assets/javascripts/webshims/shims/combos/20.js +0 -4522
  86. data/vendor/assets/javascripts/webshims/shims/combos/32.js +0 -2443
  87. data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +0 -1
@@ -3,7 +3,7 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
3
3
  var isNumber = function(string){
4
4
  return (typeof string == 'number' || (string && string == string * 1));
5
5
  };
6
-
6
+ var support = webshims.support;
7
7
  //support getSetAttribute
8
8
  var supportGetSetAttribute = !(('getSetAttribute' in $.support) && !$.support.getSetAttribute);
9
9
  //submitbubbles for IE6-IE8
@@ -153,9 +153,9 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
153
153
  }
154
154
 
155
155
 
156
- if(!Modernizr.formattribute || !Modernizr.fieldsetdisabled || !Modernizr.fieldsetelements){
156
+ if(!support.fieldsetdisabled || !support.fieldsetelements){
157
157
  (function(){
158
- if(!Modernizr.fieldsetdisabled){
158
+ if(!support.fieldsetdisabled){
159
159
  var isFieldsetGroup = {
160
160
  fieldset: 1,
161
161
  FIELDSET: 1
@@ -250,194 +250,193 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
250
250
  }
251
251
 
252
252
 
253
- if(!Modernizr.formattribute){
254
- (function(prop, undefined){
255
- var isForm = {form: 1, FORM: 1};
256
- $.prop = function(elem, name, value){
257
- var ret;
258
- //TODO: cache + perftest
259
- if(elem && elem.nodeType == 1 && value === undefined && isForm[elem.nodeName] && elem.id){
260
- ret = document.getElementsByName(name);
261
- if(!ret || !ret.length){
262
- ret = document.getElementById(name);
263
- }
264
- if(ret){
265
- ret = $(ret).filter(function(){
266
- return $.prop(this, 'form') == elem;
267
- }).get();
268
- if(ret.length){
269
- return ret.length == 1 ? ret[0] : ret;
270
- }
253
+ (function(prop, undefined){
254
+ var isForm = {form: 1, FORM: 1};
255
+ $.prop = function(elem, name, value){
256
+ var ret;
257
+ //TODO: cache + perftest
258
+ if(elem && elem.nodeType == 1 && value === undefined && isForm[elem.nodeName] && elem.id){
259
+ ret = document.getElementsByName(name);
260
+ if(!ret || !ret.length){
261
+ ret = document.getElementById(name);
262
+ }
263
+ if(ret){
264
+ ret = $(ret).filter(function(){
265
+ return $.prop(this, 'form') == elem;
266
+ }).get();
267
+ if(ret.length){
268
+ return ret.length == 1 ? ret[0] : ret;
271
269
  }
272
270
  }
273
- return prop.apply(this, arguments);
274
- };
275
- })($.prop, undefined);
276
-
277
- var removeAddedElements = function(form){
278
- var elements = $.data(form, 'webshimsAddedElements');
279
- if(elements){
280
- elements.remove();
281
- $.removeData(form, 'webshimsAddedElements');
282
271
  }
272
+ return prop.apply(this, arguments);
283
273
  };
274
+ })($.prop, undefined);
284
275
 
285
- var getAssociatedForm = function () {
286
- var form = webshims.contentAttr(this, 'form');
287
- if(form){
288
- form = document.getElementById(form);
289
- if(form && !$.nodeName(form, 'form')){
290
- form = null;
291
- }
292
- }
293
- return form || this.form;
294
- };
295
- webshims.defineNodeNamesProperty(['input', 'textarea', 'select', 'button', 'fieldset'], 'form', {
296
- prop: {
297
- get: getAssociatedForm,
298
- writeable: false
276
+ var removeAddedElements = function(form){
277
+ var elements = $.data(form, 'webshimsAddedElements');
278
+ if(elements){
279
+ elements.remove();
280
+ $.removeData(form, 'webshimsAddedElements');
281
+ }
282
+ };
283
+
284
+ var getAssociatedForm = function () {
285
+ var form = webshims.contentAttr(this, 'form');
286
+ if(form){
287
+ form = document.getElementById(form);
288
+ if(form && !$.nodeName(form, 'form')){
289
+ form = null;
299
290
  }
300
- });
291
+ }
292
+ return form || this.form;
293
+ };
294
+ webshims.defineNodeNamesProperty(['input', 'textarea', 'select', 'button', 'fieldset'], 'form', {
295
+ prop: {
296
+ get: getAssociatedForm,
297
+ writeable: false
298
+ }
299
+ });
301
300
 
302
- webshims.defineNodeNamesProperty(['form'], 'elements', {
303
- prop: {
304
- get: function(){
305
- //TODO: cache + perftest
306
- var sel, addElements, detachElements, formElements, i, len;
307
- var id = this.id;
308
- var elements = [];
309
- if(id){
310
- detachElements = $.data(this, 'webshimsAddedElements');
311
- if(detachElements){
312
- detachElements.detach();
313
- }
301
+ webshims.defineNodeNamesProperty(['form'], 'elements', {
302
+ prop: {
303
+ get: function(){
304
+ //TODO: cache + perftest
305
+ var sel, addElements, detachElements, formElements, i, len;
306
+ var id = this.id;
307
+ var elements = [];
308
+ if(id){
309
+ detachElements = $.data(this, 'webshimsAddedElements');
310
+ if(detachElements){
311
+ detachElements.detach();
314
312
  }
313
+ }
315
314
 
316
- formElements = this.elements;
315
+ formElements = this.elements;
317
316
 
318
- if(this.querySelector('input[form], select[form], textarea[form]')){
319
- for(i = 0, len = formElements.length; i < len; i++){
320
- if(getAssociatedForm.call(formElements[i]) == this){
321
- elements.push(formElements[i]);
322
- }
317
+ if(this.querySelector('input[form], select[form], textarea[form]')){
318
+ for(i = 0, len = formElements.length; i < len; i++){
319
+ if(getAssociatedForm.call(formElements[i]) == this){
320
+ elements.push(formElements[i]);
323
321
  }
324
- } else {
325
- elements = $.makeArray(formElements);
326
322
  }
323
+ } else {
324
+ elements = $.makeArray(formElements);
325
+ }
327
326
 
328
- if(id){
329
- sel = 'input[form="'+ id +'"], select[form="'+ id +'"], textarea[form="'+ id +'"], button[form="'+ id +'"], fieldset[form="'+ id +'"]';
330
- addElements = document.querySelectorAll(sel) || [];
331
- if(addElements.length){
332
- elements = $(elements).add(addElements).get();
327
+ if(id){
328
+ sel = 'input[form="'+ id +'"], select[form="'+ id +'"], textarea[form="'+ id +'"], button[form="'+ id +'"], fieldset[form="'+ id +'"]';
329
+ addElements = document.querySelectorAll(sel) || [];
330
+ if(addElements.length){
331
+ elements = $(elements).add(addElements).get();
333
332
 
334
- }
335
- if(detachElements){
336
- detachElements.appendTo(this);
337
- }
338
333
  }
339
- return elements;
340
- },
341
- writeable: false
342
- }
343
- });
334
+ if(detachElements){
335
+ detachElements.appendTo(this);
336
+ }
337
+ }
338
+ return elements;
339
+ },
340
+ writeable: false
341
+ }
342
+ });
344
343
 
345
344
 
346
345
 
347
- $(function(){
348
- var stopPropagation = function(e){
349
- e.stopPropagation();
350
- };
351
- var submitters = {
352
- image: 1,
353
- submit: 1
354
- };
355
- $(document).on('submit', function(e){
356
-
357
- if(!e.isDefaultPrevented()){
358
- var form = e.target;
359
- var id = form.id;
360
- var elements;
361
-
362
-
363
- if(id){
364
- removeAddedElements(form);
365
- elements = document.querySelectorAll('input[form="'+ id +'"], select[form="'+ id +'"], textarea[form="'+ id +'"]');
366
- elements = $(elements)
367
- .filter(function(){
368
- return !this.disabled && this.name && this.form != form;
369
- })
370
- .clone()
371
- ;
372
- if(elements.length){
373
- $.data(form, 'webshimsAddedElements', $('<div class="webshims-visual-hide" />').append(elements).appendTo(form));
374
- setTimeout(function(){
375
- removeAddedElements(form);
376
- }, 9);
377
- }
378
- elements = null;
379
- }
380
- }
381
- });
346
+ $(function(){
347
+ var stopPropagation = function(e){
348
+ e.stopPropagation();
349
+ };
350
+ var submitters = {
351
+ image: 1,
352
+ submit: 1
353
+ };
354
+ $(document).on('submit', function(e){
382
355
 
356
+ if(!e.isDefaultPrevented()){
357
+ var form = e.target;
358
+ var id = form.id;
359
+ var elements;
383
360
 
384
- $(document).on('click', function(e){
385
- if(submitters[e.target.type] && !e.isDefaultPrevented() && webshims.contentAttr(e.target, 'form')){
386
- var trueForm = $.prop(e.target, 'form');
387
- var formIn = e.target.form;
388
- var clone;
389
- if(trueForm && trueForm != formIn){
390
- clone = $(e.target)
391
- .clone()
392
- .removeAttr('form')
393
- .addClass('webshims-visual-hide')
394
- .on('click', stopPropagation)
395
- .appendTo(trueForm)
396
- ;
397
- if(formIn){
398
- e.preventDefault();
399
- }
400
- addSubmitBubbles(trueForm);
401
- clone.trigger('click');
361
+
362
+ if(id){
363
+ removeAddedElements(form);
364
+ elements = document.querySelectorAll('input[form="'+ id +'"], select[form="'+ id +'"], textarea[form="'+ id +'"]');
365
+ elements = $(elements)
366
+ .filter(function(){
367
+ return !this.disabled && this.name && this.form != form;
368
+ })
369
+ .clone()
370
+ ;
371
+ if(elements.length){
372
+ $.data(form, 'webshimsAddedElements', $('<div class="webshims-visual-hide" />').append(elements).appendTo(form));
402
373
  setTimeout(function(){
403
- clone.remove();
404
- clone = null;
374
+ removeAddedElements(form);
405
375
  }, 9);
406
376
  }
377
+ elements = null;
407
378
  }
408
- });
379
+ }
409
380
  });
410
381
 
411
- if(!$.fn.finish && parseFloat($.fn.jquery, 10) < 1.9){
412
- var rCRLF = /\r?\n/g,
413
- rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
414
- rselectTextarea = /^(?:select|textarea)/i;
415
- $.fn.serializeArray = function() {
416
- return this.map(function(){
417
- var elements = $.prop(this, 'elements');
418
- return elements ? $.makeArray( elements ) : this;
382
+
383
+ $(document).on('click', function(e){
384
+ if(submitters[e.target.type] && !e.isDefaultPrevented() && webshims.contentAttr(e.target, 'form')){
385
+ var trueForm = $.prop(e.target, 'form');
386
+ var formIn = e.target.form;
387
+ var clone;
388
+ if(trueForm && trueForm != formIn){
389
+ clone = $(e.target)
390
+ .clone()
391
+ .removeAttr('form')
392
+ .addClass('webshims-visual-hide')
393
+ .on('click', stopPropagation)
394
+ .appendTo(trueForm)
395
+ ;
396
+ if(formIn){
397
+ e.preventDefault();
398
+ }
399
+ addSubmitBubbles(trueForm);
400
+ clone.trigger('click');
401
+ setTimeout(function(){
402
+ clone.remove();
403
+ clone = null;
404
+ }, 9);
405
+ }
406
+ }
407
+ });
408
+ });
409
+
410
+ if(!$.fn.finish && parseFloat($.fn.jquery, 10) < 1.9){
411
+ var rCRLF = /\r?\n/g,
412
+ rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,
413
+ rselectTextarea = /^(?:select|textarea)/i;
414
+ $.fn.serializeArray = function() {
415
+ return this.map(function(){
416
+ var elements = $.prop(this, 'elements');
417
+ return elements ? $.makeArray( elements ) : this;
418
+ })
419
+ .filter(function(){
420
+ return this.name && !$(this).is(':disabled') &&
421
+ ( this.checked || rselectTextarea.test( this.nodeName ) ||
422
+ rinput.test( this.type ) );
419
423
  })
420
- .filter(function(){
421
- return this.name && !$(this).is(':disabled') &&
422
- ( this.checked || rselectTextarea.test( this.nodeName ) ||
423
- rinput.test( this.type ) );
424
- })
425
- .map(function( i, elem ){
426
- var val = $( this ).val();
427
-
428
- return val == null ?
429
- null :
430
- $.isArray( val ) ?
431
- $.map( val, function( val, i ){
432
- return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
433
- }) :
434
- { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
435
- }).get();
436
- };
437
- }
424
+ .map(function( i, elem ){
425
+ var val = $( this ).val();
426
+
427
+ return val == null ?
428
+ null :
429
+ $.isArray( val ) ?
430
+ $.map( val, function( val, i ){
431
+ return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
432
+ }) :
433
+ { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
434
+ }).get();
435
+ };
438
436
  }
439
437
 
440
- if(!Modernizr.fieldsetelements){
438
+
439
+ if(!support.fieldsetelements){
441
440
  webshims.defineNodeNamesProperty(['fieldset'], 'elements', {
442
441
  prop: {
443
442
  get: function(){
@@ -712,11 +711,13 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
712
711
  (function(){
713
712
  if(options.noPlaceholderPolyfill){return;}
714
713
  var bustedPlaceholder;
715
- Modernizr.textareaPlaceholder = !!('placeholder' in $('<textarea />')[0]);
716
- if(Modernizr.input.placeholder && options.overridePlaceholder){
714
+ support.textareaPlaceholder = !!('placeholder' in $('<textarea />')[0]);
715
+ support.placeholder = !!('placeholder' in $('<input />')[0]);
716
+
717
+ if(support.placeholder && options.overridePlaceholder){
717
718
  bustedPlaceholder = true;
718
719
  }
719
- if(Modernizr.input.placeholder && Modernizr.textareaPlaceholder && !bustedPlaceholder){
720
+ if(support.placeholder && support.textareaPlaceholder && !bustedPlaceholder){
720
721
  (function(){
721
722
  var ua = navigator.userAgent;
722
723
 
@@ -745,7 +746,7 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
745
746
  var isOver = (webshims.cfg.forms.placeholderType == 'over');
746
747
  var isResponsive = (webshims.cfg.forms.responsivePlaceholder);
747
748
  var polyfillElements = ['textarea'];
748
- if(!Modernizr.input.placeholder || bustedPlaceholder){
749
+ if(!support.placeholder || bustedPlaceholder){
749
750
  polyfillElements.push('input');
750
751
  }
751
752
 
@@ -55,12 +55,11 @@ var typeModels = webshims.inputTypes,
55
55
  }
56
56
  return fn;
57
57
  })();
58
- if(!Modernizr.prefixed || Modernizr.prefixed("matchesSelector", document.documentElement)){
59
- $.find.matchesSelector = function(node, expr){
60
- expr = expr.replace(regExp, regFn);
61
- return matchesSelector.call(this, node, expr);
62
- };
63
- }
58
+
59
+ $.find.matchesSelector = function(node, expr){
60
+ expr = expr.replace(regExp, regFn);
61
+ return matchesSelector.call(this, node, expr);
62
+ };
64
63
 
65
64
  })();
66
65
  }
@@ -515,7 +514,7 @@ webshims.defineNodeNameProperty('form', 'noValidate', {
515
514
  });
516
515
  });
517
516
 
518
- if(Modernizr.inputtypes.date && /webkit/i.test(navigator.userAgent)){
517
+ if(webshims.support.inputtypes.date && /webkit/i.test(navigator.userAgent)){
519
518
  (function(){
520
519
 
521
520
  var noInputTriggerEvts = {updateInput: 1, input: 1},
@@ -627,7 +626,7 @@ webshims.addReady(function(context, contextElem){
627
626
 
628
627
  });
629
628
 
630
- if(!Modernizr.input.list){
629
+ if(!webshims.support.datalist){
631
630
  webshims.defineNodeNameProperty('datalist', 'options', {
632
631
  prop: {
633
632
  writeable: false,
@@ -1061,7 +1060,7 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
1061
1060
  };
1062
1061
 
1063
1062
 
1064
- if(!Modernizr.formvalidation || webshims.bugs.bustedValidity){
1063
+ if(!webshims.support.formvalidation || webshims.bugs.bustedValidity){
1065
1064
  implementProperties.push('validationMessage');
1066
1065
  }
1067
1066
 
@@ -1097,7 +1096,7 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
1097
1096
  if(message){return message;}
1098
1097
 
1099
1098
  if(validity.customError && elem.nodeName){
1100
- message = (Modernizr.formvalidation && !webshims.bugs.bustedValidity && desc.prop._supget) ? desc.prop._supget.call(elem) : webshims.data(elem, 'customvalidationMessage');
1099
+ message = (webshims.support.formvalidation && !webshims.bugs.bustedValidity && desc.prop._supget) ? desc.prop._supget.call(elem) : webshims.data(elem, 'customvalidationMessage');
1101
1100
  if(message){return message;}
1102
1101
  }
1103
1102
  $.each(validity, function(name, prop){
@@ -1793,8 +1792,8 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
1793
1792
  */
1794
1793
 
1795
1794
  (function(){
1796
- var formsCFG = $.webshims.cfg.forms;
1797
- var listSupport = Modernizr.input.list;
1795
+ var formsCFG = webshims.cfg.forms;
1796
+ var listSupport = webshims.support.datalist;
1798
1797
  if(listSupport && !formsCFG.customDatalist){return;}
1799
1798
 
1800
1799
  var initializeDatalist = function(){
@@ -1,8 +1,7 @@
1
1
  webshims.register('form-native-extend', function($, webshims, window, doc, undefined, options){
2
2
  "use strict";
3
- var Modernizr = window.Modernizr;
4
- var modernizrInputTypes = Modernizr.inputtypes;
5
- if(!Modernizr.formvalidation || webshims.bugs.bustedValidity){return;}
3
+ var support = webshims.support;
4
+ if(!support.formvalidation || webshims.bugs.bustedValidity){return;}
6
5
  var typeModels = webshims.inputTypes;
7
6
  var runTest = false;
8
7
  var validityRules = {};
@@ -23,7 +22,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
23
22
  typeModels[type] = obj;
24
23
  runTest = true;
25
24
  //update validity of all implemented input types
26
- if($.isDOMReady && Modernizr.formvalidation && !webshims.bugs.bustedValidity){
25
+ if($.isDOMReady && support.formvalidation && !webshims.bugs.bustedValidity){
27
26
  updateValidity();
28
27
  }
29
28
  };
@@ -209,7 +208,8 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
209
208
  });
210
209
 
211
210
 
212
- });;webshims.register('form-number-date-api', function($, webshims, window, document, undefined, options){
211
+ });
212
+ ;webshims.register('form-number-date-api', function($, webshims, window, document, undefined, options){
213
213
  "use strict";
214
214
  if(!webshims.addInputType){
215
215
  webshims.error("you can not call forms-ext feature after calling forms feature. call both at once instead: $.webshims.polyfill('forms forms-ext')");
@@ -62,7 +62,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
62
62
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
63
63
  var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
64
64
  var has = Object.prototype.hasOwnProperty;
65
- webshims.assumeARIA = supportGetSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
65
+ webshims.assumeARIA = true;
66
66
 
67
67
  if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
68
68
  webshims.error("IE browser modes are busted in IE10+. Please test your HTML/CSS/JS with a real IE version or at least IETester or similiar tools");
@@ -81,15 +81,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
81
81
  }
82
82
  window.jQuery = webshims.$;
83
83
  }
84
- if(webshims.M != Modernizr){
85
- webshims.error("Modernizr was included more than once. Make sure to include it only once! Webshims and other scripts might not work properly.");
86
- for(var i in Modernizr){
87
- if(!(i in webshims.M)){
88
- webshims.M[i] = Modernizr[i];
89
- }
90
- }
91
- Modernizr = webshims.M;
92
- }
93
84
  };
94
85
  switch$();
95
86
  setTimeout(switch$, 90);
@@ -418,7 +409,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
418
409
  var UNKNOWN = webshims.getPrototypeOf(document.createElement('foobar'));
419
410
 
420
411
  //see also: https://github.com/lojjic/PIE/issues/40 | https://prototype.lighthouseapp.com/projects/8886/tickets/1107-ie8-fatal-crash-when-prototypejs-is-loaded-with-rounded-cornershtc
421
- var isExtendNativeSave = Modernizr.advancedObjectProperties && Modernizr.objectAccessor;
412
+ var isExtendNativeSave = webshims.support.advancedObjectProperties && webshims.support.objectAccessor;
422
413
  return function(nodeName, prop, desc){
423
414
  var elem , elemProto;
424
415
  if( isExtendNativeSave && (elem = document.createElement(nodeName)) && (elemProto = webshims.getPrototypeOf(elem)) && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
@@ -729,7 +720,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
729
720
  });
730
721
  }
731
722
  webshims.ready('WINDOWLOAD', this.test);
732
- $(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
723
+ $(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel playerdimensionchange', this.handler);
733
724
  $(window).on('resize', this.handler);
734
725
  }
735
726
  }
@@ -1239,13 +1230,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1239
1230
  e._isPolyfilled = true;
1240
1231
  }
1241
1232
  };
1242
-
1243
- if(Modernizr.formvalidation && !webshims.bugs.bustedValidity){
1244
- //create delegatable events
1245
- webshims.capturingEvents(['invalid'], true);
1246
- }
1233
+
1247
1234
 
1248
1235
  var modules = webshims.modules;
1236
+ var support = webshims.support;
1249
1237
  var isValid = function(elem){
1250
1238
  return ($.prop(elem, 'validity') || {valid: 1}).valid;
1251
1239
  };
@@ -1299,7 +1287,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1299
1287
  return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required'));
1300
1288
  },
1301
1289
  "user-error": function(elem){
1302
- return ($.prop(elem, 'willValidate') && $(elem).hasClass('user-error'));
1290
+ return ($.prop(elem, 'willValidate') && $(elem).getShadowElement().hasClass((options.iVal.errorClass || 'user-error')));
1303
1291
  },
1304
1292
  "optional-element": function(elem){
1305
1293
  return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required') === false);
@@ -1311,7 +1299,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1311
1299
  });
1312
1300
 
1313
1301
  // sizzle/jQuery has a bug with :disabled/:enabled selectors
1314
- if(Modernizr.fieldsetdisabled && !$('<fieldset disabled=""><input /><input /></fieldset>').find(':disabled').filter(':disabled').is(':disabled')){
1302
+ if(support.fieldsetdisabled && !$('<fieldset disabled=""><input /><input /></fieldset>').find(':disabled').filter(':disabled').is(':disabled')){
1315
1303
  matches = $.find.matches;
1316
1304
  matchesOverride = {':disabled': 1, ':enabled': 1};
1317
1305
  $.find.matches = function(expr, elements){
@@ -1365,6 +1353,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1365
1353
  addModule('form-validators', $.extend({}, formExtras));
1366
1354
 
1367
1355
 
1356
+ if(support.formvalidation && !webshims.bugs.bustedValidity){
1357
+ //create delegatable events
1358
+ webshims.capturingEvents(['invalid'], true);
1359
+ }
1368
1360
 
1369
1361
  if($.expr.filters){
1370
1362
  extendSels();
@@ -1510,7 +1502,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1510
1502
 
1511
1503
  webshims.ready('WINDOWLOAD', lazyLoad);
1512
1504
 
1513
- if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (Modernizr.inputtypes.range && Modernizr.inputtypes.color))){
1505
+ if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (support.inputtypes.range && support.inputtypes.color))){
1514
1506
  webshims.isReady('form-number-date-ui', true);
1515
1507
  }
1516
1508
 
@@ -1789,7 +1781,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1789
1781
  };
1790
1782
 
1791
1783
 
1792
- if(!Modernizr.formvalidation || webshims.bugs.bustedValidity){
1784
+ if(!webshims.support.formvalidation || webshims.bugs.bustedValidity){
1793
1785
  implementProperties.push('validationMessage');
1794
1786
  }
1795
1787
 
@@ -1825,7 +1817,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1825
1817
  if(message){return message;}
1826
1818
 
1827
1819
  if(validity.customError && elem.nodeName){
1828
- message = (Modernizr.formvalidation && !webshims.bugs.bustedValidity && desc.prop._supget) ? desc.prop._supget.call(elem) : webshims.data(elem, 'customvalidationMessage');
1820
+ message = (webshims.support.formvalidation && !webshims.bugs.bustedValidity && desc.prop._supget) ? desc.prop._supget.call(elem) : webshims.data(elem, 'customvalidationMessage');
1829
1821
  if(message){return message;}
1830
1822
  }
1831
1823
  $.each(validity, function(name, prop){