webshims-rails 1.10.10 → 1.10.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +8 -8
  2. data/MIT_LICENSE.txt +3 -1
  3. data/lib/webshims-rails/version.rb +2 -2
  4. data/vendor/assets/javascripts/webshims/polyfiller.js +8 -9
  5. data/vendor/assets/javascripts/webshims/shims/combos/1.js +91 -58
  6. data/vendor/assets/javascripts/webshims/shims/combos/10.js +247 -101
  7. data/vendor/assets/javascripts/webshims/shims/combos/11.js +241 -96
  8. data/vendor/assets/javascripts/webshims/shims/combos/12.js +79 -58
  9. data/vendor/assets/javascripts/webshims/shims/combos/13.js +79 -12
  10. data/vendor/assets/javascripts/webshims/shims/combos/14.js +6 -5
  11. data/vendor/assets/javascripts/webshims/shims/combos/15.js +68 -75
  12. data/vendor/assets/javascripts/webshims/shims/combos/16.js +147 -133
  13. data/vendor/assets/javascripts/webshims/shims/combos/17.js +288 -143
  14. data/vendor/assets/javascripts/webshims/shims/combos/18.js +288 -143
  15. data/vendor/assets/javascripts/webshims/shims/combos/19.js +85 -63
  16. data/vendor/assets/javascripts/webshims/shims/combos/2.js +97 -91
  17. data/vendor/assets/javascripts/webshims/shims/combos/20.js +85 -17
  18. data/vendor/assets/javascripts/webshims/shims/combos/21.js +17 -17
  19. data/vendor/assets/javascripts/webshims/shims/combos/23.js +79 -58
  20. data/vendor/assets/javascripts/webshims/shims/combos/24.js +17 -16
  21. data/vendor/assets/javascripts/webshims/shims/combos/25.js +85 -63
  22. data/vendor/assets/javascripts/webshims/shims/combos/26.js +6 -5
  23. data/vendor/assets/javascripts/webshims/shims/combos/27.js +0 -46
  24. data/vendor/assets/javascripts/webshims/shims/combos/28.js +6 -5
  25. data/vendor/assets/javascripts/webshims/shims/combos/29.js +13 -6
  26. data/vendor/assets/javascripts/webshims/shims/combos/3.js +47 -31
  27. data/vendor/assets/javascripts/webshims/shims/combos/30.js +47 -59
  28. data/vendor/assets/javascripts/webshims/shims/combos/31.js +18 -33
  29. data/vendor/assets/javascripts/webshims/shims/combos/4.js +35 -31
  30. data/vendor/assets/javascripts/webshims/shims/combos/5.js +304 -157
  31. data/vendor/assets/javascripts/webshims/shims/combos/6.js +304 -185
  32. data/vendor/assets/javascripts/webshims/shims/combos/7.js +126 -117
  33. data/vendor/assets/javascripts/webshims/shims/combos/8.js +126 -89
  34. data/vendor/assets/javascripts/webshims/shims/combos/9.js +247 -129
  35. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +6 -5
  36. data/vendor/assets/javascripts/webshims/shims/form-core.js +12 -0
  37. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +3 -0
  38. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +0 -28
  39. data/vendor/assets/javascripts/webshims/shims/form-message.js +29 -26
  40. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +16 -14
  41. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +47 -47
  42. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +241 -96
  43. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +21 -16
  44. data/vendor/assets/javascripts/webshims/shims/form-validation.js +17 -16
  45. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +173 -41
  46. data/vendor/assets/javascripts/webshims/shims/geolocation.js +17 -17
  47. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +35 -33
  48. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-ZN.js +32 -30
  49. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.txt +17 -13
  50. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +32 -30
  51. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.txt +4 -1
  52. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +30 -28
  53. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +35 -32
  54. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +32 -30
  55. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +32 -30
  56. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +32 -30
  57. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +32 -30
  58. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +32 -30
  59. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +37 -36
  60. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +32 -30
  61. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +5 -2
  62. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +33 -30
  63. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +3 -1
  64. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +32 -30
  65. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +79 -12
  66. data/vendor/assets/javascripts/webshims/shims/styles/forms.png +0 -0
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +126 -121
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +100 -111
  69. data/vendor/assets/javascripts/webshims/shims/swfmini.js +0 -46
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +13 -6
  71. data/webshims-rails.gemspec +1 -0
  72. metadata +4 -3
@@ -804,8 +804,9 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
804
804
  //DOM-Extension helper
805
805
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
806
806
  "use strict";
807
-
808
- webshims.assumeARIA = $.support.getSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
807
+ var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
808
+ var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
809
+ webshims.assumeARIA = supportGetSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
809
810
 
810
811
  if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
811
812
  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");
@@ -815,8 +816,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
815
816
  webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
816
817
  }
817
818
 
818
- if(webshims.cfg.extendNative === 1){
819
- webshims.warn("extendNative configuration will be set to false by default with next release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
819
+ if(webshims.cfg.extendNative === undefined){
820
+ webshims.warn("extendNative configuration was set to false by default with this release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
820
821
  }
821
822
 
822
823
  if (!webshims.cfg.no$Switch) {
@@ -1488,7 +1489,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1488
1489
 
1489
1490
  anchor.setAttribute('href', href+'' );
1490
1491
 
1491
- if(!$.support.hrefNormalized){
1492
+ if(!supportHrefNormalized){
1492
1493
  try {
1493
1494
  $(anchor).insertAfter(this);
1494
1495
  ret = anchor.getAttribute('href', 4);
@@ -1909,7 +1910,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1909
1910
  }
1910
1911
  });
1911
1912
  };
1912
- var options = webshims.cfg.mediaelement;
1913
+ var wsCfg = webshims.cfg;
1914
+ var options = wsCfg.mediaelement;
1913
1915
  var hasFullTrackSupport;
1914
1916
  var hasSwf;
1915
1917
  if(!options){
@@ -1996,7 +1998,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1996
1998
  }
1997
1999
  hasFullTrackSupport = Modernizr.track && !bugs.track;
1998
2000
 
1999
- webshims.register('mediaelement-core', function($, webshims, window, document, undefined){
2001
+ webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
2000
2002
  hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
2001
2003
  $('html').addClass(hasSwf ? 'swf' : 'no-swf');
2002
2004
  var mediaelement = webshims.mediaelement;
@@ -2080,11 +2082,21 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2080
2082
  var loadTrackUi = function(){
2081
2083
  if(loadTrackUi.loaded){return;}
2082
2084
  loadTrackUi.loaded = true;
2083
- webshims.ready('WINDOWLOAD', function(){
2084
- loadThird();
2085
- webshims.loader.loadList(['track-ui']);
2086
- });
2085
+ if(!options.noAutoTrack){
2086
+ webshims.ready('WINDOWLOAD', function(){
2087
+ loadThird();
2088
+ webshims.loader.loadList(['track-ui']);
2089
+ });
2090
+ }
2087
2091
  };
2092
+ // var loadMediaGroup = function(){
2093
+ // if(!loadMediaGroup.loaded){
2094
+ // loadMediaGroup.loaded = true;
2095
+ // webshims.ready(window.MediaController ? 'WINDOWLOAD' : 'DOM', function(){
2096
+ // webshims.loader.loadList(['mediagroup']);
2097
+ // });
2098
+ // }
2099
+ // };
2088
2100
  var loadYt = (function(){
2089
2101
  var loaded;
2090
2102
  return function(){
@@ -2109,6 +2121,11 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2109
2121
  d: ['dom-support']
2110
2122
  });
2111
2123
 
2124
+
2125
+ // webshims.addModule('mediagroup', {
2126
+ // d: ['mediaelement', 'dom-support']
2127
+ // });
2128
+
2112
2129
  mediaelement.mimeTypes = {
2113
2130
  audio: {
2114
2131
  //ogm shouldn´t be used!
@@ -2407,8 +2424,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2407
2424
 
2408
2425
  };
2409
2426
 
2410
-
2411
-
2412
2427
  webshims.ready('dom-support', function(){
2413
2428
  handleMedia = true;
2414
2429
 
@@ -2417,7 +2432,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2417
2432
  }
2418
2433
 
2419
2434
  ['audio', 'video'].forEach(function(nodeName){
2420
- var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
2435
+ var supLoad, supController;
2436
+ supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
2421
2437
  prop: {
2422
2438
  value: function(){
2423
2439
  var data = webshims.data(this, 'mediaelement');
@@ -2448,7 +2464,59 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2448
2464
  }
2449
2465
  }
2450
2466
  });
2467
+
2468
+ // supController = webshims.defineNodeNameProperty(nodeName, 'controller', {
2469
+ // prop: {
2470
+ // get: function(type){
2471
+ // if(!loadMediaGroup.loaded){
2472
+ // loadMediaGroup();
2473
+ // }
2474
+ // if(mediaelement.controller){
2475
+ // return mediaelement.controller[nodeName].get.apply(this, arguments);
2476
+ // }
2477
+ // return supController.prop._supget && supController.prop._supget.apply(this, arguments);
2478
+ // },
2479
+ // set: function(){
2480
+ // var that = this;
2481
+ // var args = arguments;
2482
+ // if(!loadMediaGroup.loaded){
2483
+ // loadMediaGroup();
2484
+ // }
2485
+ // if(mediaelement.controller){
2486
+ // return mediaelement.controller[nodeName].set.apply(that, args);
2487
+ // } else {
2488
+ // webshims.ready('mediagroup', function(){
2489
+ // mediaelement.controller[nodeName].set.apply(that, args);
2490
+ // });
2491
+ // }
2492
+ // return supController.prop._supset && supController.prop._supset.apply(this, arguments);
2493
+ // }
2494
+ // }
2495
+ // });
2496
+
2497
+ // webshims.ready('mediagroup', function(){
2498
+ // mediaelement.controller[nodeName].sup = supController;
2499
+ // });
2451
2500
  });
2501
+
2502
+ // webshims.onNodeNamesPropertyModify(['audio', 'video'], ['mediaGroup'], {
2503
+ // set: function(){
2504
+ // var that = this;
2505
+ // var args = arguments;
2506
+ // if(!loadMediaGroup.loaded){
2507
+ // loadMediaGroup();
2508
+ // }
2509
+ // if(mediaelement.mediagroup){
2510
+ // mediaelement.mediagroup.set.apply(that, args);
2511
+ // } else {
2512
+ // webshims.ready('mediagroup', function(){
2513
+ // mediaelement.mediagroup.set.apply(that, args);
2514
+ // });
2515
+ // }
2516
+ // },
2517
+ // initAttr: true
2518
+ // });
2519
+
2452
2520
  webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
2453
2521
  set: function(){
2454
2522
  var elem = this;
@@ -2470,6 +2538,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2470
2538
  if(!loadTrackUi.loaded && $('track', media).length){
2471
2539
  loadTrackUi();
2472
2540
  }
2541
+ // if(!loadMediaGroup.loaded && this.getAttribute('mediagroup')){
2542
+ // loadMediaGroup();
2543
+ // }
2473
2544
  media = null;
2474
2545
  });
2475
2546
  });
@@ -2485,9 +2556,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2485
2556
  handleMedia = true;
2486
2557
  return false;
2487
2558
  }
2488
- if((!hasFullTrackSupport || webshims.modules.track.options.override) && !loadTrackUi.loaded && $('track', this).length){
2489
- loadTrackUi();
2490
- }
2491
2559
  })
2492
2560
  ;
2493
2561
  }
@@ -46,19 +46,19 @@
46
46
  getGoogleCoords = function(){
47
47
  if(pos || !window.google || !google.loader || !google.loader.ClientLocation){return false;}
48
48
  var cl = google.loader.ClientLocation;
49
- pos = {
49
+ pos = {
50
50
  coords: {
51
51
  latitude: cl.latitude,
52
- longitude: cl.longitude,
53
- altitude: null,
54
- accuracy: 43000,
55
- altitudeAccuracy: null,
56
- heading: parseInt('NaN', 10),
57
- velocity: null
52
+ longitude: cl.longitude,
53
+ altitude: null,
54
+ accuracy: 43000,
55
+ altitudeAccuracy: null,
56
+ heading: parseInt('NaN', 10),
57
+ velocity: null
58
58
  },
59
- //extension similiar to FF implementation
59
+ //extension similiar to FF implementation
60
60
  address: $.extend({streetNumber: '', street: '', premises: '', county: '', postalCode: ''}, cl.address)
61
- };
61
+ };
62
62
  return true;
63
63
  },
64
64
  getInitCoords = function(){
@@ -95,14 +95,14 @@
95
95
  pos = pos || {
96
96
  coords: {
97
97
  latitude: data.latitude,
98
- longitude: data.longitude,
99
- altitude: null,
100
- accuracy: 43000,
101
- altitudeAccuracy: null,
102
- heading: parseInt('NaN', 10),
103
- velocity: null
98
+ longitude: data.longitude,
99
+ altitude: null,
100
+ accuracy: 43000,
101
+ altitudeAccuracy: null,
102
+ heading: parseInt('NaN', 10),
103
+ velocity: null
104
104
  },
105
- //extension similiar to FF implementation
105
+ //extension similiar to FF implementation
106
106
  address: {
107
107
  city: data.city,
108
108
  country: data.country_name,
@@ -114,7 +114,7 @@
114
114
  street: "",
115
115
  streetNumber: ""
116
116
  }
117
- };
117
+ };
118
118
  endCallback();
119
119
  },
120
120
  error: function(){
@@ -165,52 +165,6 @@ var swfmini = function() {
165
165
  }
166
166
 
167
167
 
168
- /* Functions to abstract and display alternative content
169
- */
170
- function displayAltContent(obj) {
171
- if (ua.ie && ua.win && obj.readyState != 4) {
172
- // IE only: when a SWF is loading (AND: not available in cache) wait for the readyState of the object element to become 4 before removing it,
173
- // because you cannot properly cancel a loading SWF file without breaking browser load references, also obj.onreadystatechange doesn't work
174
- var el = createElement("div");
175
- obj.parentNode.insertBefore(el, obj); // insert placeholder div that will be replaced by the alternative content
176
- el.parentNode.replaceChild(abstractAltContent(obj), el);
177
- obj.style.display = "none";
178
- (function(){
179
- if (obj.readyState == 4) {
180
- obj.parentNode.removeChild(obj);
181
- }
182
- else {
183
- setTimeout(arguments.callee, 10);
184
- }
185
- })();
186
- }
187
- else {
188
- obj.parentNode.replaceChild(abstractAltContent(obj), obj);
189
- }
190
- }
191
-
192
- function abstractAltContent(obj) {
193
- var ac = createElement("div");
194
- if (ua.win && ua.ie) {
195
- ac.innerHTML = obj.innerHTML;
196
- }
197
- else {
198
- var nestedObj = obj.getElementsByTagName(OBJECT)[0];
199
- if (nestedObj) {
200
- var c = nestedObj.childNodes;
201
- if (c) {
202
- var cl = c.length;
203
- for (var i = 0; i < cl; i++) {
204
- if (!(c[i].nodeType == 1 && c[i].nodeName == "PARAM") && !(c[i].nodeType == 8)) {
205
- ac.appendChild(c[i].cloneNode(true));
206
- }
207
- }
208
- }
209
- }
210
- }
211
- return ac;
212
- }
213
-
214
168
  /* Cross-browser dynamic SWF creation
215
169
  */
216
170
  function createSWF(attObj, parObj, id) {
@@ -511,7 +465,8 @@ var swfmini = function() {
511
465
  }
512
466
  });
513
467
  };
514
- var options = webshims.cfg.mediaelement;
468
+ var wsCfg = webshims.cfg;
469
+ var options = wsCfg.mediaelement;
515
470
  var hasFullTrackSupport;
516
471
  var hasSwf;
517
472
  if(!options){
@@ -598,7 +553,7 @@ var swfmini = function() {
598
553
  }
599
554
  hasFullTrackSupport = Modernizr.track && !bugs.track;
600
555
 
601
- webshims.register('mediaelement-core', function($, webshims, window, document, undefined){
556
+ webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
602
557
  hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
603
558
  $('html').addClass(hasSwf ? 'swf' : 'no-swf');
604
559
  var mediaelement = webshims.mediaelement;
@@ -682,11 +637,21 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
682
637
  var loadTrackUi = function(){
683
638
  if(loadTrackUi.loaded){return;}
684
639
  loadTrackUi.loaded = true;
685
- webshims.ready('WINDOWLOAD', function(){
686
- loadThird();
687
- webshims.loader.loadList(['track-ui']);
688
- });
640
+ if(!options.noAutoTrack){
641
+ webshims.ready('WINDOWLOAD', function(){
642
+ loadThird();
643
+ webshims.loader.loadList(['track-ui']);
644
+ });
645
+ }
689
646
  };
647
+ // var loadMediaGroup = function(){
648
+ // if(!loadMediaGroup.loaded){
649
+ // loadMediaGroup.loaded = true;
650
+ // webshims.ready(window.MediaController ? 'WINDOWLOAD' : 'DOM', function(){
651
+ // webshims.loader.loadList(['mediagroup']);
652
+ // });
653
+ // }
654
+ // };
690
655
  var loadYt = (function(){
691
656
  var loaded;
692
657
  return function(){
@@ -711,6 +676,11 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
711
676
  d: ['dom-support']
712
677
  });
713
678
 
679
+
680
+ // webshims.addModule('mediagroup', {
681
+ // d: ['mediaelement', 'dom-support']
682
+ // });
683
+
714
684
  mediaelement.mimeTypes = {
715
685
  audio: {
716
686
  //ogm shouldn´t be used!
@@ -1009,8 +979,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1009
979
 
1010
980
  };
1011
981
 
1012
-
1013
-
1014
982
  webshims.ready('dom-support', function(){
1015
983
  handleMedia = true;
1016
984
 
@@ -1019,7 +987,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1019
987
  }
1020
988
 
1021
989
  ['audio', 'video'].forEach(function(nodeName){
1022
- var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
990
+ var supLoad, supController;
991
+ supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
1023
992
  prop: {
1024
993
  value: function(){
1025
994
  var data = webshims.data(this, 'mediaelement');
@@ -1050,7 +1019,59 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1050
1019
  }
1051
1020
  }
1052
1021
  });
1022
+
1023
+ // supController = webshims.defineNodeNameProperty(nodeName, 'controller', {
1024
+ // prop: {
1025
+ // get: function(type){
1026
+ // if(!loadMediaGroup.loaded){
1027
+ // loadMediaGroup();
1028
+ // }
1029
+ // if(mediaelement.controller){
1030
+ // return mediaelement.controller[nodeName].get.apply(this, arguments);
1031
+ // }
1032
+ // return supController.prop._supget && supController.prop._supget.apply(this, arguments);
1033
+ // },
1034
+ // set: function(){
1035
+ // var that = this;
1036
+ // var args = arguments;
1037
+ // if(!loadMediaGroup.loaded){
1038
+ // loadMediaGroup();
1039
+ // }
1040
+ // if(mediaelement.controller){
1041
+ // return mediaelement.controller[nodeName].set.apply(that, args);
1042
+ // } else {
1043
+ // webshims.ready('mediagroup', function(){
1044
+ // mediaelement.controller[nodeName].set.apply(that, args);
1045
+ // });
1046
+ // }
1047
+ // return supController.prop._supset && supController.prop._supset.apply(this, arguments);
1048
+ // }
1049
+ // }
1050
+ // });
1051
+
1052
+ // webshims.ready('mediagroup', function(){
1053
+ // mediaelement.controller[nodeName].sup = supController;
1054
+ // });
1053
1055
  });
1056
+
1057
+ // webshims.onNodeNamesPropertyModify(['audio', 'video'], ['mediaGroup'], {
1058
+ // set: function(){
1059
+ // var that = this;
1060
+ // var args = arguments;
1061
+ // if(!loadMediaGroup.loaded){
1062
+ // loadMediaGroup();
1063
+ // }
1064
+ // if(mediaelement.mediagroup){
1065
+ // mediaelement.mediagroup.set.apply(that, args);
1066
+ // } else {
1067
+ // webshims.ready('mediagroup', function(){
1068
+ // mediaelement.mediagroup.set.apply(that, args);
1069
+ // });
1070
+ // }
1071
+ // },
1072
+ // initAttr: true
1073
+ // });
1074
+
1054
1075
  webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
1055
1076
  set: function(){
1056
1077
  var elem = this;
@@ -1072,6 +1093,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1072
1093
  if(!loadTrackUi.loaded && $('track', media).length){
1073
1094
  loadTrackUi();
1074
1095
  }
1096
+ // if(!loadMediaGroup.loaded && this.getAttribute('mediagroup')){
1097
+ // loadMediaGroup();
1098
+ // }
1075
1099
  media = null;
1076
1100
  });
1077
1101
  });
@@ -1087,9 +1111,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1087
1111
  handleMedia = true;
1088
1112
  return false;
1089
1113
  }
1090
- if((!hasFullTrackSupport || webshims.modules.track.options.override) && !loadTrackUi.loaded && $('track', this).length){
1091
- loadTrackUi();
1092
- }
1093
1114
  })
1094
1115
  ;
1095
1116
  }
@@ -2,8 +2,8 @@ webshims.register('form-validation', function($, webshims, window, document, und
2
2
  var isWebkit = 'webkitURL' in window;
3
3
  var chromeBugs = isWebkit && Modernizr.formvalidation && !webshims.bugs.bustedValidity;
4
4
  var webkitVersion = chromeBugs && parseFloat((navigator.userAgent.match(/Safari\/([\d\.]+)/) || ['', '999999'])[1], 10);
5
- var invalidClass = 'user-error';
6
- var validClass = 'user-success';
5
+ var invalidClass = options.iVal.errorClass || 'user-error';
6
+ var validClass = options.iVal.successClass || 'user-success';
7
7
  var checkTypes = {checkbox: 1, radio: 1};
8
8
 
9
9
  var emptyJ = $([]);
@@ -76,6 +76,7 @@ webshims.register('form-validation', function($, webshims, window, document, und
76
76
  'datetime-local': 1
77
77
  };
78
78
  var switchValidityClass = function(e){
79
+ if(!options.iVal.sel){return;}
79
80
  var elem, timer, shadowElem, shadowType;
80
81
  if(!e.target){return;}
81
82
  elem = $(e.target).getNativeElement()[0];
@@ -182,7 +183,7 @@ webshims.register('form-validation', function($, webshims, window, document, und
182
183
  $(document.documentElement)
183
184
  ;
184
185
  };
185
- var minWidth = (Modernizr.boxSizing || Modernizr['display-table'] || $.support.getSetAttribute) ?
186
+ var minWidth = (Modernizr.boxSizing || Modernizr['display-table'] || $.support.getSetAttribute || $.support.boxSizing) ?
186
187
  'minWidth' :
187
188
  'width'
188
189
  ;
@@ -235,14 +236,21 @@ webshims.register('form-validation', function($, webshims, window, document, und
235
236
  return container == contained || $.contains(container, contained);
236
237
  },
237
238
  show: function(element){
239
+ if(this.isVisible){return;}
238
240
  var e = $.Event('wspopoverbeforeshow');
239
241
  this.element.trigger(e);
240
- if(e.isDefaultPrevented() || this.isVisible){return;}
242
+ if(e.isDefaultPrevented()){return;}
241
243
  this.isVisible = true;
242
244
  element = $(element || this.options.prepareFor).getNativeElement() ;
243
245
 
244
246
  var that = this;
245
247
  var visual = $(element).getShadowElement();
248
+ var delayedRepos = function(e){
249
+ clearTimeout(that.timers.repos);
250
+ that.timers.repos = setTimeout(function(){
251
+ that.position(visual);
252
+ }, e && e.type == 'pospopover' ? 4 : 200);
253
+ };
246
254
 
247
255
  this.clear();
248
256
  this.element.removeClass('ws-po-visible').css('display', 'none');
@@ -256,22 +264,15 @@ webshims.register('form-validation', function($, webshims, window, document, und
256
264
  that.element.addClass('ws-po-visible').trigger('wspopovershow');
257
265
  }, 9);
258
266
  }, 9);
259
- this.element.on('remove', function(e){
260
- if(!e.originalEvent){
261
- that.destroy();
262
- }
263
- });
267
+
264
268
  $(document).on('focusin'+this.eventns+' mousedown'+this.eventns, function(e){
265
269
  if(that.options.hideOnBlur && !that.stopBlur && !that.isInElement(that.lastElement[0] || document.body, e.target) && !that.isInElement(element[0] || document.body, e.target) && !that.isInElement(that.element[0], e.target)){
266
270
  that.hide();
267
271
  }
268
272
  });
269
- $(window).on('resize'+this.eventns + ' pospopover'+this.eventns, function(){
270
- clearTimeout(that.timers.repos);
271
- that.timers.repos = setTimeout(function(){
272
- that.position(visual);
273
- }, 400);
274
- });
273
+
274
+ this.element.off('pospopover').on('pospopover', delayedRepos);
275
+ $(window).on('resize'+this.eventns + ' pospopover'+this.eventns, delayedRepos);
275
276
  },
276
277
  prepareFor: function(element, visual){
277
278
  var onBlur;
@@ -476,7 +477,7 @@ webshims.register('form-validation', function($, webshims, window, document, und
476
477
  }
477
478
  }
478
479
  if(!fieldWrapper){
479
- fieldWrapper = $(elem).parent().closest(':not(span, label, em, strong, b, mark, p)');
480
+ fieldWrapper = $(elem).parent().closest(':not(span, label, em, strong, b, i, mark, p)');
480
481
  }
481
482
  return fieldWrapper;
482
483
  },