webshims-rails 1.12.5 → 1.12.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +111 -132
  4. data/vendor/assets/javascripts/webshims/shims/combos/1.js +40 -37
  5. data/vendor/assets/javascripts/webshims/shims/combos/10.js +217 -36
  6. data/vendor/assets/javascripts/webshims/shims/combos/11.js +151 -29
  7. data/vendor/assets/javascripts/webshims/shims/combos/12.js +70 -93
  8. data/vendor/assets/javascripts/webshims/shims/combos/13.js +70 -93
  9. data/vendor/assets/javascripts/webshims/shims/combos/14.js +90 -13
  10. data/vendor/assets/javascripts/webshims/shims/combos/15.js +202 -59
  11. data/vendor/assets/javascripts/webshims/shims/combos/16.js +208 -70
  12. data/vendor/assets/javascripts/webshims/shims/combos/17.js +151 -29
  13. data/vendor/assets/javascripts/webshims/shims/combos/18.js +155 -30
  14. data/vendor/assets/javascripts/webshims/shims/combos/19.js +79 -20
  15. data/vendor/assets/javascripts/webshims/shims/combos/2.js +109 -47
  16. data/vendor/assets/javascripts/webshims/shims/combos/20.js +79 -20
  17. data/vendor/assets/javascripts/webshims/shims/combos/21.js +80 -87
  18. data/vendor/assets/javascripts/webshims/shims/combos/22.js +66 -83
  19. data/vendor/assets/javascripts/webshims/shims/combos/23.js +4 -10
  20. data/vendor/assets/javascripts/webshims/shims/combos/25.js +79 -20
  21. data/vendor/assets/javascripts/webshims/shims/combos/26.js +66 -7
  22. data/vendor/assets/javascripts/webshims/shims/combos/28.js +100 -25
  23. data/vendor/assets/javascripts/webshims/shims/combos/3.js +192 -47
  24. data/vendor/assets/javascripts/webshims/shims/combos/30.js +193 -49
  25. data/vendor/assets/javascripts/webshims/shims/combos/31.js +103 -36
  26. data/vendor/assets/javascripts/webshims/shims/combos/32.js +5 -3
  27. data/vendor/assets/javascripts/webshims/shims/combos/33.js +1 -2
  28. data/vendor/assets/javascripts/webshims/shims/combos/34.js +2048 -0
  29. data/vendor/assets/javascripts/webshims/shims/combos/4.js +156 -20
  30. data/vendor/assets/javascripts/webshims/shims/combos/5.js +151 -29
  31. data/vendor/assets/javascripts/webshims/shims/combos/6.js +152 -31
  32. data/vendor/assets/javascripts/webshims/shims/combos/7.js +199 -60
  33. data/vendor/assets/javascripts/webshims/shims/combos/8.js +197 -58
  34. data/vendor/assets/javascripts/webshims/shims/combos/9.js +218 -38
  35. data/vendor/assets/javascripts/webshims/shims/combos/97.js +1004 -0
  36. data/vendor/assets/javascripts/webshims/shims/combos/98.js +1283 -0
  37. data/vendor/assets/javascripts/webshims/shims/combos/99.js +204 -1248
  38. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +66 -7
  39. data/vendor/assets/javascripts/webshims/shims/es5.js +4 -1
  40. data/vendor/assets/javascripts/webshims/shims/form-combat.js +3 -3
  41. data/vendor/assets/javascripts/webshims/shims/form-core.js +36 -27
  42. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +1 -2
  43. data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +137 -0
  44. data/vendor/assets/javascripts/webshims/shims/form-message.js +90 -13
  45. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +129 -15
  46. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +9 -10
  47. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +886 -985
  48. data/vendor/assets/javascripts/webshims/shims/form-validation.js +78 -174
  49. data/vendor/assets/javascripts/webshims/shims/form-validators.js +39 -26
  50. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +45 -17
  51. data/vendor/assets/javascripts/webshims/shims/geolocation.js +10 -3
  52. data/vendor/assets/javascripts/webshims/shims/jme/b.js +71 -246
  53. data/vendor/assets/javascripts/webshims/shims/jme/c.js +133 -1002
  54. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +62 -23
  55. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +73 -10
  56. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +1117 -0
  57. data/vendor/assets/javascripts/webshims/shims/jme/p.js +603 -0
  58. data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +5 -2
  59. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +4 -10
  60. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +4 -1
  61. data/vendor/assets/javascripts/webshims/shims/range-ui.js +22 -14
  62. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +29 -344
  63. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +362 -0
  64. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +6 -483
  65. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +488 -0
  66. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +2 -0
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +10 -2
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +6 -2
  69. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +8 -1
  71. data/vendor/assets/javascripts/webshims/shims/track.js +66 -83
  72. metadata +12 -5
  73. data/vendor/assets/javascripts/webshims/shims/$ajax.js +0 -862
  74. data/vendor/assets/javascripts/webshims/shims/combos/24.js +0 -2087
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bf9250f01df02ab7750a79be2f509fc898993f61
4
- data.tar.gz: eb32f94fe00dd8ca6dc22bc42d5bb2177cf5dbab
3
+ metadata.gz: 1ad43e859b90080e11888f412d38800638727995
4
+ data.tar.gz: 22d1f086cef5bcf2d630c6f303ed43a9c6654cd4
5
5
  SHA512:
6
- metadata.gz: 05260607e2870fcd730f475ea8b8cbfa6fd674bde183f184d9aa031281d4f62a19c69ddd33519f7cb663a58be7b91a965d1176aaa15bd5532e766b21c7267b35
7
- data.tar.gz: 7406fdde1e7a97bb55335e831b1d658b524bfb5c4dee07cd42b73951a990058f0122af4a5b8284282f96634bf72341f042f201e3fbcd1451e8592f1cb81356c1
6
+ metadata.gz: 2bdf777e9a2234b33207d5bb4a5949b18081e90467a4afb608ac7768ac7f215ec34af3bbffc36f37db11fae3f997647f9b24f76ffc1831961bcea6fd841cc0cc
7
+ data.tar.gz: e06320cec62feba8997c6ee11ffc4e64b6da0d6fe43a4a00ea0d7cd4937974d3bc7cffb593bd6f8b5f160df98ff640cb24ae7e06c3fdff325347088817174088
@@ -1,6 +1,6 @@
1
1
  module Webshims
2
2
  module Rails
3
- VERSION = "1.12.5"
4
- WEBSHIMS_VERSION = "1.12.5"
3
+ VERSION = "1.12.7"
4
+ WEBSHIMS_VERSION = "1.12.7"
5
5
  end
6
6
  end
@@ -116,9 +116,9 @@
116
116
  path = path.split('?')[0].slice(0, path.lastIndexOf("/") + 1) + 'shims/';
117
117
 
118
118
  $.extend(webshims, {
119
- version: '1.12.5',
119
+ version: '1.12.7',
120
120
  cfg: {
121
- enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 719px)').matches),
121
+ enhanceAuto: window.Audio && (!window.matchMedia || matchMedia('(min-device-width: 721px)').matches),
122
122
  //addCacheBuster: false,
123
123
  waitReady: true,
124
124
  // extendNative: false,
@@ -127,7 +127,7 @@
127
127
  wspopover: {appendTo: 'auto', hideOnBlur: true},
128
128
  ajax: {},
129
129
  loadScript: function(src, success){
130
- if(!$.ajax){
130
+ if(!$.ajax || !$.ajaxSettings.xhr){
131
131
  if(window.yepnope){
132
132
  yepnope.injectJs(src, success);
133
133
  } else if(window.require){
@@ -154,6 +154,20 @@
154
154
  $.extend(true, webCFG, name);
155
155
  }
156
156
  },
157
+ getLazyFn: function(fn, modules){
158
+ var load = function(){
159
+ loadList(modules);
160
+ };
161
+ onReady('WINDOWLOAD', load);
162
+ return function(){
163
+ var args = arguments;
164
+ var obj = this;
165
+ load();
166
+ onReady(modules, function(){
167
+ obj[fn].apply(obj, args);
168
+ });
169
+ };
170
+ },
157
171
  _getAutoEnhance: getAutoEnhance,
158
172
  addPolyfill: function(name, cfg){
159
173
  cfg = cfg || {};
@@ -214,15 +228,22 @@
214
228
  })(),
215
229
  _polyfill: function(features){
216
230
  var toLoadFeatures = [];
217
-
218
- firstRun();
219
-
220
- if($.inArray('forms', features) == -1 && $.inArray('forms-ext', features) !== -1){
221
- features.push('forms');
222
- if(WSDEBUG){
223
- webshims.error('need to load forms feature to use forms-ext feature.');
231
+ var hasFormsExt;
232
+
233
+ if(!firstRun.run){
234
+ hasFormsExt = $.inArray('forms-ext', features) !== -1;
235
+ firstRun();
236
+ if(hasFormsExt && $.inArray('forms', features) == -1){
237
+ features.push('forms');
238
+ if(WSDEBUG){
239
+ webshims.error('need to load forms feature to use forms-ext feature.');
240
+ }
241
+ }
242
+ if(webCFG.loadStyles){
243
+ loader.loadCSS('styles/shim'+((hasFormsExt && !modules["form-number-date-ui"].test()) ? '-ext' : '')+'.css');
224
244
  }
225
245
  }
246
+
226
247
 
227
248
  if (webCFG.waitReady) {
228
249
  $.readyWait++;
@@ -244,11 +265,20 @@
244
265
  }
245
266
  toLoadFeatures = toLoadFeatures.concat(webshimsFeatures[feature]);
246
267
  });
247
- if(webCFG.loadStyles){
248
- loader.loadCSS('styles/shim.css');
249
- }
268
+
250
269
  loadList(toLoadFeatures);
251
-
270
+
271
+
272
+ $.each(features, function(i, feature){
273
+ var o = webCFG[feature];
274
+ if(!o){return;}
275
+ if(feature == 'mediaelement' && (o.replaceUI = getAutoEnhance(o.replaceUI))){
276
+ o.plugins.unshift('mediacontrols');
277
+ }
278
+ if(o.plugins && o.plugins.length){
279
+ loadList(webCFG[feature].plugins);
280
+ }
281
+ });
252
282
  },
253
283
 
254
284
  /*
@@ -259,12 +289,11 @@
259
289
  var reTest = function(i, name){
260
290
  var module = modules[name];
261
291
  var readyName = name+'Ready';
262
- var feature;
263
292
  if(module && !module.loaded && !( (module.test && $.isFunction(module.test) ) ? module.test([]) : module.test )){
264
293
  if(special[readyName]){
265
294
  delete special[readyName];
266
295
  }
267
- feature = webshimsFeatures[module.f];
296
+ webshimsFeatures[module.f];
268
297
 
269
298
  resList.push(name);
270
299
  }
@@ -297,7 +326,6 @@
297
326
  },
298
327
  ready: function(events, fn /*, _created*/){
299
328
  var _created = arguments[2];
300
- var evt = events;
301
329
  if (typeof events == 'string') {
302
330
  events = events.split(' ');
303
331
  }
@@ -635,7 +663,7 @@
635
663
 
636
664
 
637
665
  webshims.activeLang = (function(){
638
- var curLang = $('html').attr('lang') || navigator.browserLanguage || navigator.language || '';
666
+ var curLang = $.attr(document.documentElement, 'lang') || navigator.browserLanguage || navigator.language || '';
639
667
  onReady('webshimLocalization', function(){
640
668
  webshims.activeLang(curLang);
641
669
  });
@@ -706,14 +734,16 @@
706
734
  webCFG.ajax.crossDomain = true;
707
735
  }
708
736
 
709
- if($.mobile && ($.mobile.textinput || $.mobile.rangeslider || $.mobile.button)){
710
- if(WSDEBUG){
711
- webshims.warn('jQM textinput/rangeslider/button detected waitReady was set to false. Use webshims.ready("featurename") to script against polyfilled methods/properties');
712
- }
737
+ if(WSDEBUG && $.mobile && ($.mobile.textinput || $.mobile.rangeslider || $.mobile.button)){
738
+ webshims.info('jQM textinput/rangeslider/button detected waitReady was set to false. Use webshims.ready("featurename") to script against polyfilled methods/properties');
739
+
713
740
  if(!webCFG.readyEvt){
714
- webCFG.readyEvt = 'pageinit';
741
+ webshims.error('in a jQuery mobile enviroment: you should change the readyEvt to "pageinit".');
742
+ }
743
+
744
+ if(webCFG.waitReady){
745
+ webshims.error('in a jQuery mobile enviroment: you should change the waitReady to false.')
715
746
  }
716
- webCFG.waitReady = false;
717
747
  }
718
748
 
719
749
  if (WSDEBUG && webCFG.waitReady && $.isReady) {
@@ -725,7 +755,6 @@
725
755
  $.ready = function(unwait){
726
756
  if(unwait !== true && document.body){
727
757
  onReady();
728
- $.ready = $Ready;
729
758
  }
730
759
  return $Ready.apply(this, arguments);
731
760
  };
@@ -835,58 +864,23 @@
835
864
  if(WSDEBUG){
836
865
  webCFG.debug = true;
837
866
  }
838
-
839
- //this might be extended by ES5 shim feature
840
- (function(){
841
- var defineProperty = 'defineProperty';
842
- var has = Object.prototype.hasOwnProperty;
843
- var descProps = ['configurable', 'enumerable', 'writable'];
844
- var extendUndefined = function(prop){
845
- for(var i = 0; i < 3; i++){
846
- if(prop[descProps[i]] === undefined && (descProps[i] !== 'writable' || prop.value !== undefined)){
847
- prop[descProps[i]] = true;
848
- }
867
+
868
+ if(Object.create){
869
+ webshims.objectCreate = function(proto, props, opts){
870
+ if(WSDEBUG && props){
871
+ webshims.error('second argument for webshims.objectCreate is only available with DOM support');
849
872
  }
850
- };
851
- var extendProps = function(props){
852
- if(props){
853
- for(var i in props){
854
- if(has.call(props, i)){
855
- extendUndefined(props[i]);
856
- }
857
- }
873
+ var o = Object.create(proto);
874
+ if(opts){
875
+ o.options = $.extend(true, {}, o.options || {}, opts);
876
+ opts = o.options;
858
877
  }
878
+ if(o._create && $.isFunction(o._create)){
879
+ o._create(opts);
880
+ }
881
+ return o;
859
882
  };
860
- if(Object.create){
861
- webshims.objectCreate = function(proto, props, opts){
862
- extendProps(props);
863
- var o = Object.create(proto, props);
864
- if(opts){
865
- o.options = $.extend(true, {}, o.options || {}, opts);
866
- opts = o.options;
867
- }
868
- if(o._create && $.isFunction(o._create)){
869
- o._create(opts);
870
- }
871
- return o;
872
- };
873
- }
874
- if(Object[defineProperty]){
875
- webshims[defineProperty] = function(obj, prop, desc){
876
- extendUndefined(desc);
877
- return Object[defineProperty](obj, prop, desc);
878
- };
879
- }
880
- if(Object.defineProperties){
881
- webshims.defineProperties = function(obj, props){
882
- extendProps(props);
883
- return Object.defineProperties(obj, props);
884
- };
885
- }
886
- webshims.getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
887
-
888
- webshims.getPrototypeOf = Object.getPrototypeOf;
889
- })();
883
+ }
890
884
 
891
885
 
892
886
 
@@ -919,14 +913,15 @@
919
913
  // webshims lib uses a of http://github.com/kriskowal/es5-shim/ to implement
920
914
  addPolyfill('es5', {
921
915
  test: !!(Modernizr.ES5 && Function.prototype.bind),
922
- c: [18, 19, 25, 20, 32]
916
+ c: [18, 19, 25, 20, 32],
917
+ d: ['sizzle']
923
918
  });
924
919
 
925
920
  addPolyfill('dom-extend', {
926
921
  f: DOMSUPPORT,
927
922
  noAutoCallback: true,
928
923
  d: ['es5'],
929
- c: [16, 7, 2, 15, 30, 3, 8, 4, 9, 10, 25, 19, 20, 26, 31]
924
+ c: [16, 7, 2, 15, 30, 3, 8, 4, 9, 10, 25, 19, 20, 26, 31, 34]
930
925
  });
931
926
 
932
927
 
@@ -938,7 +933,6 @@
938
933
  destroyWrite: true
939
934
  // ,confirmText: ''
940
935
  },
941
- d: ['json-storage'],
942
936
  c: [21],
943
937
  nM: 'geolocation'
944
938
  });
@@ -968,7 +962,7 @@
968
962
 
969
963
  //<forms
970
964
  (function(){
971
- var formExtend, formOptions, formExtras;
965
+ var formExtend, formOptions;
972
966
  var fShim = 'form-shim-extend';
973
967
  var modernizrInputAttrs = Modernizr.input;
974
968
  var modernizrInputTypes = Modernizr.inputtypes;
@@ -1016,7 +1010,7 @@
1016
1010
 
1017
1011
  webshims.validationMessages = webshims.validityMessages = {
1018
1012
  langSrc: 'i18n/formcfg-',
1019
- availableLangs: ['ar', 'cs', 'el', 'es', 'fr', 'he', 'hi', 'hu', 'it', 'ja', 'lt', 'nl', 'pl', 'pt', 'pt-BR', 'pt-PT', 'ru', 'sv', 'zh-CN']
1013
+ availableLangs: "ar cs el es fr he hi hu it ja lt nl pl pt pt-BR pt-PT ru sv zh-CN".split(' ')
1020
1014
  };
1021
1015
  webshims.formcfg = $.extend({}, webshims.validationMessages);
1022
1016
 
@@ -1066,7 +1060,7 @@
1066
1060
  return Modernizr[formvalidation] && !bustedValidity;
1067
1061
  },
1068
1062
  d: ['form-core', DOMSUPPORT, 'sizzle'],
1069
- c: [16, 15, 24, 28]
1063
+ c: [16, 15, 28]
1070
1064
  });
1071
1065
 
1072
1066
  addPolyfill(fShim+'2', {
@@ -1074,8 +1068,7 @@
1074
1068
  test: function(){
1075
1069
  return Modernizr[formvalidation] && !bustedWidgetUi;
1076
1070
  },
1077
- d: [fShim],
1078
- c: [24]
1071
+ d: [fShim]
1079
1072
  });
1080
1073
 
1081
1074
  addPolyfill('form-message', {
@@ -1086,15 +1079,8 @@
1086
1079
  d: [DOMSUPPORT],
1087
1080
  c: [16, 7, 15, 30, 3, 8, 4, 14, 28]
1088
1081
  });
1089
-
1090
- formExtras = {
1091
- noAutoCallback: true,
1092
- options: formOptions
1093
- };
1094
- addModule('form-validation', $.extend({d: ['form-message', 'form-core']}, formExtras));
1095
-
1096
- addModule('form-validators', $.extend({}, formExtras));
1097
-
1082
+
1083
+
1098
1084
  addPolyfill(fNuAPI, {
1099
1085
  f: 'forms-ext',
1100
1086
  options: {
@@ -1148,7 +1134,6 @@
1148
1134
  return !o.replaceUI && modules[fNuAPI].test();
1149
1135
  },
1150
1136
  d: ['forms', DOMSUPPORT, fNuAPI, 'range-ui'],
1151
- css: 'styles/forms-ext.css',
1152
1137
  options: {
1153
1138
  widgets: {
1154
1139
  calculateWidth: true,
@@ -1181,11 +1166,9 @@
1181
1166
  //>
1182
1167
 
1183
1168
  //<details
1184
- if(!('details' in Modernizr)){
1185
- addTest('details', function(){
1186
- return ('open' in document.createElement('details'));
1187
- });
1188
- }
1169
+ addTest('details', function(){
1170
+ return ('open' in document.createElement('details'));
1171
+ });
1189
1172
  addPolyfill('details', {
1190
1173
  test: Modernizr.details,
1191
1174
  d: [DOMSUPPORT],
@@ -1211,14 +1194,7 @@
1211
1194
  loadInit: function(){
1212
1195
  //
1213
1196
  var o = this.options;
1214
- o.replaceUI = getAutoEnhance(o.replaceUI);
1215
1197
 
1216
- if(o.replaceUI){
1217
- o.plugins.unshift('mediacontrols');
1218
- }
1219
- setTimeout(function(){
1220
- loadList(o.plugins);
1221
- });
1222
1198
  },
1223
1199
  options: {
1224
1200
  //replaceUI: false,
@@ -1269,22 +1245,27 @@
1269
1245
  },
1270
1246
  d: ['mediaelement', DOMSUPPORT],
1271
1247
  methodNames: ['addTextTrack'],
1272
- c: [21, 12, 13, 22]
1248
+ c: [21, 12, 13, 22, 34]
1273
1249
  });
1274
1250
 
1275
- //if(WSDEBUG){
1276
- addModule('jme', {
1277
- src: 'jme/b',
1278
- c: [99]
1279
- });
1251
+ addModule('jme', {
1252
+ src: 'jme/b',
1253
+ d: ['mediaelement'],
1254
+ c: [98, 99, 97]
1255
+ });
1280
1256
 
1281
- addModule('mediacontrols', {
1282
- src: 'jme/c',
1283
- css: 'jme/controls.css',
1284
- d: ['jme'],
1285
- c: [99]
1286
- });
1287
- //}
1257
+ addModule('mediacontrols', {
1258
+ src: 'jme/c',
1259
+ css: 'jme/controls.css',
1260
+ d: ['jme'],
1261
+ c: [98, 99]
1262
+ });
1263
+
1264
+ addModule('playlist', {
1265
+ src: 'jme/p',
1266
+ d: ['jme'],
1267
+ c: [98, 97]
1268
+ });
1288
1269
 
1289
1270
  addModule('track-ui', {
1290
1271
  d: ['track', DOMSUPPORT]
@@ -1307,21 +1288,19 @@
1307
1288
 
1308
1289
  webshims.callAsync = function(){
1309
1290
  webshims.callAsync = $.noop;
1310
- $(document.scripts || 'script')
1311
- .filter('[data-polyfill-cfg]')
1312
- .each(function(){
1313
- try {
1314
- webshims.setOptions( $(this).data('polyfillCfg') );
1315
- } catch(e){
1316
- webshims.warn('error parsing polyfill cfg: '+e);
1317
- }
1318
- })
1319
- .end()
1320
- .filter('[data-polyfill]')
1321
- .each(function(){
1322
- webshims.polyfill( $.trim( $(this).data('polyfill') || '' ) );
1323
- })
1324
- ;
1291
+ if(WSDEBUG){
1292
+ $(document.scripts || 'script')
1293
+ .filter('[data-polyfill-cfg]')
1294
+ .each(function(){
1295
+ webshims.error('script[data-polyfill-cfg] feature was removed')
1296
+ })
1297
+ .end()
1298
+ .filter('[data-polyfill]')
1299
+ .each(function(){
1300
+ webshims.error('script[data-polyfill] feature was removed')
1301
+ })
1302
+ ;
1303
+ }
1325
1304
  if(asyncWebshims){
1326
1305
  if(asyncWebshims.cfg){
1327
1306
  if(!asyncWebshims.cfg.length){
@@ -272,27 +272,27 @@ webshims.isReady('swfmini', true);
272
272
  /*
273
273
  * Selectors for all browsers
274
274
  */
275
- var rElementsGroup = /^(?:form|fieldset)$/i;
276
- var hasInvalid = function(elem){
277
- var ret = false;
278
- $(elem).jProp('elements').each(function(){
279
- if(!rElementsGroup.test(this.nodeName || '')){
280
- ret = $(this).is(':invalid');
281
- if(ret){
282
- return false;
283
- }
284
- }
285
-
286
- });
287
- return ret;
288
- };
289
275
 
290
276
  var extendSels = function(){
291
277
  var matches, matchesOverride;
292
278
  var exp = $.expr[":"];
279
+ var rElementsGroup = /^(?:form|fieldset)$/i;
280
+ var hasInvalid = function(elem){
281
+ var ret = false;
282
+ $(elem).jProp('elements').each(function(){
283
+ if(!rElementsGroup.test(this.nodeName || '')){
284
+ ret = exp.invalid(this);
285
+ if(ret){
286
+ return false;
287
+ }
288
+ }
289
+
290
+ });
291
+ return ret;
292
+ };
293
293
  $.extend(exp, {
294
294
  "valid-element": function(elem){
295
- return rElementsGroup.test(elem.nodeName || '') ? !hasInvalid(elem) :!!($.prop(elem, 'willValidate') && isValid(elem));
295
+ return rElementsGroup.test(elem.nodeName || '') ? !hasInvalid(elem) : !!($.prop(elem, 'willValidate') && isValid(elem));
296
296
  },
297
297
  "invalid-element": function(elem){
298
298
  return rElementsGroup.test(elem.nodeName || '') ? hasInvalid(elem) : !!($.prop(elem, 'willValidate') && !isValid(elem));
@@ -347,27 +347,36 @@ webshims.isReady('swfmini', true);
347
347
  };
348
348
  }
349
349
  };
350
+ var formExtras = {
351
+ noAutoCallback: true,
352
+ options: options
353
+ };
354
+ var addModule = webshims.loader.addModule;
355
+ var lazyLoadProxy = function(obj, fn, args){
356
+ lazyLoad();
357
+ webshims.ready('form-validation', function(){
358
+ obj[fn].apply(obj, args);
359
+ });
360
+ };
361
+
362
+ var transClass = ('transitionDelay' in document.documentElement.style) ? '' : ' no-transition';
363
+ var poCFG = webshims.cfg.wspopover;
364
+
365
+ addModule('form-validation', $.extend({d: ['form-message']}, formExtras));
366
+
367
+ addModule('form-validators', $.extend({}, formExtras));
350
368
 
351
369
  if($.expr.filters){
352
370
  extendSels();
353
371
  } else {
354
372
  webshims.ready('sizzle', extendSels);
355
373
  }
356
-
357
-
374
+
358
375
  webshims.triggerInlineForm = function(elem, event){
359
376
  $(elem).trigger(event);
360
377
  };
361
378
 
362
- var lazyLoadProxy = function(obj, fn, args){
363
- lazyLoad();
364
- webshims.ready('form-validation', function(){
365
- obj[fn].apply(obj, args);
366
- });
367
- };
368
-
369
- var transClass = ('transitionDelay' in document.documentElement.style) ? '' : ' no-transition';
370
- var poCFG = webshims.cfg.wspopover;
379
+
371
380
  if(!poCFG.position && poCFG.position !== false){
372
381
  poCFG.position = {
373
382
  at: 'left bottom',
@@ -489,7 +498,7 @@ webshims.isReady('swfmini', true);
489
498
 
490
499
  webshims.ready('WINDOWLOAD', lazyLoad);
491
500
 
492
- if(modules['form-number-date-ui'].loaded && modules['form-number-date-api'].test()){
501
+ if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (Modernizr.inputtypes.range && Modernizr.inputtypes.color))){
493
502
  webshims.isReady('form-number-date-ui', true);
494
503
  }
495
504
  });
@@ -510,7 +519,6 @@ webshims.isReady('swfmini', true);
510
519
 
511
520
  var wsCfg = webshims.cfg;
512
521
  var options = wsCfg.mediaelement;
513
- var hasFullTrackSupport;
514
522
  var hasSwf;
515
523
  if(!options){
516
524
  webshims.error("mediaelement wasn't implemented but loaded");
@@ -552,11 +560,9 @@ webshims.isReady('swfmini', true);
552
560
  }
553
561
  })();
554
562
  }
555
- hasFullTrackSupport = Modernizr.track && !bugs.track;
556
563
 
557
564
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
558
565
  hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
559
- $('html').addClass(hasSwf ? 'swf' : 'no-swf');
560
566
  var mediaelement = webshims.mediaelement;
561
567
 
562
568
  mediaelement.parseRtmp = function(data){
@@ -935,6 +941,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
935
941
  if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
936
942
  supLoad.prop._supvalue.apply(this, arguments);
937
943
  }
944
+ if(!loadTrackUi.loaded && $('track', this).length){
945
+ loadTrackUi();
946
+ }
938
947
  $(this).triggerHandler('wsmediareload');
939
948
  }
940
949
  }
@@ -1005,13 +1014,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1005
1014
  }
1006
1015
  };
1007
1016
 
1008
- if(hasFullTrackSupport){
1009
- webshims.defineProperty(TextTrack.prototype, 'shimActiveCues', {
1010
- get: function(){
1011
- return this._shimActiveCues || this.activeCues;
1012
- }
1013
- });
1014
- }
1017
+
1015
1018
  //set native implementation ready, before swf api is retested
1016
1019
  if(hasNative){
1017
1020
  webshims.isReady('mediaelement-core', true);