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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 839413957e056c7589fb3c02040a8aa4952b15ee
4
- data.tar.gz: 46d183e2a7b005ac562576a79260eab922e239bd
3
+ metadata.gz: 70dcbd524eee50b457561f3a2a2aede14fe1d80e
4
+ data.tar.gz: 6cc097ca6de460a7b3ac400e77ef52288a6050e0
5
5
  SHA512:
6
- metadata.gz: 119df6de643a7c8eda8543314f426fc84cb496d5e19be628079200f5aa06ea04c825802e1a4d3f8e7079e5e08ce41b41e76564eb5f0ecdaa8d5f3a92cee292a3
7
- data.tar.gz: 5ca4936dfbc2cbb80f4f0dcf4546a0044421e8241e3c95e35512ed189011361c8914c377afcb9e8c6d5ade4ad01488a1b7c46cb3530f8bafb9c824da50258bdd
6
+ metadata.gz: d25d1510ee2b1c31aaa293434c8cc65bea8b5f133ec29e2cccce47979c50d3e8447470f66d921414cbba3975884ddae4b3bca4d388db75b22f5bb3458a488495
7
+ data.tar.gz: 6f8de25dcde6680323df9d2966a65a2cc314b7e2cdc16e9278cff6c06dc6e394369dcd5121109f55d85be9daecd122bc8db0a60a37211c4762fa5d1450539e5a
@@ -1,6 +1,6 @@
1
1
  module Webshims
2
2
  module Rails
3
- VERSION = "1.14.3"
4
- WEBSHIMS_VERSION = "1.14.3"
3
+ VERSION = "1.14.4"
4
+ WEBSHIMS_VERSION = "1.14.4"
5
5
  end
6
6
  end
@@ -505,3 +505,7 @@ window.Modernizr = (function( window, document, undefined ) {
505
505
 
506
506
  })(this, this.document);
507
507
  ;
508
+ if(window.console){
509
+ console.log('webshim no longer depends on Modernizr. You can still use for feature detection of course.');
510
+ }
511
+
@@ -11,13 +11,13 @@
11
11
  }
12
12
  };
13
13
  var start = function(){
14
- if(window.jQuery && window.Modernizr){
14
+ if(window.jQuery){
15
15
  factory(jQuery);
16
16
  factory = function(){return window.webshims;};
17
17
  }
18
18
  };
19
19
 
20
-
20
+
21
21
  window.webshims = {
22
22
  setOptions: function(){
23
23
  addAsync();
@@ -89,13 +89,14 @@
89
89
  }(function($){
90
90
  "use strict";
91
91
  var firstRun, path;
92
+ var navigator = window.navigator;
92
93
  var webshims = window.webshims;
93
94
  var DOMSUPPORT = 'dom-support';
94
95
  var special = $.event.special;
95
96
  var emptyJ = $([]);
96
- var Modernizr = window.Modernizr;
97
+
97
98
  var asyncWebshims = window.asyncWebshims;
98
- var addTest = Modernizr.addTest;
99
+ var support = {};
99
100
  var Object = window.Object;
100
101
  var addSource = function(text){
101
102
  return text +"\n//# sourceURL="+this.url;
@@ -105,18 +106,23 @@
105
106
  };
106
107
 
107
108
  clearInterval(webshims.timer);
108
- Modernizr.advancedObjectProperties = Modernizr.objectAccessor = Modernizr.ES5 = !!('create' in Object && 'seal' in Object);
109
+ support.advancedObjectProperties = support.objectAccessor = support.ES5 = !!('create' in Object && 'seal' in Object);
109
110
 
110
- if(Modernizr.ES5 && !('toJSON' in Date.prototype)){
111
- Modernizr.ES5 = false;
111
+ if(support.ES5 && !('toJSON' in Date.prototype)){
112
+ support.ES5 = false;
112
113
  }
113
114
 
114
115
 
115
116
  path = ($.support.hrefNormalized === false) ? webshims._curScript.getAttribute("src", 4) : webshims._curScript.src;
116
117
  path = path.split('?')[0].slice(0, path.lastIndexOf("/") + 1) + 'shims/';
117
118
 
119
+ function create(name){
120
+ return document.createElement(name);
121
+ }
122
+
118
123
  $.extend(webshims, {
119
- version: '1.14.3',
124
+ version: '1.14.4',
125
+
120
126
  cfg: {
121
127
  enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 721px)').matches),
122
128
  //addCacheBuster: false,
@@ -139,7 +145,7 @@
139
145
  },
140
146
  basePath: path
141
147
  },
142
-
148
+ support: support,
143
149
  bugs: {},
144
150
  /*
145
151
  * some data
@@ -177,22 +183,7 @@
177
183
  webshims.featureList.push(feature);
178
184
  webCFG[feature] = {};
179
185
  }
180
-
181
- if(!webshimsFeatures[feature].failedM && cfg.nM){
182
- $.each(cfg.nM.split(' '), function(i, name){
183
- if(!(name in Modernizr)){
184
- webshimsFeatures[feature].failedM = name;
185
- return false;
186
- }
187
- });
188
- }
189
-
190
- if(webshimsFeatures[feature].failedM){
191
- cfg.test = WSDEBUG ? function(){
192
- webshims.error('webshims needs Modernizr.'+webshimsFeatures[feature].failedM + ' to implement feature: '+ feature);
193
- return true;
194
- } : true;
195
- }
186
+
196
187
  webshimsFeatures[feature].push(name);
197
188
  cfg.options = $.extend(webCFG[feature], cfg.options);
198
189
 
@@ -256,6 +247,9 @@
256
247
  if(feature == 'xhr2'){
257
248
  feature = 'filereader';
258
249
  }
250
+ if(feature == 'promise'){
251
+ feature = 'es6';
252
+ }
259
253
  if(!webshimsFeatures[feature]){
260
254
  WSDEBUG && webshims.error("could not find webshims-feature (aborted): "+ feature);
261
255
  isReady(feature, true);
@@ -438,7 +432,6 @@
438
432
  return true;
439
433
  }
440
434
  var module = modules[name];
441
- var cfg = webCFG[module.f || name] || {};
442
435
  var supported;
443
436
  if (module) {
444
437
  supported = (module.test && $.isFunction(module.test)) ? module.test(list) : module.test;
@@ -667,7 +660,11 @@
667
660
 
668
661
 
669
662
  webshims.activeLang = (function(){
670
- var curLang = $.attr(document.documentElement, 'lang') || navigator.browserLanguage || navigator.language || '';
663
+
664
+ if(!('language' in navigator)){
665
+ navigator.language = navigator.browserLanguage || '';
666
+ }
667
+ var curLang = $.attr(document.documentElement, 'lang') || navigator.language;
671
668
  onReady('webshimLocalization', function(){
672
669
  webshims.activeLang(curLang);
673
670
  });
@@ -909,7 +906,7 @@
909
906
  }
910
907
  return ('swfmini' in window);
911
908
  },
912
- c: [16, 7, 2, 8, 1, 12, 19, 23]
909
+ c: [16, 7, 2, 8, 1, 12, 23]
913
910
  });
914
911
  modules.swfmini.test();
915
912
 
@@ -921,8 +918,7 @@
921
918
 
922
919
  // webshims lib uses a of http://github.com/kriskowal/es5-shim/ to implement
923
920
  addPolyfill('es5', {
924
- test: !!(Modernizr.ES5 && Function.prototype.bind),
925
- c: [18, 19, 20, 32],
921
+ test: !!(support.ES5 && Function.prototype.bind),
926
922
  d: ['sizzle']
927
923
  });
928
924
 
@@ -930,31 +926,44 @@
930
926
  f: DOMSUPPORT,
931
927
  noAutoCallback: true,
932
928
  d: ['es5'],
933
- c: [16, 7, 2, 15, 30, 3, 8, 4, 9, 10, 19, 25, 20, 31, 34]
929
+ c: [16, 7, 2, 15, 30, 3, 8, 4, 9, 10, 25, 31, 34]
934
930
  });
935
931
 
936
- document.createElement('picture');
932
+ //<picture
933
+ create('picture');
937
934
  addPolyfill('picture', {
938
- test: ('picturefill' in window) || !!window.HTMLPictureElement
935
+ test: ('picturefill' in window) || !!window.HTMLPictureElement,
936
+ d: ['matchMedia'],
937
+ c: [18],
938
+ loadInit: function(){
939
+ isReady('picture', true);
940
+ }
939
941
  });
942
+ //>
940
943
 
941
-
942
- addPolyfill('promise', {
943
- test: !!(window.Promise && Promise.all)
944
+ //<matchMedia
945
+ addPolyfill('matchMedia', {
946
+ test: !!(window.matchMedia && matchMedia('all').addListener),
947
+ c: [18]
944
948
  });
949
+ //>
945
950
 
946
-
951
+ //<es6
952
+ addPolyfill('es6', {
953
+ test: !!(Math.imul && Number.MIN_SAFE_INTEGER && Object.is && window.Promise && Promise.all),// && window.Map && Map.prototype && typeof Map.prototype.forEach !== 'function' && window.Set
954
+ d: ['es5']
955
+ });
956
+ //>
947
957
 
948
958
  //<geolocation
949
959
 
950
960
  addPolyfill('geolocation', {
951
- test: Modernizr.geolocation,
961
+ test: 'geolocation' in navigator,
952
962
  options: {
953
963
  destroyWrite: true
954
964
  // ,confirmText: ''
955
965
  },
956
- c: [21],
957
- nM: 'geolocation'
966
+ c: [21]
958
967
  });
959
968
  //>
960
969
 
@@ -962,7 +971,7 @@
962
971
  (function(){
963
972
  addPolyfill('canvas', {
964
973
  src: 'excanvas',
965
- test: Modernizr.canvas,
974
+ test: ('getContext' in create('canvas')),
966
975
  options: {type: 'flash'}, //excanvas | flash | flashpro
967
976
  noAutoCallback: true,
968
977
 
@@ -973,8 +982,7 @@
973
982
  }
974
983
  },
975
984
  methodNames: ['getContext'],
976
- d: [DOMSUPPORT],
977
- nM: 'canvas'
985
+ d: [DOMSUPPORT]
978
986
  });
979
987
  })();
980
988
  //>
@@ -984,52 +992,60 @@
984
992
  (function(){
985
993
  var formExtend, formOptions;
986
994
  var fShim = 'form-shim-extend';
987
- var modernizrInputAttrs = Modernizr.input;
988
- var modernizrInputTypes = Modernizr.inputtypes;
989
995
  var formvalidation = 'formvalidation';
990
996
  var fNuAPI = 'form-number-date-api';
991
997
  var bustedValidity = false;
992
998
  var bustedWidgetUi = false;
993
999
  var replaceBustedUI = false;
994
-
1000
+ var inputtypes = {};
1001
+
1002
+
1003
+ var progress = create('progress');
1004
+ var output = create('output');
1005
+
995
1006
  var initialFormTest = function(){
996
1007
  var tmp, fieldset;
997
- if(!initialFormTest.run){
998
- fieldset = $('<fieldset><textarea required="" /></fieldset>')[0];
999
- addTest(formvalidation, !!(modernizrInputAttrs.required && modernizrInputAttrs.pattern));
1000
-
1001
- addTest('fieldsetelements', (tmp = 'elements' in fieldset));
1002
-
1003
- if(('disabled' in fieldset)){
1004
- if(!tmp) {
1005
- try {
1006
- if($('textarea', fieldset).is(':invalid')){
1007
- fieldset.disabled = true;
1008
- tmp = $('textarea', fieldset).is(':valid');
1009
- }
1010
- } catch(er){}
1008
+ var input = create('input');
1009
+ fieldset = $('<fieldset><textarea required="" /></fieldset>')[0];
1010
+
1011
+ support.inputtypes = inputtypes;
1012
+
1013
+ $.each(['number', 'range', 'date', 'datetime-local', 'month', 'color'], function(i, type){
1014
+ input.setAttribute('type', type);
1015
+ inputtypes[type] = (input.type == type && (input.value = '(') && input.value != '(');
1016
+ });
1017
+
1018
+ support.datalist = !!(('options' in create('datalist')) && window.HTMLDataListElement);
1019
+
1020
+ support[formvalidation] = ('checkValidity' in input);
1021
+
1022
+ support.fieldsetelements = ('elements' in fieldset);
1023
+
1024
+
1025
+ if((support.fieldsetdisabled = ('disabled' in fieldset))){
1026
+ try {
1027
+ if(fieldset.querySelector(':invalid')){
1028
+ fieldset.disabled = true;
1029
+ tmp = !fieldset.querySelector(':invalid');
1011
1030
  }
1012
- addTest('fieldsetdisabled', tmp);
1013
- }
1014
-
1015
- if(Modernizr[formvalidation]){
1016
- bustedWidgetUi = !Modernizr.fieldsetdisabled ||!Modernizr.fieldsetelements || !('value' in document.createElement('progress')) || !('value' in document.createElement('output'));
1017
- replaceBustedUI = bustedWidgetUi && (/Android/i).test(navigator.userAgent);
1018
- bugs.bustedValidity = bustedValidity = window.opera || bugs.bustedValidity || bustedWidgetUi || !modernizrInputAttrs.list;
1019
- } else {
1020
- bugs.bustedValidity = false;
1021
- }
1031
+ } catch(er){}
1032
+ support.fieldsetdisabled = !!tmp;
1033
+ }
1022
1034
 
1023
- formExtend = Modernizr[formvalidation] && !bustedValidity ? 'form-native-extend' : fShim;
1024
-
1035
+ if(support[formvalidation]){
1036
+ bustedWidgetUi = !support.fieldsetdisabled || !support.fieldsetelements || !('value' in progress) || !('value' in output);
1037
+ replaceBustedUI = bustedWidgetUi && (/Android/i).test(navigator.userAgent);
1038
+ bugs.bustedValidity = bustedValidity = window.opera || bugs.bustedValidity || bustedWidgetUi || !support.datalist;
1039
+ } else {
1040
+ bugs.bustedValidity = false;
1025
1041
  }
1026
- initialFormTest.run = true;
1042
+
1043
+ formExtend = support[formvalidation] && !bustedValidity ? 'form-native-extend' : fShim;
1044
+ initialFormTest = $.noop;
1027
1045
  return false;
1028
1046
  };
1029
1047
 
1030
- document.createElement('datalist');
1031
-
1032
-
1048
+
1033
1049
  webshims.validationMessages = webshims.validityMessages = {
1034
1050
  langSrc: 'i18n/formcfg-',
1035
1051
  availableLangs: "ar cs el es fa fr he hi hu it ja lt nl pl pt pt-BR pt-PT ru sv zh-CN zh-TW".split(' ')
@@ -1041,10 +1057,10 @@
1041
1057
  addPolyfill('form-core', {
1042
1058
  f: 'forms',
1043
1059
  d: ['es5'],
1044
- test: initialFormTest,
1045
1060
  options: {
1046
1061
  placeholderType: 'value',
1047
1062
  messagePopover: {},
1063
+ test: initialFormTest,
1048
1064
  list: {
1049
1065
  popover: {
1050
1066
  constrainWidth: true
@@ -1060,9 +1076,8 @@
1060
1076
  // overridePlaceholder: false, // might be good for IE10
1061
1077
  // replaceValidationUI: false
1062
1078
  },
1063
- methodNames: ['setCustomValidity','checkValidity', 'setSelectionRange'],
1064
- c: [16, 7, 2, 8, 1, 15, 30, 3, 31],
1065
- nM: 'input'
1079
+ methodNames: ['setCustomValidity', 'checkValidity', 'setSelectionRange'],
1080
+ c: [16, 7, 2, 8, 1, 15, 30, 3, 31]
1066
1081
  });
1067
1082
 
1068
1083
  formOptions = webCFG.forms;
@@ -1070,7 +1085,8 @@
1070
1085
  addPolyfill('form-native-extend', {
1071
1086
  f: 'forms',
1072
1087
  test: function(toLoad){
1073
- return !Modernizr[formvalidation] || bustedValidity || $.inArray(fNuAPI, toLoad || []) == -1 || modules[fNuAPI].test();
1088
+ initialFormTest();
1089
+ return !support[formvalidation] || bustedValidity || $.inArray(fNuAPI, toLoad || []) == -1 || modules[fNuAPI].test();
1074
1090
  },
1075
1091
  d: ['form-core', DOMSUPPORT, 'form-message'],
1076
1092
  c: [6, 5, 14, 29]
@@ -1079,7 +1095,8 @@
1079
1095
  addPolyfill(fShim, {
1080
1096
  f: 'forms',
1081
1097
  test: function(){
1082
- return Modernizr[formvalidation] && !bustedValidity;
1098
+ initialFormTest();
1099
+ return support[formvalidation] && !bustedValidity;
1083
1100
  },
1084
1101
  d: ['form-core', DOMSUPPORT, 'sizzle'],
1085
1102
  c: [16, 15, 28]
@@ -1088,7 +1105,8 @@
1088
1105
  addPolyfill(fShim+'2', {
1089
1106
  f: 'forms',
1090
1107
  test: function(){
1091
- return Modernizr[formvalidation] && !bustedWidgetUi;
1108
+ initialFormTest();
1109
+ return support[formvalidation] && !bustedWidgetUi;
1092
1110
  },
1093
1111
  d: [fShim],
1094
1112
  c: [27]
@@ -1097,7 +1115,8 @@
1097
1115
  addPolyfill('form-message', {
1098
1116
  f: 'forms',
1099
1117
  test: function(toLoad){
1100
- return !( formOptions.customMessages || !Modernizr[formvalidation] || bustedValidity || !modules[formExtend].test(toLoad) );
1118
+ initialFormTest();
1119
+ return !( formOptions.customMessages || !support[formvalidation] || bustedValidity || !modules[formExtend].test(toLoad) );
1101
1120
  },
1102
1121
  d: [DOMSUPPORT],
1103
1122
  c: [16, 7, 15, 30, 3, 8, 4, 14, 28]
@@ -1115,10 +1134,9 @@
1115
1134
  if(!o._types){
1116
1135
  o._types = o.types.split(' ');
1117
1136
  }
1118
-
1119
1137
  initialFormTest();
1120
1138
  $.each(o._types, function(i, name){
1121
- if((name in modernizrInputTypes) && !modernizrInputTypes[name]){
1139
+ if((name in inputtypes) && !inputtypes[name]){
1122
1140
  ret = false;
1123
1141
  return false;
1124
1142
  }
@@ -1128,8 +1146,7 @@
1128
1146
  },
1129
1147
  methodNames: ['stepUp', 'stepDown'],
1130
1148
  d: ['forms', DOMSUPPORT],
1131
- c: [6, 5, 18, 17, 14, 28, 29, 32, 33],
1132
- nM: 'input inputtypes'
1149
+ c: [6, 5, 17, 14, 28, 29, 33]
1133
1150
  });
1134
1151
 
1135
1152
  addModule('range-ui', {
@@ -1139,17 +1156,15 @@
1139
1156
  return !!$fn.rangeUI;
1140
1157
  },
1141
1158
  d: ['es5'],
1142
- c: [6, 5, 9, 10, 18, 17, 11]
1159
+ c: [6, 5, 9, 10, 17, 11]
1143
1160
  });
1144
1161
 
1145
1162
  addPolyfill('form-number-date-ui', {
1146
1163
  f: 'forms-ext',
1147
1164
  test: function(){
1148
1165
  var o = this.options;
1149
- initialFormTest();
1150
-
1151
1166
  o.replaceUI = getAutoEnhance(o.replaceUI);
1152
-
1167
+ initialFormTest();
1153
1168
  //input widgets on old androids can't be trusted
1154
1169
  if(!o.replaceUI && replaceBustedUI){
1155
1170
  o.replaceUI = true;
@@ -1164,7 +1179,7 @@
1164
1179
  }
1165
1180
  // ,replaceUI: false
1166
1181
  },
1167
- c: [6, 5, 9, 10, 18, 17, 11]
1182
+ c: [6, 5, 9, 10, 17, 11]
1168
1183
  });
1169
1184
 
1170
1185
  addPolyfill('form-datalist', {
@@ -1174,10 +1189,10 @@
1174
1189
  if(replaceBustedUI){
1175
1190
  formOptions.customDatalist = true;
1176
1191
  }
1177
- return modernizrInputAttrs.list && !formOptions.fD;
1192
+ return support.datalist && !formOptions.fD;
1178
1193
  },
1179
1194
  d: ['form-core', DOMSUPPORT],
1180
- c: [16, 7, 6, 2, 9, 15, 30, 31, 28, 32, 33]
1195
+ c: [16, 7, 6, 2, 9, 15, 30, 31, 28, 33]
1181
1196
  });
1182
1197
  })();
1183
1198
  //>
@@ -1195,11 +1210,8 @@
1195
1210
  //>
1196
1211
 
1197
1212
  //<details
1198
- addTest('details', function(){
1199
- return ('open' in document.createElement('details'));
1200
- });
1201
1213
  addPolyfill('details', {
1202
- test: Modernizr.details,
1214
+ test: ('open' in create('details')),
1203
1215
  d: [DOMSUPPORT],
1204
1216
  options: {
1205
1217
  // animate: false,
@@ -1208,15 +1220,24 @@
1208
1220
  c: [21, 22]
1209
1221
  });
1210
1222
  //>
1211
-
1223
+
1212
1224
  //<mediaelement
1213
1225
  (function(){
1214
1226
  webshims.mediaelement = {};
1215
- addTest({
1216
- texttrackapi: ('addTextTrack' in document.createElement('video')),
1217
- // a more strict test for track including UI support: document.createElement('track').kind === 'subtitles'
1218
- track: ('kind' in document.createElement('track'))
1219
- });
1227
+ var video = create('video');
1228
+ var track = create('track');
1229
+ support.mediaelement = ('canPlayType' in video);
1230
+ support.texttrackapi = ('addTextTrack' in video);
1231
+ support.track = ('kind' in track);
1232
+
1233
+ create('audio');
1234
+
1235
+ if(!(bugs.track = !support.texttrackapi)){
1236
+ try {
1237
+ bugs.track = !('oncuechange' in video.addTextTrack('metadata'));
1238
+ } catch(e){}
1239
+ }
1240
+
1220
1241
  addPolyfill('mediaelement-core', {
1221
1242
  f: 'mediaelement',
1222
1243
  noAutoCallback: true,
@@ -1231,8 +1252,7 @@
1231
1252
  },
1232
1253
  methodNames: ['play', 'pause', 'canPlayType', 'mediaLoad:load'],
1233
1254
  d: ['swfmini'],
1234
- c: [16, 7, 2, 8, 1, 12, 13, 19, 20, 23],
1235
- nM: 'audio video'
1255
+ c: [16, 7, 2, 8, 1, 12, 13, 23]
1236
1256
  });
1237
1257
 
1238
1258
 
@@ -1242,7 +1262,7 @@
1242
1262
  test: function(){
1243
1263
  var options = this.options;
1244
1264
 
1245
- if(!Modernizr.audio || !Modernizr.video || webshims.mediaelement.loadSwf){
1265
+ if(!support.mediaelement || webshims.mediaelement.loadSwf){
1246
1266
  return false;
1247
1267
  }
1248
1268
 
@@ -1251,12 +1271,9 @@
1251
1271
  }
1252
1272
  return !( options.preferFlash && swfmini.hasFlashPlayerVersion('10.0.3') );
1253
1273
  },
1254
- c: [21, 19, 25, 20]
1274
+ c: [21, 25]
1255
1275
  });
1256
1276
 
1257
-
1258
- bugs.track = !window.TextTrackCue || !Modernizr.texttrackapi;
1259
-
1260
1277
  addPolyfill('track', {
1261
1278
  options: {
1262
1279
  positionDisplay: true,
@@ -1272,24 +1289,22 @@
1272
1289
  c: [21, 12, 13, 22, 34]
1273
1290
  });
1274
1291
 
1275
- addModule('jme', {
1276
- src: 'jme/b',
1277
- d: ['mediaelement'],
1292
+ addModule('jmebase', {
1293
+ src: 'jme/base',
1278
1294
  c: [98, 99, 97]
1279
1295
  });
1280
1296
 
1281
- addModule('mediacontrols', {
1282
- src: 'jme/c',
1283
- css: 'jme/controls.css',
1284
- d: ['jme'],
1285
- c: [98, 99]
1297
+ $.each([
1298
+ ['mediacontrols', {c: [98, 99], css: 'jme/controls.css'}],
1299
+ ['playlist', {c: [98, 97]}],
1300
+ ['alternate-media']
1301
+ ], function(i, plugin){
1302
+ addModule(plugin[0], $.extend({
1303
+ src: 'jme/'+plugin[0],
1304
+ d: ['jmebase']
1305
+ }, plugin[1]));
1286
1306
  });
1287
1307
 
1288
- addModule('playlist', {
1289
- src: 'jme/p',
1290
- d: ['jme'],
1291
- c: [98, 97]
1292
- });
1293
1308
 
1294
1309
  addModule('track-ui', {
1295
1310
  d: ['track', DOMSUPPORT]
@@ -1307,25 +1322,12 @@
1307
1322
  });
1308
1323
 
1309
1324
  webshims.$ = $;
1310
- webshims.M = Modernizr;
1311
1325
  $.webshims = webshims;
1312
1326
  $.webshim = webshim;
1313
1327
 
1314
1328
  webshims.callAsync = function(){
1315
1329
  webshims.callAsync = $.noop;
1316
- if(WSDEBUG){
1317
- $(document.scripts || 'script')
1318
- .filter('[data-polyfill-cfg]')
1319
- .each(function(){
1320
- webshims.error('script[data-polyfill-cfg] feature was removed')
1321
- })
1322
- .end()
1323
- .filter('[data-polyfill]')
1324
- .each(function(){
1325
- webshims.error('script[data-polyfill] feature was removed')
1326
- })
1327
- ;
1328
- }
1330
+
1329
1331
  if(asyncWebshims){
1330
1332
  if(asyncWebshims.cfg){
1331
1333
  if(!asyncWebshims.cfg.length){
@@ -15,9 +15,7 @@
15
15
  */
16
16
  (function ($, version) {
17
17
  "use strict";
18
- if(!window.Modernizr || !('opacity' in Modernizr) || !('csstransitions' in Modernizr)){
19
- $('html').addClass(('opacity' in document.documentElement.style) ? 'opacity' : 'no-opacity');
20
- }
18
+
21
19
  var mPrecision = function (value, precision) {
22
20
  if (precision === undefined) precision = 0;
23
21
  return Math.round(value * Math.pow(10, precision)) / Math.pow(10, precision);