webshims-rails 1.11.3.1 → 1.11.6

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 +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +114 -104
  4. data/vendor/assets/javascripts/webshims/extras/mousepress.js +5 -5
  5. data/vendor/assets/javascripts/webshims/polyfiller.js +156 -207
  6. data/vendor/assets/javascripts/webshims/shims/$ajax.js +862 -0
  7. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +20 -0
  8. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +20 -0
  9. data/vendor/assets/javascripts/webshims/shims/color-picker.js +12 -12
  10. data/vendor/assets/javascripts/webshims/shims/combos/1.js +62 -32
  11. data/vendor/assets/javascripts/webshims/shims/combos/10.js +192 -509
  12. data/vendor/assets/javascripts/webshims/shims/combos/11.js +96 -415
  13. data/vendor/assets/javascripts/webshims/shims/combos/12.js +36 -26
  14. data/vendor/assets/javascripts/webshims/shims/combos/13.js +36 -26
  15. data/vendor/assets/javascripts/webshims/shims/combos/14.js +1007 -359
  16. data/vendor/assets/javascripts/webshims/shims/combos/15.js +310 -235
  17. data/vendor/assets/javascripts/webshims/shims/combos/16.js +313 -237
  18. data/vendor/assets/javascripts/webshims/shims/combos/17.js +96 -415
  19. data/vendor/assets/javascripts/webshims/shims/combos/18.js +1003 -678
  20. data/vendor/assets/javascripts/webshims/shims/combos/19.js +1085 -387
  21. data/vendor/assets/javascripts/webshims/shims/combos/2.js +161 -127
  22. data/vendor/assets/javascripts/webshims/shims/combos/20.js +1086 -388
  23. data/vendor/assets/javascripts/webshims/shims/combos/21.js +168 -96
  24. data/vendor/assets/javascripts/webshims/shims/combos/22.js +36 -27
  25. data/vendor/assets/javascripts/webshims/shims/combos/23.js +2 -1
  26. data/vendor/assets/javascripts/webshims/shims/combos/24.js +411 -172
  27. data/vendor/assets/javascripts/webshims/shims/combos/25.js +1085 -387
  28. data/vendor/assets/javascripts/webshims/shims/combos/26.js +96 -94
  29. data/vendor/assets/javascripts/webshims/shims/combos/3.js +163 -140
  30. data/vendor/assets/javascripts/webshims/shims/combos/30.js +166 -141
  31. data/vendor/assets/javascripts/webshims/shims/combos/31.js +159 -126
  32. data/vendor/assets/javascripts/webshims/shims/combos/4.js +103 -109
  33. data/vendor/assets/javascripts/webshims/shims/combos/5.js +98 -417
  34. data/vendor/assets/javascripts/webshims/shims/combos/6.js +101 -418
  35. data/vendor/assets/javascripts/webshims/shims/combos/7.js +168 -142
  36. data/vendor/assets/javascripts/webshims/shims/combos/8.js +165 -141
  37. data/vendor/assets/javascripts/webshims/shims/combos/9.js +195 -510
  38. data/vendor/assets/javascripts/webshims/shims/details.js +2 -2
  39. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +96 -94
  40. data/vendor/assets/javascripts/webshims/shims/es5.js +908 -264
  41. data/vendor/assets/javascripts/webshims/shims/excanvas.js +16 -1
  42. data/vendor/assets/javascripts/webshims/shims/form-combat.js +147 -0
  43. data/vendor/assets/javascripts/webshims/shims/form-core.js +60 -31
  44. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +114 -33
  45. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +3 -1
  46. data/vendor/assets/javascripts/webshims/shims/form-message.js +7 -15
  47. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +2 -2
  48. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +88 -410
  49. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +143 -93
  50. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +268 -79
  51. data/vendor/assets/javascripts/webshims/shims/form-validation.js +116 -81
  52. data/vendor/assets/javascripts/webshims/shims/form-validators.js +23 -10
  53. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +605 -9
  54. data/vendor/assets/javascripts/webshims/shims/geolocation.js +51 -39
  55. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +78 -33
  56. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +24 -6
  57. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +110 -49
  58. data/vendor/assets/javascripts/webshims/shims/json-storage.js +3 -1
  59. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +2 -1
  60. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +81 -30
  61. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +131 -54
  62. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +497 -0
  63. data/vendor/assets/javascripts/webshims/shims/range-ui.js +8 -5
  64. data/vendor/assets/javascripts/webshims/shims/sizzle.js +2026 -0
  65. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +401 -521
  66. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +1 -1
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +94 -82
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +250 -321
  69. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +1 -1
  71. data/vendor/assets/javascripts/webshims/shims/track.js +34 -25
  72. metadata +7 -3
@@ -5,6 +5,10 @@
5
5
  * Copyright (c) 2009-2011 FlashCanvas Project
6
6
  * Released under the MIT/X License
7
7
  */
8
+ window.FlashCanvasOptions = window.FlashCanvasOptions || {};
9
+ webshims.$.extend(FlashCanvasOptions, {
10
+ swfPath: webshims.cfg.basePath + 'FlashCanvas/'
11
+ });
8
12
  window.ActiveXObject&&!window.CanvasRenderingContext2D&&function(h,j){function D(a){this.code=a;this.message=T[a]}function U(a){this.width=a}function E(a){this.id=a.C++}function t(a){this.G=a;this.id=a.C++}function u(a,b){this.canvas=a;this.B=b;this.d=a.uniqueID;this.D();this.C=0;this.t="";var c=this;setInterval(function(){n[c.d]===0&&c.e()},30)}function A(){if(j.readyState==="complete"){j.detachEvent(F,A);for(var a=j.getElementsByTagName(r),b=0,c=a.length;b<c;++b)B.initElement(a[b])}}function G(){var a=
9
13
  event.srcElement,b=a.parentNode;a.blur();b.focus()}function H(){var a=event.propertyName;if(a==="width"||a==="height"){var b=event.srcElement,c=b[a],d=parseInt(c,10);if(isNaN(d)||d<0)d=a==="width"?300:150;if(c===d){b.style[a]=d+"px";b.getContext("2d").I(b.width,b.height)}else b[a]=d}}function I(){h.detachEvent(J,I);for(var a in s){var b=s[a],c=b.firstChild,d;for(d in c)if(typeof c[d]==="function")c[d]=k;for(d in b)if(typeof b[d]==="function")b[d]=k;c.detachEvent(K,G);b.detachEvent(L,H)}h[M]=k;h[N]=
10
14
  k;h[O]=k;h[C]=k;h[P]=k}function V(){var a=j.getElementsByTagName("script");a=a[a.length-1];return j.documentMode>=8?a.src:a.getAttribute("src",4)}function v(a){return(""+a).replace(/&/g,"&amp;").replace(/</g,"&lt;")}function W(a){return a.toLowerCase()}function i(a){throw new D(a);}function Q(a){var b=parseInt(a.width,10),c=parseInt(a.height,10);if(isNaN(b)||b<0)b=300;if(isNaN(c)||c<0)c=150;a.width=b;a.height=c}var k=null,r="canvas",M="CanvasRenderingContext2D",N="CanvasGradient",O="CanvasPattern",
@@ -26,3 +30,19 @@ this.f=1;this.globalCompositeOperation=this.g="source-over";this.fillStyle=this.
26
30
  s[b]=a;var d=a.firstChild;y[b]=a.lastChild;var f=j.body.contains;if(f(a))d.movie=w;else var g=setInterval(function(){if(f(a)){clearInterval(g);d.movie=w}},0);if(j.compatMode==="BackCompat"||!h.XMLHttpRequest)y[b].style.overflow="hidden";var o=new u(a,d);a.getContext=function(l){return l==="2d"?o:k};a.toDataURL=function(l,z){(""+l).replace(/[A-Z]+/g,W)==="image/jpeg"?o.a.push(e.toDataURL,l,typeof z==="number"?z:""):o.a.push(e.toDataURL,l);return o.e()};d.attachEvent(K,G);return a},saveImage:function(a){a.firstChild.saveImage()},
27
31
  setOptions:function(){},trigger:function(a,b){s[a].fireEvent("on"+b)},unlock:function(a,b){n[a]&&--n[a];if(b){var c=s[a],d=c.firstChild,f,g;Q(c);f=c.width;g=c.height;c.style.width=f+"px";c.style.height=g+"px";if(f>0)d.width=f;if(g>0)d.height=g;d.resize(f,g);c.attachEvent(L,H);x[a]=true}}};j.createElement(r);j.createStyleSheet().cssText=r+"{display:inline-block;overflow:hidden;width:300px;height:150px}";j.readyState==="complete"?A():j.attachEvent(F,A);h.attachEvent(J,I);if(w.indexOf(location.protocol+
28
32
  "//"+location.host+"/")===0){var S=new ActiveXObject("Microsoft.XMLHTTP");S.open("GET",w,false);S.send(k)}h[M]=u;h[N]=t;h[O]=E;h[C]=B;h[P]={init:function(){},init_:function(){},initElement:B.initElement};keep=u.measureText}(window,document);
33
+ (function(document){
34
+ webshims.addReady(function(context, elem){
35
+ if(context == document){
36
+ if(window.G_vmlCanvasManager && G_vmlCanvasManager.init_ ){
37
+ G_vmlCanvasManager.init_(document);
38
+ }
39
+ }
40
+ webshims.$('canvas', context).add(elem.filter('canvas')).each(function(){
41
+ var hasContext = this.getContext;
42
+ if(!hasContext && window.G_vmlCanvasManager){
43
+ G_vmlCanvasManager.initElement(this);
44
+ }
45
+ });
46
+ });
47
+ webshims.isReady('canvas', true);
48
+ })(document);
@@ -4,6 +4,10 @@
4
4
  * Copyright (c) 2009 Tim Cameron Ryan
5
5
  * Copyright (c) 2009-2011 Shinya Muramatsu
6
6
  */
7
+ window.FlashCanvasOptions = window.FlashCanvasOptions || {};
8
+ webshims.$.extend(FlashCanvasOptions, {
9
+ swfPath: webshims.cfg.basePath + 'FlashCanvasPro/'
10
+ });
7
11
  window.ActiveXObject&&!window.CanvasRenderingContext2D&&function(j,m){function O(a){this.code=a;this.message=ea[a]}function y(a,b,c){if(!c){c=[];for(var d=0,e=a*b*4;d<e;++d)c[d]=0}this.width=a;this.height=b;this.data=c}function fa(a){this.width=a}function P(a){this.id=a.I++}function z(a){this.O=a;this.id=a.I++}function D(a,b){this.canvas=a;this.w=b;this.f=a.uniqueID;this.J();this.I=0;this.j=this.H="";this.c=0}function E(){if(m.readyState==="complete"){m.detachEvent(Q,E);for(var a=m.getElementsByTagName(u),
8
12
  b=0,c=a.length;b<c;++b)F.initElement(a[b])}}function R(){var a=event.srcElement,b=a.parentNode;a.blur();b.focus()}function G(){event.button&2&&event.srcElement.parentNode.setCapture()}function H(){event.button&2&&event.srcElement.parentNode.releaseCapture()}function S(){var a=event.propertyName;if(a==="width"||a==="height"){var b=event.srcElement,c=b[a],d=parseInt(c,10);if(isNaN(d)||d<0)d=a==="width"?300:150;if(c===d){b.style[a]=d+"px";b.getContext("2d").P(b.width,b.height)}else b[a]=d}}function T(){j.detachEvent(U,
9
13
  T);for(var a in n){var b=n[a],c=b.firstChild,d;for(d in c)if(typeof c[d]==="function")c[d]=k;for(d in b)if(typeof b[d]==="function")b[d]=k;c.detachEvent(V,R);c.detachEvent(I,G);b.detachEvent(J,H);b.detachEvent(W,S)}j[X]=k;j[Y]=k;j[Z]=k;j[K]=k;j[$]=k}function ga(){var a=m.getElementsByTagName("script");a=a[a.length-1];return m.documentMode>=8?a.src:a.getAttribute("src",4)}function ha(a){return a.toLowerCase()}function g(a){throw new O(a);}function aa(a){var b=parseInt(a.width,10),c=parseInt(a.height,
@@ -29,3 +33,19 @@ n[b]=a;var d=a.firstChild;C[b]=a.lastChild;var e=m.body.contains;if(e(a))d.movie
29
33
  R);if(l.M){d.attachEvent(I,G);a.attachEvent(J,H)}l.D&&h.a.push("4","usePolicyFile",l.D);return a},saveImage:function(a){a.firstChild.saveImage()},setOptions:function(a){for(var b in a){var c=a[b];switch(b){case "turbo":l.C=c;break;case "delay":l.B=c;break;case "disableContextMenu":var d=l.M=c;c=void 0;for(c in n){var e=n[c],f=d?"attachEvent":"detachEvent";e.firstChild[f](I,G);e[f](J,H)}break;case "imageCacheSize":l.N=c;break;case "usePolicyFile":d=b;c=l.D=c?1:0;e=void 0;for(e in n){f=n[e].getContext("2d");
30
34
  f.h.push(f.a.length+2);f.a.push("4",d,c)}}}},trigger:function(a,b){n[a].fireEvent("on"+b)},unlock:function(a,b){v[a]&&--v[a];if(b){var c=n[a],d=c.firstChild,e,f;aa(c);e=c.width;f=c.height;c.style.width=e+"px";c.style.height=f+"px";if(e>0)d.width=e;if(f>0)d.height=f;d.resize(e,f);c.attachEvent(W,S);A[a]=1}}};m.createElement(u);m.createStyleSheet().cssText=u+"{display:inline-block;overflow:hidden;width:300px;height:150px}";m.readyState==="complete"?E():m.attachEvent(Q,E);j.attachEvent(U,T);if(x.indexOf(location.protocol+
31
35
  "//"+location.host+"/")===0){q=new ActiveXObject("Microsoft.XMLHTTP");q.open("GET",x,false);q.send(k)}j[X]=D;j[Y]=z;j[Z]=P;j[K]=F;j[$]={init:function(){},init_:function(){},initElement:F.initElement}}(window,document);
36
+ (function(document){
37
+ webshims.addReady(function(context, elem){
38
+ if(context == document){
39
+ if(window.G_vmlCanvasManager && G_vmlCanvasManager.init_ ){
40
+ G_vmlCanvasManager.init_(document);
41
+ }
42
+ }
43
+ webshims.$('canvas', context).add(elem.filter('canvas')).each(function(){
44
+ var hasContext = this.getContext;
45
+ if(!hasContext && window.G_vmlCanvasManager){
46
+ G_vmlCanvasManager.initElement(this);
47
+ }
48
+ });
49
+ });
50
+ webshims.isReady('canvas', true);
51
+ })(document);
@@ -84,7 +84,7 @@
84
84
  mouseUp = // unbind the document events - they aren't needed when not dragging
85
85
 
86
86
  function (e) {
87
- $(document).unbind('mouseup', mouseUp).unbind('mousemove', mouseMove);
87
+ $(document).off('mouseup', mouseUp).off('mousemove', mouseMove);
88
88
  e.stopPropagation();
89
89
  e.preventDefault();
90
90
  return false;
@@ -293,8 +293,8 @@
293
293
  },
294
294
  destroy = function () {
295
295
  // unbind all possible events and null objects
296
- $(document).unbind('mouseup', mouseUp).unbind('mousemove', mouseMove);
297
- bar.unbind('mousedown', mouseDown);
296
+ $(document).off('mouseup', mouseUp).off('mousemove', mouseMove);
297
+ bar.off('mousedown', mouseDown);
298
298
  bar = null;
299
299
  arrow = null;
300
300
  changeEvents = null;
@@ -550,9 +550,9 @@
550
550
  },
551
551
  destroy = function () {
552
552
  // unbind all events and null objects
553
- red.add(green).add(blue).add(alpha).add(hue).add(saturation).add(value).add(hex).add(bindedHex).add(ahex).unbind('keyup', keyUp).unbind('blur', blur);
554
- red.add(green).add(blue).add(alpha).add(hue).add(saturation).add(value).unbind('keydown', keyDown);
555
- color.unbind(colorChanged);
553
+ red.add(green).add(blue).add(alpha).add(hue).add(saturation).add(value).add(hex).add(bindedHex).add(ahex).off('keyup', keyUp).off('blur', blur);
554
+ red.add(green).add(blue).add(alpha).add(hue).add(saturation).add(value).off('keydown', keyDown);
555
+ color.off(colorChanged);
556
556
  red = null;
557
557
  green = null;
558
558
  blue = null;
@@ -1623,7 +1623,7 @@
1623
1623
  return false;
1624
1624
  },
1625
1625
  documentMouseUp = function (e) {
1626
- $(document).unbind('mousemove', documentMouseMove).unbind('mouseup', documentMouseUp);
1626
+ $(document).off('mousemove', documentMouseMove).off('mouseup', documentMouseUp);
1627
1627
 
1628
1628
  return false;
1629
1629
  },
@@ -1751,11 +1751,11 @@
1751
1751
  },
1752
1752
  destroy = function () {
1753
1753
  var elemData = $.data($this, 'wsjPicker') || $this;
1754
- container.find('td.Radio input').unbind('click', radioClicked);
1755
- currentPreview.unbind('click', currentClicked);
1756
- cancelButton.unbind('click', cancelClicked);
1757
- okButton.unbind('click', okClicked);
1758
- container.find('.QuickColor').unbind('click', quickPickClicked);
1754
+ container.find('td.Radio input').off('click', radioClicked);
1755
+ currentPreview.off('click', currentClicked);
1756
+ cancelButton.off('click', cancelClicked);
1757
+ okButton.off('click', okClicked);
1758
+ container.find('.QuickColor').off('click', quickPickClicked);
1759
1759
  colorMapDiv = null;
1760
1760
  colorBarDiv = null;
1761
1761
  colorMapL1 = null;
@@ -513,39 +513,65 @@ webshims.register('form-core', function($, webshims, window, document, undefined
513
513
  return ret;
514
514
  };
515
515
 
516
- $.extend($.expr[":"], {
517
- "valid-element": function(elem){
518
- return rElementsGroup.test(elem.nodeName || '') ? !hasInvalid(elem) :!!($.prop(elem, 'willValidate') && isValid(elem));
519
- },
520
- "invalid-element": function(elem){
521
- return rElementsGroup.test(elem.nodeName || '') ? hasInvalid(elem) : !!($.prop(elem, 'willValidate') && !isValid(elem));
522
- },
523
- "required-element": function(elem){
524
- return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required'));
525
- },
526
- "user-error": function(elem){
527
- return ($.prop(elem, 'willValidate') && $(elem).hasClass('user-error'));
528
- },
529
- "optional-element": function(elem){
530
- return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required') === false);
516
+ var extendSels = function(){
517
+ var exp = $.expr[":"];
518
+ $.extend(exp, {
519
+ "valid-element": function(elem){
520
+ return rElementsGroup.test(elem.nodeName || '') ? !hasInvalid(elem) :!!($.prop(elem, 'willValidate') && isValid(elem));
521
+ },
522
+ "invalid-element": function(elem){
523
+ return rElementsGroup.test(elem.nodeName || '') ? hasInvalid(elem) : !!($.prop(elem, 'willValidate') && !isValid(elem));
524
+ },
525
+ "required-element": function(elem){
526
+ return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required'));
527
+ },
528
+ "user-error": function(elem){
529
+ return ($.prop(elem, 'willValidate') && $(elem).hasClass('user-error'));
530
+ },
531
+ "optional-element": function(elem){
532
+ return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required') === false);
533
+ }
534
+ });
535
+
536
+ ['valid', 'invalid', 'required', 'optional'].forEach(function(name){
537
+ exp[name] = $.expr[":"][name+"-element"];
538
+ });
539
+
540
+ // sizzle/jQuery has a bug with :disabled/:enabled selectors
541
+ if(Modernizr.fieldsetdisabled && !$('<fieldset disabled=""><input /><fieldset>').find('input').is(':disabled')){
542
+ $.extend(exp, {
543
+ "enabled": function( elem ) {
544
+ return elem.disabled === false && !$(elem).is('fieldset[disabled] *');
545
+ },
546
+
547
+ "disabled": function( elem ) {
548
+ return elem.disabled === true || ('disabled' in elem && $(elem).is('fieldset[disabled] *'));
549
+ }
550
+ });
531
551
  }
532
- });
533
-
534
- ['valid', 'invalid', 'required', 'optional'].forEach(function(name){
535
- $.expr[":"][name] = $.expr.filters[name+"-element"];
536
- });
537
-
538
- //bug was partially fixed in 1.10.0 for IE9, but not IE8 (move to es5 as soon as 1.10.2 is used)
539
- var pseudoFocus = $.expr[":"].focus;
540
- $.expr[":"].focus = function(){
541
- try {
542
- return pseudoFocus.apply(this, arguments);
543
- } catch(e){
544
- webshims.error(e);
552
+
553
+
554
+ //bug was partially fixed in 1.10.0 for IE9, but not IE8 (move to es5 as soon as 1.10.2 is used)
555
+ if(typeof document.activeElement == 'unknown'){
556
+ var pseudoFocus = exp.focus;
557
+ exp.focus = function(){
558
+ try {
559
+ return pseudoFocus.apply(this, arguments);
560
+ } catch(e){
561
+ webshims.error(e);
562
+ }
563
+ return false;
564
+ };
545
565
  }
546
- return false;
547
566
  };
548
567
 
568
+ if($.expr.filters){
569
+ extendSels();
570
+ } else {
571
+ webshims.ready('sizzle', extendSels);
572
+ }
573
+
574
+
549
575
  webshims.triggerInlineForm = function(elem, event){
550
576
  $(elem).trigger(event);
551
577
  };
@@ -613,7 +639,10 @@ webshims.register('form-core', function($, webshims, window, document, undefined
613
639
 
614
640
 
615
641
  webshims.getContentValidationMessage = function(elem, validity, key){
616
- var message = $(elem).data('errormessage') || elem.getAttribute('x-moz-errormessage') || '';
642
+ if(webshims.errorbox && webshims.errorbox.initIvalContentMessage){
643
+ webshims.errorbox.initIvalContentMessage(elem);
644
+ }
645
+ var message = (webshims.getOptions && webshims.errorbox ? webshims.getOptions(elem, 'errormessage') : $(elem).data('errormessage')) || elem.getAttribute('x-moz-errormessage') || '';
617
646
  if(key && message[key]){
618
647
  message = message[key];
619
648
  } else if(message) {
@@ -659,7 +688,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
659
688
 
660
689
 
661
690
  $(document).on('focusin.lazyloadvalidation', function(e){
662
- if('form' in e.target && (e.target.list || $(e.target).is(':invalid'))){
691
+ if('form' in e.target){
663
692
  lazyLoad();
664
693
  }
665
694
  });
@@ -712,7 +741,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
712
741
  var switchOptions = function(e){
713
742
  var media, error, parent;
714
743
  if(!options.preferFlash &&
715
- ($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source:last', parent)[0] == e.target)) &&
744
+ ($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
716
745
  (media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
717
746
  ){
718
747
 
@@ -1220,6 +1249,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
1220
1249
  if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
1221
1250
  supLoad.prop._supvalue.apply(this, arguments);
1222
1251
  }
1252
+ $(this).triggerHandler('wsmediareload');
1223
1253
  }
1224
1254
  }
1225
1255
  });