webshims-rails 1.14.6 → 1.15.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +145 -139
  4. data/vendor/assets/javascripts/webshims/shims/canvas-blob.js +97 -0
  5. data/vendor/assets/javascripts/webshims/shims/combos/1.js +13 -15
  6. data/vendor/assets/javascripts/webshims/shims/combos/10.js +29 -28
  7. data/vendor/assets/javascripts/webshims/shims/combos/11.js +2 -1
  8. data/vendor/assets/javascripts/webshims/shims/combos/12.js +22 -10
  9. data/vendor/assets/javascripts/webshims/shims/combos/13.js +22 -10
  10. data/vendor/assets/javascripts/webshims/shims/combos/15.js +28 -43
  11. data/vendor/assets/javascripts/webshims/shims/combos/16.js +41 -44
  12. data/vendor/assets/javascripts/webshims/shims/combos/17.js +2 -1
  13. data/vendor/assets/javascripts/webshims/shims/combos/2.js +40 -42
  14. data/vendor/assets/javascripts/webshims/shims/combos/21.js +98 -71
  15. data/vendor/assets/javascripts/webshims/shims/combos/22.js +9 -9
  16. data/vendor/assets/javascripts/webshims/shims/combos/23.js +13 -1
  17. data/vendor/assets/javascripts/webshims/shims/combos/25.js +141 -51
  18. data/vendor/assets/javascripts/webshims/shims/combos/27.js +66 -12
  19. data/vendor/assets/javascripts/webshims/shims/combos/28.js +1 -2
  20. data/vendor/assets/javascripts/webshims/shims/combos/3.js +27 -41
  21. data/vendor/assets/javascripts/webshims/shims/combos/30.js +27 -41
  22. data/vendor/assets/javascripts/webshims/shims/combos/31.js +27 -41
  23. data/vendor/assets/javascripts/webshims/shims/combos/34.js +36 -36
  24. data/vendor/assets/javascripts/webshims/shims/combos/4.js +27 -27
  25. data/vendor/assets/javascripts/webshims/shims/combos/5.js +2 -1
  26. data/vendor/assets/javascripts/webshims/shims/combos/6.js +2 -1
  27. data/vendor/assets/javascripts/webshims/shims/combos/7.js +40 -42
  28. data/vendor/assets/javascripts/webshims/shims/combos/8.js +40 -42
  29. data/vendor/assets/javascripts/webshims/shims/combos/9.js +29 -28
  30. data/vendor/assets/javascripts/webshims/shims/combos/98.js +4 -2
  31. data/vendor/assets/javascripts/webshims/shims/combos/99.js +4 -2
  32. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +27 -27
  33. data/vendor/assets/javascripts/webshims/shims/es6.js +23 -29
  34. data/vendor/assets/javascripts/webshims/shims/{filereader.js → filereader-xhr.js} +66 -12
  35. data/vendor/assets/javascripts/webshims/shims/form-core.js +0 -14
  36. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +2 -1
  37. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +1 -2
  38. data/vendor/assets/javascripts/webshims/shims/form-validation.js +18 -5
  39. data/vendor/assets/javascripts/webshims/shims/form-validators.js +15 -14
  40. data/vendor/assets/javascripts/webshims/shims/geolocation.js +41 -50
  41. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +4 -4
  42. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +2 -1
  43. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols.js +4 -2
  44. data/vendor/assets/javascripts/webshims/shims/mediacapture-picker.js +42 -0
  45. data/vendor/assets/javascripts/webshims/shims/mediacapture.js +159 -0
  46. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +13 -1
  47. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +48 -12
  48. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +20 -8
  49. data/vendor/assets/javascripts/webshims/shims/{combos/26.js → moxie/js/moxie-html4.js} +2121 -1257
  50. data/vendor/assets/javascripts/webshims/shims/moxie/js/{moxie.js → moxie-swf.js} +1125 -1741
  51. data/vendor/assets/javascripts/webshims/shims/sticky.js +585 -0
  52. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +20 -0
  53. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +23 -0
  54. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +74 -34
  55. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +78 -31
  56. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +78 -31
  57. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  58. data/vendor/assets/javascripts/webshims/shims/track-ui.js +214 -111
  59. data/vendor/assets/javascripts/webshims/shims/track.js +9 -9
  60. data/vendor/assets/javascripts/webshims/shims/usermedia-core.js +27 -0
  61. data/vendor/assets/javascripts/webshims/shims/usermedia-shim.js +34 -37
  62. metadata +9 -8
  63. data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -1262
  64. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.min.xap +0 -0
@@ -2641,7 +2641,8 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
2641
2641
 
2642
2642
  (function(){
2643
2643
  var picker = {};
2644
- var assumeVirtualKeyBoard = (window.Modernizr && (Modernizr.touchevents || Modernizr.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
2644
+ var modern = window.Modernizr;
2645
+ var assumeVirtualKeyBoard = (modern && (modern.touchevents || modern.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
2645
2646
  webshims.inlinePopover = {
2646
2647
  _create: function(){
2647
2648
  this.element = $('<div class="ws-inline-picker"><div class="ws-po-box" /></div>').data('wspopover', this);
@@ -2641,7 +2641,8 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
2641
2641
 
2642
2642
  (function(){
2643
2643
  var picker = {};
2644
- var assumeVirtualKeyBoard = (window.Modernizr && (Modernizr.touchevents || Modernizr.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
2644
+ var modern = window.Modernizr;
2645
+ var assumeVirtualKeyBoard = (modern && (modern.touchevents || modern.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
2645
2646
  webshims.inlinePopover = {
2646
2647
  _create: function(){
2647
2648
  this.element = $('<div class="ws-inline-picker"><div class="ws-po-box" /></div>').data('wspopover', this);
@@ -287,11 +287,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
287
287
  webshims.assumeARIA = true;
288
288
 
289
289
  if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
290
- 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");
291
- }
292
-
293
- if('debug' in webshims){
294
- webshims.error('Use webshims.setOptions("debug", true||false||"noCombo"); to debug flag');
290
+ webshims.error("IE browser modes are busted in IE10+. Make sure to run IE in edge mode (X-UA-Compatible). Please test your HTML/CSS/JS with a real IE version or at least IETester or similar tools. ");
295
291
  }
296
292
 
297
293
  if (!webshims.cfg.no$Switch) {
@@ -904,33 +900,37 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
904
900
  }
905
901
  },
906
902
  handler: (function(){
903
+ var evt;
907
904
  var trigger = function(){
908
- $(document).triggerHandler('updateshadowdom');
905
+ $(document).triggerHandler('updateshadowdom', [evt]);
909
906
  };
910
- return function(e){
911
- clearTimeout(resizeTimer);
912
- resizeTimer = setTimeout(function(){
913
- if(e.type == 'resize'){
914
- var width = $window.width();
915
- var height = $window.width();
907
+ var timed = function(){
908
+ if(evt && evt.type == 'resize'){
909
+ var width = $window.width();
910
+ var height = $window.width();
916
911
 
917
- if(height == lastHeight && width == lastWidth){
918
- return;
919
- }
920
- lastHeight = height;
921
- lastWidth = width;
922
-
923
- docObserve.height = docObserve.getHeight();
924
- docObserve.width = docObserve.getWidth();
912
+ if(height == lastHeight && width == lastWidth){
913
+ return;
925
914
  }
915
+ lastHeight = height;
916
+ lastWidth = width;
917
+ }
926
918
 
927
- if(window.requestAnimationFrame){
928
- requestAnimationFrame(trigger);
929
- } else {
930
- setTimeout(trigger, 0);
931
- }
932
-
933
- }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
919
+ if(evt && evt.type != 'docresize'){
920
+ docObserve.height = docObserve.getHeight();
921
+ docObserve.width = docObserve.getWidth();
922
+ }
923
+
924
+ if(window.requestAnimationFrame){
925
+ requestAnimationFrame(trigger);
926
+ } else {
927
+ setTimeout(trigger, 0);
928
+ }
929
+ };
930
+ return function(e){
931
+ clearTimeout(resizeTimer);
932
+ evt = e;
933
+ resizeTimer = setTimeout(timed, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
934
934
  };
935
935
  })(),
936
936
  _create: function(){
@@ -1755,20 +1755,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1755
1755
  }
1756
1756
  });
1757
1757
 
1758
- $(function(){
1759
- var fileReaderReady = ('FileReader' in window && 'FormData' in window);
1760
- if(!fileReaderReady){
1761
- webshims.addReady(function(context){
1762
- if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
1763
- if(context.querySelector('input.ws-filereader')){
1764
- webshims.reTest(['filereader', 'moxie']);
1765
- fileReaderReady = true;
1766
- }
1767
- }
1768
- });
1769
- }
1770
- });
1771
-
1772
1758
  if(options.addValidators && options.fastValidators){
1773
1759
  webshims.reTest(['form-validators', 'form-validation']);
1774
1760
  }
@@ -2446,9 +2432,16 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2446
2432
  })();
2447
2433
  }
2448
2434
 
2435
+ if(window.CanvasRenderingContext2D && CanvasRenderingContext2D.prototype){
2436
+ CanvasRenderingContext2D.prototype.wsImageComplete = function(cb){
2437
+ cb.call(this, this);
2438
+ };
2439
+ }
2440
+
2449
2441
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
2450
2442
  var hasSwf = swfmini.hasFlashPlayerVersion('11.3');
2451
2443
  var mediaelement = webshims.mediaelement;
2444
+ var allowYtLoading = false;
2452
2445
 
2453
2446
  mediaelement.parseRtmp = function(data){
2454
2447
  var src = data.src.split('://');
@@ -2544,7 +2537,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2544
2537
  return function(){
2545
2538
  if(loaded || !hasYt){return;}
2546
2539
  loaded = true;
2547
- webshims.loader.loadScript("https://www.youtube.com/player_api");
2540
+ if(allowYtLoading){
2541
+ webshims.loader.loadScript("https://www.youtube.com/player_api");
2542
+ }
2548
2543
  $(function(){
2549
2544
  webshims._polyfill(["mediaelement-yt"]);
2550
2545
  });
@@ -2730,6 +2725,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2730
2725
  }
2731
2726
  });
2732
2727
  if(!requested && hasYt && !mediaelement.createSWF){
2728
+ allowYtLoading = true;
2733
2729
  loadYt();
2734
2730
  }
2735
2731
  };
@@ -2894,6 +2890,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2894
2890
  .add(insertedElement.filter('video, audio'))
2895
2891
  .each(function(){
2896
2892
  if(!mediaelement.canNativePlaySrces(this)){
2893
+ allowYtLoading = true;
2897
2894
  loadThird();
2898
2895
  handleMedia = true;
2899
2896
  return false;
@@ -2916,6 +2913,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2916
2913
  mediaelement.loadDebugger();
2917
2914
  });
2918
2915
  }
2916
+
2919
2917
  //set native implementation ready, before swf api is retested
2920
2918
  if(hasNative){
2921
2919
  webshims.isReady('mediaelement-core', true);
@@ -287,11 +287,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
287
287
  webshims.assumeARIA = true;
288
288
 
289
289
  if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
290
- 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");
291
- }
292
-
293
- if('debug' in webshims){
294
- webshims.error('Use webshims.setOptions("debug", true||false||"noCombo"); to debug flag');
290
+ webshims.error("IE browser modes are busted in IE10+. Make sure to run IE in edge mode (X-UA-Compatible). Please test your HTML/CSS/JS with a real IE version or at least IETester or similar tools. ");
295
291
  }
296
292
 
297
293
  if (!webshims.cfg.no$Switch) {
@@ -904,33 +900,37 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
904
900
  }
905
901
  },
906
902
  handler: (function(){
903
+ var evt;
907
904
  var trigger = function(){
908
- $(document).triggerHandler('updateshadowdom');
905
+ $(document).triggerHandler('updateshadowdom', [evt]);
909
906
  };
910
- return function(e){
911
- clearTimeout(resizeTimer);
912
- resizeTimer = setTimeout(function(){
913
- if(e.type == 'resize'){
914
- var width = $window.width();
915
- var height = $window.width();
907
+ var timed = function(){
908
+ if(evt && evt.type == 'resize'){
909
+ var width = $window.width();
910
+ var height = $window.width();
916
911
 
917
- if(height == lastHeight && width == lastWidth){
918
- return;
919
- }
920
- lastHeight = height;
921
- lastWidth = width;
922
-
923
- docObserve.height = docObserve.getHeight();
924
- docObserve.width = docObserve.getWidth();
912
+ if(height == lastHeight && width == lastWidth){
913
+ return;
925
914
  }
915
+ lastHeight = height;
916
+ lastWidth = width;
917
+ }
926
918
 
927
- if(window.requestAnimationFrame){
928
- requestAnimationFrame(trigger);
929
- } else {
930
- setTimeout(trigger, 0);
931
- }
932
-
933
- }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
919
+ if(evt && evt.type != 'docresize'){
920
+ docObserve.height = docObserve.getHeight();
921
+ docObserve.width = docObserve.getWidth();
922
+ }
923
+
924
+ if(window.requestAnimationFrame){
925
+ requestAnimationFrame(trigger);
926
+ } else {
927
+ setTimeout(trigger, 0);
928
+ }
929
+ };
930
+ return function(e){
931
+ clearTimeout(resizeTimer);
932
+ evt = e;
933
+ resizeTimer = setTimeout(timed, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
934
934
  };
935
935
  })(),
936
936
  _create: function(){
@@ -1755,20 +1755,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1755
1755
  }
1756
1756
  });
1757
1757
 
1758
- $(function(){
1759
- var fileReaderReady = ('FileReader' in window && 'FormData' in window);
1760
- if(!fileReaderReady){
1761
- webshims.addReady(function(context){
1762
- if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
1763
- if(context.querySelector('input.ws-filereader')){
1764
- webshims.reTest(['filereader', 'moxie']);
1765
- fileReaderReady = true;
1766
- }
1767
- }
1768
- });
1769
- }
1770
- });
1771
-
1772
1758
  if(options.addValidators && options.fastValidators){
1773
1759
  webshims.reTest(['form-validators', 'form-validation']);
1774
1760
  }
@@ -2149,9 +2135,16 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2149
2135
  })();
2150
2136
  }
2151
2137
 
2138
+ if(window.CanvasRenderingContext2D && CanvasRenderingContext2D.prototype){
2139
+ CanvasRenderingContext2D.prototype.wsImageComplete = function(cb){
2140
+ cb.call(this, this);
2141
+ };
2142
+ }
2143
+
2152
2144
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
2153
2145
  var hasSwf = swfmini.hasFlashPlayerVersion('11.3');
2154
2146
  var mediaelement = webshims.mediaelement;
2147
+ var allowYtLoading = false;
2155
2148
 
2156
2149
  mediaelement.parseRtmp = function(data){
2157
2150
  var src = data.src.split('://');
@@ -2247,7 +2240,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2247
2240
  return function(){
2248
2241
  if(loaded || !hasYt){return;}
2249
2242
  loaded = true;
2250
- webshims.loader.loadScript("https://www.youtube.com/player_api");
2243
+ if(allowYtLoading){
2244
+ webshims.loader.loadScript("https://www.youtube.com/player_api");
2245
+ }
2251
2246
  $(function(){
2252
2247
  webshims._polyfill(["mediaelement-yt"]);
2253
2248
  });
@@ -2433,6 +2428,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2433
2428
  }
2434
2429
  });
2435
2430
  if(!requested && hasYt && !mediaelement.createSWF){
2431
+ allowYtLoading = true;
2436
2432
  loadYt();
2437
2433
  }
2438
2434
  };
@@ -2597,6 +2593,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2597
2593
  .add(insertedElement.filter('video, audio'))
2598
2594
  .each(function(){
2599
2595
  if(!mediaelement.canNativePlaySrces(this)){
2596
+ allowYtLoading = true;
2600
2597
  loadThird();
2601
2598
  handleMedia = true;
2602
2599
  return false;
@@ -2619,6 +2616,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2619
2616
  mediaelement.loadDebugger();
2620
2617
  });
2621
2618
  }
2619
+
2622
2620
  //set native implementation ready, before swf api is retested
2623
2621
  if(hasNative){
2624
2622
  webshims.isReady('mediaelement-core', true);
@@ -64,11 +64,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
64
64
  webshims.assumeARIA = true;
65
65
 
66
66
  if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
67
- 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");
68
- }
69
-
70
- if('debug' in webshims){
71
- webshims.error('Use webshims.setOptions("debug", true||false||"noCombo"); to debug flag');
67
+ webshims.error("IE browser modes are busted in IE10+. Make sure to run IE in edge mode (X-UA-Compatible). Please test your HTML/CSS/JS with a real IE version or at least IETester or similar tools. ");
72
68
  }
73
69
 
74
70
  if (!webshims.cfg.no$Switch) {
@@ -681,33 +677,37 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
681
677
  }
682
678
  },
683
679
  handler: (function(){
680
+ var evt;
684
681
  var trigger = function(){
685
- $(document).triggerHandler('updateshadowdom');
682
+ $(document).triggerHandler('updateshadowdom', [evt]);
686
683
  };
687
- return function(e){
688
- clearTimeout(resizeTimer);
689
- resizeTimer = setTimeout(function(){
690
- if(e.type == 'resize'){
691
- var width = $window.width();
692
- var height = $window.width();
684
+ var timed = function(){
685
+ if(evt && evt.type == 'resize'){
686
+ var width = $window.width();
687
+ var height = $window.width();
693
688
 
694
- if(height == lastHeight && width == lastWidth){
695
- return;
696
- }
697
- lastHeight = height;
698
- lastWidth = width;
699
-
700
- docObserve.height = docObserve.getHeight();
701
- docObserve.width = docObserve.getWidth();
689
+ if(height == lastHeight && width == lastWidth){
690
+ return;
702
691
  }
692
+ lastHeight = height;
693
+ lastWidth = width;
694
+ }
703
695
 
704
- if(window.requestAnimationFrame){
705
- requestAnimationFrame(trigger);
706
- } else {
707
- setTimeout(trigger, 0);
708
- }
709
-
710
- }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
696
+ if(evt && evt.type != 'docresize'){
697
+ docObserve.height = docObserve.getHeight();
698
+ docObserve.width = docObserve.getWidth();
699
+ }
700
+
701
+ if(window.requestAnimationFrame){
702
+ requestAnimationFrame(trigger);
703
+ } else {
704
+ setTimeout(trigger, 0);
705
+ }
706
+ };
707
+ return function(e){
708
+ clearTimeout(resizeTimer);
709
+ evt = e;
710
+ resizeTimer = setTimeout(timed, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
711
711
  };
712
712
  })(),
713
713
  _create: function(){
@@ -3045,7 +3045,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3045
3045
 
3046
3046
  (function(){
3047
3047
  var picker = {};
3048
- var assumeVirtualKeyBoard = (window.Modernizr && (Modernizr.touchevents || Modernizr.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
3048
+ var modern = window.Modernizr;
3049
+ var assumeVirtualKeyBoard = (modern && (modern.touchevents || modern.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
3049
3050
  webshims.inlinePopover = {
3050
3051
  _create: function(){
3051
3052
  this.element = $('<div class="ws-inline-picker"><div class="ws-po-box" /></div>').data('wspopover', this);
@@ -475,7 +475,8 @@ webshims.register('jmebase', function($, webshims, window, doc, undefined){
475
475
  })();
476
476
  var ios = /iP(hone|od|ad)/i.test(navigator.platform);
477
477
  var ios6 = ios && parseInt(((navigator.appVersion).match(/OS (\d+)_\d+/) || ['','8'])[1], 10) < 7;
478
- var hasYtBug = (!window.Modernizr || !Modernizr.videoautoplay) && (ios || /android/i.test(navigator.userAgent));
478
+ var modern = window.Modernizr;
479
+ var hasYtBug = (!modern || !modern.videoautoplay) && (ios || /android/i.test(navigator.userAgent));
479
480
  var loadLazy = function(){
480
481
  if(!loadLazy.loaded){
481
482
  loadLazy.loaded = true;
@@ -596,7 +597,8 @@ webshims.register('jmebase', function($, webshims, window, doc, undefined){
596
597
  if(!e){
597
598
  e.type = 'playing';
598
599
  }
599
- if(isInitial && (!isYt || !hasYtBug || e.type == 'playing' || data.media.prop('readyState') > 1)){
600
+
601
+ if(isInitial && (!isYt || !hasYtBug || e.type == 'playing' || data.media.prop('readyState') || data.media.prop('networkState'))){
600
602
  isInitial = false;
601
603
  data.player.removeClass('initial-state');
602
604
  }
@@ -475,7 +475,8 @@ webshims.register('jmebase', function($, webshims, window, doc, undefined){
475
475
  })();
476
476
  var ios = /iP(hone|od|ad)/i.test(navigator.platform);
477
477
  var ios6 = ios && parseInt(((navigator.appVersion).match(/OS (\d+)_\d+/) || ['','8'])[1], 10) < 7;
478
- var hasYtBug = (!window.Modernizr || !Modernizr.videoautoplay) && (ios || /android/i.test(navigator.userAgent));
478
+ var modern = window.Modernizr;
479
+ var hasYtBug = (!modern || !modern.videoautoplay) && (ios || /android/i.test(navigator.userAgent));
479
480
  var loadLazy = function(){
480
481
  if(!loadLazy.loaded){
481
482
  loadLazy.loaded = true;
@@ -596,7 +597,8 @@ webshims.register('jmebase', function($, webshims, window, doc, undefined){
596
597
  if(!e){
597
598
  e.type = 'playing';
598
599
  }
599
- if(isInitial && (!isYt || !hasYtBug || e.type == 'playing' || data.media.prop('readyState') > 1)){
600
+
601
+ if(isInitial && (!isYt || !hasYtBug || e.type == 'playing' || data.media.prop('readyState') || data.media.prop('networkState'))){
600
602
  isInitial = false;
601
603
  data.player.removeClass('initial-state');
602
604
  }
@@ -64,11 +64,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
64
64
  webshims.assumeARIA = true;
65
65
 
66
66
  if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
67
- 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");
68
- }
69
-
70
- if('debug' in webshims){
71
- webshims.error('Use webshims.setOptions("debug", true||false||"noCombo"); to debug flag');
67
+ webshims.error("IE browser modes are busted in IE10+. Make sure to run IE in edge mode (X-UA-Compatible). Please test your HTML/CSS/JS with a real IE version or at least IETester or similar tools. ");
72
68
  }
73
69
 
74
70
  if (!webshims.cfg.no$Switch) {
@@ -681,33 +677,37 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
681
677
  }
682
678
  },
683
679
  handler: (function(){
680
+ var evt;
684
681
  var trigger = function(){
685
- $(document).triggerHandler('updateshadowdom');
682
+ $(document).triggerHandler('updateshadowdom', [evt]);
686
683
  };
687
- return function(e){
688
- clearTimeout(resizeTimer);
689
- resizeTimer = setTimeout(function(){
690
- if(e.type == 'resize'){
691
- var width = $window.width();
692
- var height = $window.width();
684
+ var timed = function(){
685
+ if(evt && evt.type == 'resize'){
686
+ var width = $window.width();
687
+ var height = $window.width();
693
688
 
694
- if(height == lastHeight && width == lastWidth){
695
- return;
696
- }
697
- lastHeight = height;
698
- lastWidth = width;
699
-
700
- docObserve.height = docObserve.getHeight();
701
- docObserve.width = docObserve.getWidth();
689
+ if(height == lastHeight && width == lastWidth){
690
+ return;
702
691
  }
692
+ lastHeight = height;
693
+ lastWidth = width;
694
+ }
703
695
 
704
- if(window.requestAnimationFrame){
705
- requestAnimationFrame(trigger);
706
- } else {
707
- setTimeout(trigger, 0);
708
- }
709
-
710
- }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
696
+ if(evt && evt.type != 'docresize'){
697
+ docObserve.height = docObserve.getHeight();
698
+ docObserve.width = docObserve.getWidth();
699
+ }
700
+
701
+ if(window.requestAnimationFrame){
702
+ requestAnimationFrame(trigger);
703
+ } else {
704
+ setTimeout(trigger, 0);
705
+ }
706
+ };
707
+ return function(e){
708
+ clearTimeout(resizeTimer);
709
+ evt = e;
710
+ resizeTimer = setTimeout(timed, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
711
711
  };
712
712
  })(),
713
713
  _create: function(){