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
@@ -97,7 +97,6 @@ var isPlaceholderOptionSelected = function(select){
97
97
  };
98
98
 
99
99
  var emptyJ = $([]);
100
- //TODO: cache + perftest
101
100
  var getGroupElements = function(elem){
102
101
  elem = $(elem);
103
102
  var name, form;
@@ -167,7 +166,7 @@ var validityRules = {
167
166
  $.each({tooShort: ['minLength', -1], tooLong: ['maxLength', 1]}, function(name, props){
168
167
  validityRules[name] = function(input, val, cache){
169
168
  //defaultValue is not the same as dirty flag, but very similiar
170
- if(cache.nodeName == 'select' || input.prop('defaultValue') == val){return false;}
169
+ if(!val || cache.nodeName == 'select' || input.prop('defaultValue') == val){return false;}
171
170
 
172
171
  cacheType(cache, input[0]);
173
172
 
@@ -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(){
@@ -1532,20 +1532,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1532
1532
  }
1533
1533
  });
1534
1534
 
1535
- $(function(){
1536
- var fileReaderReady = ('FileReader' in window && 'FormData' in window);
1537
- if(!fileReaderReady){
1538
- webshims.addReady(function(context){
1539
- if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
1540
- if(context.querySelector('input.ws-filereader')){
1541
- webshims.reTest(['filereader', 'moxie']);
1542
- fileReaderReady = true;
1543
- }
1544
- }
1545
- });
1546
- }
1547
- });
1548
-
1549
1535
  if(options.addValidators && options.fastValidators){
1550
1536
  webshims.reTest(['form-validators', 'form-validation']);
1551
1537
  }
@@ -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(){
@@ -1532,20 +1532,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1532
1532
  }
1533
1533
  });
1534
1534
 
1535
- $(function(){
1536
- var fileReaderReady = ('FileReader' in window && 'FormData' in window);
1537
- if(!fileReaderReady){
1538
- webshims.addReady(function(context){
1539
- if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
1540
- if(context.querySelector('input.ws-filereader')){
1541
- webshims.reTest(['filereader', 'moxie']);
1542
- fileReaderReady = true;
1543
- }
1544
- }
1545
- });
1546
- }
1547
- });
1548
-
1549
1535
  if(options.addValidators && options.fastValidators){
1550
1536
  webshims.reTest(['form-validators', 'form-validation']);
1551
1537
  }
@@ -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(){
@@ -1532,20 +1532,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1532
1532
  }
1533
1533
  });
1534
1534
 
1535
- $(function(){
1536
- var fileReaderReady = ('FileReader' in window && 'FormData' in window);
1537
- if(!fileReaderReady){
1538
- webshims.addReady(function(context){
1539
- if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
1540
- if(context.querySelector('input.ws-filereader')){
1541
- webshims.reTest(['filereader', 'moxie']);
1542
- fileReaderReady = true;
1543
- }
1544
- }
1545
- });
1546
- }
1547
- });
1548
-
1549
1535
  if(options.addValidators && options.fastValidators){
1550
1536
  webshims.reTest(['form-validators', 'form-validation']);
1551
1537
  }
@@ -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(){
@@ -1297,8 +1297,12 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1297
1297
  var lastCue = this.cues[this.cues.length-1];
1298
1298
  if(lastCue && lastCue.startTime > cue.startTime){
1299
1299
  webshims.error("cue startTime higher than previous cue's startTime");
1300
+ return;
1300
1301
  }
1301
1302
  }
1303
+ if(cue.startTime >= cue.endTime ){
1304
+ webshim.error('startTime >= endTime of cue: '+ cue.text);
1305
+ }
1302
1306
  if(cue.track && cue.track.removeCue){
1303
1307
  cue.track.removeCue(cue);
1304
1308
  }
@@ -1390,6 +1394,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1390
1394
  for(i = 0, len = added.length; i < len; i++){
1391
1395
  $([trackList]).triggerHandler($.Event({type: 'addtrack', track: added[i]}));
1392
1396
  }
1397
+ //todo: remove
1393
1398
  if(baseData.scriptedTextTracks || removed.length){
1394
1399
  $(this).triggerHandler('updatetrackdisplay');
1395
1400
  }
@@ -1406,7 +1411,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1406
1411
  setTimeout(function(){
1407
1412
  $(track).closest('audio, video').triggerHandler('updatetrackdisplay');
1408
1413
  trackData.isTriggering = false;
1409
- }, 1);
1414
+ }, 9);
1410
1415
  }
1411
1416
  };
1412
1417
  var isDefaultTrack = (function(){
@@ -1599,15 +1604,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1599
1604
  error: error
1600
1605
  });
1601
1606
  };
1602
- if($.ajax && $.ajaxSettings.xhr){
1603
- if(isDisabled){
1604
- setTimeout(createAjax, loadingTracks * 2);
1605
- } else {
1606
- createAjax();
1607
- }
1607
+ if(isDisabled){
1608
+ setTimeout(createAjax, loadingTracks * 2);
1608
1609
  } else {
1609
- webshims.ready('jajax', createAjax);
1610
- webshims.loader.loadList(['jajax']);
1610
+ createAjax();
1611
1611
  }
1612
1612
  } catch(er){
1613
1613
  error();
@@ -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(){