webshims-rails 1.12.5 → 1.12.7

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.
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);