webshims-rails 1.10.6 → 1.10.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +14 -7
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +1 -0
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +153 -155
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +168 -136
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +100 -95
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +100 -95
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +51 -91
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +129 -232
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +228 -326
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +210 -214
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +204 -246
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +210 -214
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +59 -28
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +100 -95
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +210 -214
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +51 -91
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +110 -119
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +6 -0
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +126 -156
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +126 -155
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +104 -151
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +73 -96
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +226 -250
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +226 -250
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +168 -136
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +51 -91
- data/vendor/assets/javascripts/webshims/shims/form-core.js +53 -60
- data/vendor/assets/javascripts/webshims/shims/form-message.js +22 -5
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +87 -30
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +2 -76
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +18 -8
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +100 -95
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +59 -28
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +9 -2
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +29 -14
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +21 -7
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +30 -15
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +6 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
NWI2OGRjYmRhYTU5ZDRhOWZmM2Y3ODlmNzkwYzA0Y2FmOGQ4NWNjOQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTRlODMwMTM0YzNmMzA2YmZlYTIwNDllZWQ2YTgxZWNmYTQ2MjBhMw==
|
7
7
|
!binary "U0hBNTEy":
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YWE1M2U1YmE0YTlhNGRhMDdmM2Y0NWY3MDNiNjljM2YwNzk5NzYyYzUwM2Q3
|
10
|
+
NGQ4NjE2YzNiZDg2NGIyOTdjMTJlMDFlZDQxYzY1ZDAxZjhkYWM5OGI5ZjIz
|
11
|
+
NWQ0ZGY4MDcyMjc2ZGViNjI2NDNkMDE5ODVlYTBiNjlkNzM0ZDc=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YjgyM2U1YzYwMTljNTAxMTE3OGZmNWNjMzg0MjdmYzZjYTMxMTQ2ZjI1NDAx
|
14
|
+
NGY1NjQ1ZTY1ZDJjOGQ1ODM4NTEzZWQ4NmE5MTY1NmI4MTY2ZThlNGYxZDRi
|
15
|
+
YjM1NjgxNzcxMzkzMmE5MzkyNDBmZWVmMzE3OGVlN2JjMDNlZmU=
|
@@ -30,12 +30,12 @@
|
|
30
30
|
}
|
31
31
|
|
32
32
|
var webshims = {
|
33
|
-
version: '1.10.
|
33
|
+
version: '1.10.9',
|
34
34
|
cfg: {
|
35
35
|
useImportantStyles: true,
|
36
36
|
//addCacheBuster: false,
|
37
37
|
waitReady: true,
|
38
|
-
extendNative:
|
38
|
+
extendNative: 1,
|
39
39
|
loadStyles: true,
|
40
40
|
disableShivMethods: true,
|
41
41
|
wspopover: {appendTo: 'body', hideOnBlur: true},
|
@@ -513,7 +513,7 @@
|
|
513
513
|
};
|
514
514
|
|
515
515
|
loadedSrcs.push(src);
|
516
|
-
if(window.require){
|
516
|
+
if(window.require && window.define && window.define.amd){
|
517
517
|
require([src], complete);
|
518
518
|
} else if (window.sssl) {
|
519
519
|
sssl(src, complete);
|
@@ -939,6 +939,7 @@
|
|
939
939
|
//<forms
|
940
940
|
(function(){
|
941
941
|
var formExtend, formOptions, formExtras;
|
942
|
+
var fShim = 'form-shim-extend';
|
942
943
|
var modernizrInputAttrs = Modernizr.input;
|
943
944
|
var modernizrInputTypes = Modernizr.inputtypes;
|
944
945
|
var formvalidation = 'formvalidation';
|
@@ -967,7 +968,7 @@
|
|
967
968
|
bugs.bustedValidity = bustedValidity = !modernizrInputAttrs.list || window.opera || Modernizr.formattribute === false || !Modernizr.fieldsetdisabled || !('value' in document.createElement('progress')) || !('value' in document.createElement('output')) || !($('<input type="date" value="1488-12-11" />')[0].validity || {valid: true}).valid || !('required' in select) || (select.validity || {}).valid;
|
968
969
|
}
|
969
970
|
|
970
|
-
formExtend = Modernizr[formvalidation] && !bustedValidity ? 'form-native-extend' :
|
971
|
+
formExtend = Modernizr[formvalidation] && !bustedValidity ? 'form-native-extend' : fShim;
|
971
972
|
|
972
973
|
}
|
973
974
|
initialFormTest.run = true;
|
@@ -1023,7 +1024,7 @@
|
|
1023
1024
|
c: [6, 5]
|
1024
1025
|
});
|
1025
1026
|
|
1026
|
-
addPolyfill(
|
1027
|
+
addPolyfill(fShim, {
|
1027
1028
|
f: 'forms',
|
1028
1029
|
test: function(){
|
1029
1030
|
return Modernizr[formvalidation] && !bustedValidity;
|
@@ -1046,7 +1047,7 @@
|
|
1046
1047
|
options: formOptions,
|
1047
1048
|
c: [24]
|
1048
1049
|
};
|
1049
|
-
addModule('form-validation', $.extend({d: ['form-message']}, formExtras));
|
1050
|
+
addModule('form-validation', $.extend({d: ['form-message', 'form-core']}, formExtras));
|
1050
1051
|
|
1051
1052
|
addModule('form-validators', $.extend({}, formExtras));
|
1052
1053
|
|
@@ -1069,6 +1070,7 @@
|
|
1069
1070
|
return false;
|
1070
1071
|
}
|
1071
1072
|
});
|
1073
|
+
|
1072
1074
|
return ret;
|
1073
1075
|
},
|
1074
1076
|
methodNames: ['stepUp', 'stepDown'],
|
@@ -1090,8 +1092,13 @@
|
|
1090
1092
|
addPolyfill('form-number-date-ui', {
|
1091
1093
|
f: 'forms-ext',
|
1092
1094
|
test: function(){
|
1095
|
+
var o = this.options;
|
1093
1096
|
initialFormTest();
|
1094
|
-
|
1097
|
+
//input widgets on old on old androids can't be trusted
|
1098
|
+
if(fShim == formExtend && (/Android/i).test(navigator.userAgent)){
|
1099
|
+
o.replaceUI = true;
|
1100
|
+
}
|
1101
|
+
return !o.replaceUI && modules[fNuAPI].test();
|
1095
1102
|
},
|
1096
1103
|
d: ['forms', DOMSUPPORT, fNuAPI, 'range-ui'],
|
1097
1104
|
options: {
|
@@ -2412,4 +2412,5 @@ webshims.register('color-picker', function($, webshims, window, document, undefi
|
|
2412
2412
|
if(options && options._types && $.inArray('color', options._types) == -1){
|
2413
2413
|
webshims.error('[type="color"] used without adding it to the types config.');
|
2414
2414
|
}
|
2415
|
+
document.createElement('img').src = webshims.cfg.basePath +'jpicker/images/Maps.png';
|
2415
2416
|
});
|
@@ -573,12 +573,13 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
573
573
|
$.expr[":"][name] = $.expr.filters[name+"-element"];
|
574
574
|
});
|
575
575
|
|
576
|
-
|
577
|
-
$.expr[":"].focus = function(
|
576
|
+
var pseudoFocus = $.expr[":"].focus;
|
577
|
+
$.expr[":"].focus = function(){
|
578
578
|
try {
|
579
|
-
|
580
|
-
|
581
|
-
|
579
|
+
return pseudoFocus.apply(this, arguments);
|
580
|
+
} catch(e){
|
581
|
+
webshims.error(e);
|
582
|
+
}
|
582
583
|
return false;
|
583
584
|
};
|
584
585
|
|
@@ -593,7 +594,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
593
594
|
});
|
594
595
|
};
|
595
596
|
|
596
|
-
|
597
|
+
var transClass = ('transitionDelay' in document.documentElement.style) ? '' : ' no-transition';
|
597
598
|
webshims.wsPopover = {
|
598
599
|
id: 0,
|
599
600
|
_create: function(){
|
@@ -601,7 +602,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
601
602
|
this.id = webshims.wsPopover.id++;
|
602
603
|
this.eventns = '.wsoverlay' + this.id;
|
603
604
|
this.timers = {};
|
604
|
-
this.element = $('<div class="ws-popover" tabindex="-1"><div class="ws-po-outerbox"><div class="ws-po-arrow"><div class="ws-po-arrowbox" /></div><div class="ws-po-box" /></div></div>');
|
605
|
+
this.element = $('<div class="ws-popover'+transClass+'" tabindex="-1"><div class="ws-po-outerbox"><div class="ws-po-arrow"><div class="ws-po-arrowbox" /></div><div class="ws-po-box" /></div></div>');
|
605
606
|
this.contentElement = $('.ws-po-box', this.element);
|
606
607
|
this.lastElement = $([]);
|
607
608
|
this.bindElement();
|
@@ -640,47 +641,6 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
640
641
|
};
|
641
642
|
|
642
643
|
|
643
|
-
/* extension, but also used to fix native implementation workaround/bugfixes */
|
644
|
-
(function(){
|
645
|
-
var firstEvent,
|
646
|
-
invalids = [],
|
647
|
-
stopSubmitTimer,
|
648
|
-
form
|
649
|
-
;
|
650
|
-
|
651
|
-
$(document).on('invalid', function(e){
|
652
|
-
if(e.wrongWebkitInvalid){return;}
|
653
|
-
var jElm = $(e.target);
|
654
|
-
|
655
|
-
|
656
|
-
if(!firstEvent){
|
657
|
-
//trigger firstinvalid
|
658
|
-
firstEvent = $.Event('firstinvalid');
|
659
|
-
firstEvent.isInvalidUIPrevented = e.isDefaultPrevented;
|
660
|
-
var firstSystemInvalid = $.Event('firstinvalidsystem');
|
661
|
-
$(document).triggerHandler(firstSystemInvalid, {element: e.target, form: e.target.form, isInvalidUIPrevented: e.isDefaultPrevented});
|
662
|
-
jElm.trigger(firstEvent);
|
663
|
-
}
|
664
|
-
|
665
|
-
//if firstinvalid was prevented all invalids will be also prevented
|
666
|
-
if( firstEvent && firstEvent.isDefaultPrevented() ){
|
667
|
-
e.preventDefault();
|
668
|
-
}
|
669
|
-
invalids.push(e.target);
|
670
|
-
e.extraData = 'fix';
|
671
|
-
clearTimeout(stopSubmitTimer);
|
672
|
-
stopSubmitTimer = setTimeout(function(){
|
673
|
-
var lastEvent = {type: 'lastinvalid', cancelable: false, invalidlist: $(invalids)};
|
674
|
-
//reset firstinvalid
|
675
|
-
firstEvent = false;
|
676
|
-
invalids = [];
|
677
|
-
$(e.target).trigger(lastEvent, lastEvent);
|
678
|
-
}, 9);
|
679
|
-
jElm = null;
|
680
|
-
});
|
681
|
-
})();
|
682
|
-
|
683
|
-
|
684
644
|
webshims.getContentValidationMessage = function(elem, validity, key){
|
685
645
|
var message = $(elem).data('errormessage') || elem.getAttribute('x-moz-errormessage') || '';
|
686
646
|
if(key && message[key]){
|
@@ -714,19 +674,13 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
714
674
|
};
|
715
675
|
|
716
676
|
|
717
|
-
|
718
|
-
$(
|
719
|
-
|
720
|
-
|
721
|
-
}
|
722
|
-
});
|
677
|
+
$(document).on('focusin.lazyloadvalidation', function(e){
|
678
|
+
if('form' in e.target && $(e.target).is(':invalid')){
|
679
|
+
lazyLoad();
|
680
|
+
}
|
723
681
|
});
|
724
682
|
webshims.ready('WINDOWLOAD', lazyLoad);
|
725
|
-
|
726
|
-
options.customMessages = true;
|
727
|
-
webshims.reTest('form-message');
|
728
|
-
webshims.error('overrideMessages is deprecated. use customMessages instead.');
|
729
|
-
}
|
683
|
+
|
730
684
|
if(options.replaceValidationUI){
|
731
685
|
webshims.ready('DOM forms', function(){
|
732
686
|
$(document).on('firstinvalid', function(e){
|
@@ -737,8 +691,47 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
737
691
|
});
|
738
692
|
});
|
739
693
|
}
|
740
|
-
|
694
|
+
|
695
|
+
/* extension, but also used to fix native implementation workaround/bugfixes */
|
696
|
+
(function(){
|
697
|
+
var firstEvent,
|
698
|
+
invalids = [],
|
699
|
+
stopSubmitTimer,
|
700
|
+
form
|
701
|
+
;
|
702
|
+
|
703
|
+
$(document).on('invalid', function(e){
|
704
|
+
if(e.wrongWebkitInvalid){return;}
|
705
|
+
var jElm = $(e.target);
|
706
|
+
|
707
|
+
|
708
|
+
if(!firstEvent){
|
709
|
+
//trigger firstinvalid
|
710
|
+
firstEvent = $.Event('firstinvalid');
|
711
|
+
firstEvent.isInvalidUIPrevented = e.isDefaultPrevented;
|
712
|
+
var firstSystemInvalid = $.Event('firstinvalidsystem');
|
713
|
+
$(document).triggerHandler(firstSystemInvalid, {element: e.target, form: e.target.form, isInvalidUIPrevented: e.isDefaultPrevented});
|
714
|
+
jElm.trigger(firstEvent);
|
715
|
+
}
|
741
716
|
|
717
|
+
//if firstinvalid was prevented all invalids will be also prevented
|
718
|
+
if( firstEvent && firstEvent.isDefaultPrevented() ){
|
719
|
+
e.preventDefault();
|
720
|
+
}
|
721
|
+
invalids.push(e.target);
|
722
|
+
e.extraData = 'fix';
|
723
|
+
clearTimeout(stopSubmitTimer);
|
724
|
+
stopSubmitTimer = setTimeout(function(){
|
725
|
+
var lastEvent = {type: 'lastinvalid', cancelable: false, invalidlist: $(invalids)};
|
726
|
+
//reset firstinvalid
|
727
|
+
firstEvent = false;
|
728
|
+
invalids = [];
|
729
|
+
$(e.target).trigger(lastEvent, lastEvent);
|
730
|
+
}, 9);
|
731
|
+
jElm = null;
|
732
|
+
});
|
733
|
+
})();
|
734
|
+
});
|
742
735
|
|
743
736
|
(function($, Modernizr, webshims){
|
744
737
|
"use strict";
|
@@ -774,52 +767,55 @@ webshims.register('form-core', function($, webshims, window, document, undefined
|
|
774
767
|
});
|
775
768
|
webshims.loader.loadList(['mediaelement-native-fix']);
|
776
769
|
}
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
var parent;
|
787
|
-
if(!options.preferFlash &&
|
770
|
+
|
771
|
+
if(!options.preferFlash){
|
772
|
+
var noSwitch = {
|
773
|
+
1: 1,
|
774
|
+
2: 1
|
775
|
+
};
|
776
|
+
var switchOptions = function(e){
|
777
|
+
var media, error, parent;
|
778
|
+
if(!options.preferFlash &&
|
788
779
|
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source:last', parent)[0] == e.target)) &&
|
789
|
-
(media = $(e.target).closest('audio, video')) && !noSwitch[media.prop('error')]
|
780
|
+
(media = $(e.target).closest('audio, video')) && !noSwitch[(error = media.prop('error'))]
|
790
781
|
){
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
setTimeout(function(){
|
796
|
-
if(!options.preferFlash && webshims.mediaelement.createSWF && !media.is('.nonnative-api-active')){
|
797
|
-
options.preferFlash = true;
|
798
|
-
document.removeEventListener('error', switchOptions, true);
|
799
|
-
$('audio, video').each(function(){
|
800
|
-
webshims.mediaelement.selectSource(this);
|
801
|
-
});
|
802
|
-
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
|
803
|
-
}
|
804
|
-
}, 9);
|
805
|
-
});
|
806
|
-
} else{
|
807
|
-
document.removeEventListener('error', switchOptions, true);
|
782
|
+
if(error == null){
|
783
|
+
webshims.warn("There was an unspecified error on a mediaelement");
|
784
|
+
return;
|
785
|
+
|
808
786
|
}
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
787
|
+
$(function(){
|
788
|
+
if(hasSwf && !options.preferFlash){
|
789
|
+
loadSwf();
|
790
|
+
webshims.ready('WINDOWLOAD '+swfType, function(){
|
791
|
+
setTimeout(function(){
|
792
|
+
if(!options.preferFlash && webshims.mediaelement.createSWF && !media.is('.nonnative-api-active')){
|
793
|
+
options.preferFlash = true;
|
794
|
+
document.removeEventListener('error', switchOptions, true);
|
795
|
+
$('audio, video').each(function(){
|
796
|
+
webshims.mediaelement.selectSource(this);
|
797
|
+
});
|
798
|
+
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
|
799
|
+
}
|
800
|
+
}, 9);
|
801
|
+
});
|
802
|
+
} else{
|
803
|
+
document.removeEventListener('error', switchOptions, true);
|
804
|
+
}
|
805
|
+
});
|
806
|
+
}
|
807
|
+
};
|
808
|
+
document.addEventListener('error', switchOptions, true);
|
809
|
+
$('audio, video').each(function(){
|
810
|
+
var error = $.prop(this, 'error');
|
811
|
+
if(error && !noSwitch[error]){
|
812
|
+
switchOptions({target: this});
|
813
|
+
return false;
|
814
|
+
}
|
815
|
+
});
|
816
|
+
}
|
820
817
|
}
|
821
818
|
|
822
|
-
|
823
819
|
if(Modernizr.track && !bugs.track){
|
824
820
|
(function(){
|
825
821
|
|
@@ -1200,63 +1196,14 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1200
1196
|
|
1201
1197
|
});
|
1202
1198
|
|
1203
|
-
|
1204
|
-
if(!supportsLoop){
|
1205
|
-
webshims.defineNodeNamesBooleanProperty(['audio', 'video'], 'loop');
|
1206
|
-
}
|
1207
|
-
|
1208
|
-
['audio', 'video'].forEach(function(nodeName){
|
1209
|
-
var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
1210
|
-
prop: {
|
1211
|
-
value: function(){
|
1212
|
-
var data = webshims.data(this, 'mediaelement');
|
1213
|
-
selectSource(this, data);
|
1214
|
-
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
1215
|
-
supLoad.prop._supvalue.apply(this, arguments);
|
1216
|
-
}
|
1217
|
-
}
|
1218
|
-
}
|
1219
|
-
});
|
1220
|
-
nativeCanPlayType[nodeName] = webshims.defineNodeNameProperty(nodeName, 'canPlayType', {
|
1221
|
-
prop: {
|
1222
|
-
value: function(type){
|
1223
|
-
var ret = '';
|
1224
|
-
if(hasNative && nativeCanPlayType[nodeName].prop._supvalue){
|
1225
|
-
ret = nativeCanPlayType[nodeName].prop._supvalue.call(this, type);
|
1226
|
-
if(ret == 'no'){
|
1227
|
-
ret = '';
|
1228
|
-
}
|
1229
|
-
}
|
1230
|
-
if(!ret && hasSwf){
|
1231
|
-
type = $.trim((type || '').split(';')[0]);
|
1232
|
-
if(mediaelement.swfMimeTypes.indexOf(type) != -1){
|
1233
|
-
ret = 'maybe';
|
1234
|
-
}
|
1235
|
-
}
|
1236
|
-
return ret;
|
1237
|
-
}
|
1238
|
-
}
|
1239
|
-
});
|
1240
|
-
});
|
1241
|
-
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
1242
|
-
set: function(){
|
1243
|
-
var elem = this;
|
1244
|
-
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
1245
|
-
clearTimeout(baseData.loadTimer);
|
1246
|
-
baseData.loadTimer = setTimeout(function(){
|
1247
|
-
selectSource(elem);
|
1248
|
-
elem = null;
|
1249
|
-
}, 9);
|
1250
|
-
}
|
1251
|
-
});
|
1252
|
-
});
|
1253
|
-
|
1199
|
+
var handleMedia = false;
|
1254
1200
|
var initMediaElements = function(){
|
1255
1201
|
var testFixMedia = function(){
|
1256
1202
|
if(webshims.implement(this, 'mediaelement')){
|
1257
1203
|
selectSource(this);
|
1258
1204
|
|
1259
|
-
if
|
1205
|
+
//fixes for FF 12 and IE9/10 || does not hurt, if run in other browsers
|
1206
|
+
if(hasNative && (!supportsLoop || ('ActiveXObject' in window))){
|
1260
1207
|
var bufferTimer;
|
1261
1208
|
var lastBuffered;
|
1262
1209
|
var elem = this;
|
@@ -1285,7 +1232,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1285
1232
|
lastBuffered = getBufferedString();
|
1286
1233
|
}
|
1287
1234
|
clearTimeout(bufferTimer);
|
1288
|
-
bufferTimer = setTimeout(testBuffer,
|
1235
|
+
bufferTimer = setTimeout(testBuffer, 400);
|
1289
1236
|
},
|
1290
1237
|
'emptied stalled mediaerror abort suspend': function(e){
|
1291
1238
|
if(e.type == 'emptied'){
|
@@ -1302,11 +1249,62 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1302
1249
|
}
|
1303
1250
|
|
1304
1251
|
};
|
1305
|
-
|
1252
|
+
|
1306
1253
|
|
1307
1254
|
|
1308
1255
|
webshims.ready('dom-support', function(){
|
1309
1256
|
handleMedia = true;
|
1257
|
+
|
1258
|
+
if(!supportsLoop){
|
1259
|
+
webshims.defineNodeNamesBooleanProperty(['audio', 'video'], 'loop');
|
1260
|
+
}
|
1261
|
+
|
1262
|
+
['audio', 'video'].forEach(function(nodeName){
|
1263
|
+
var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
1264
|
+
prop: {
|
1265
|
+
value: function(){
|
1266
|
+
var data = webshims.data(this, 'mediaelement');
|
1267
|
+
selectSource(this, data);
|
1268
|
+
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
1269
|
+
supLoad.prop._supvalue.apply(this, arguments);
|
1270
|
+
}
|
1271
|
+
}
|
1272
|
+
}
|
1273
|
+
});
|
1274
|
+
nativeCanPlayType[nodeName] = webshims.defineNodeNameProperty(nodeName, 'canPlayType', {
|
1275
|
+
prop: {
|
1276
|
+
value: function(type){
|
1277
|
+
var ret = '';
|
1278
|
+
if(hasNative && nativeCanPlayType[nodeName].prop._supvalue){
|
1279
|
+
ret = nativeCanPlayType[nodeName].prop._supvalue.call(this, type);
|
1280
|
+
if(ret == 'no'){
|
1281
|
+
ret = '';
|
1282
|
+
}
|
1283
|
+
}
|
1284
|
+
if(!ret && hasSwf){
|
1285
|
+
type = $.trim((type || '').split(';')[0]);
|
1286
|
+
if(mediaelement.swfMimeTypes.indexOf(type) != -1){
|
1287
|
+
ret = 'maybe';
|
1288
|
+
}
|
1289
|
+
}
|
1290
|
+
return ret;
|
1291
|
+
}
|
1292
|
+
}
|
1293
|
+
});
|
1294
|
+
});
|
1295
|
+
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
1296
|
+
set: function(){
|
1297
|
+
var elem = this;
|
1298
|
+
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
1299
|
+
clearTimeout(baseData.loadTimer);
|
1300
|
+
baseData.loadTimer = setTimeout(function(){
|
1301
|
+
selectSource(elem);
|
1302
|
+
elem = null;
|
1303
|
+
}, 9);
|
1304
|
+
}
|
1305
|
+
});
|
1306
|
+
|
1307
|
+
|
1310
1308
|
webshims.addReady(function(context, insertedElement){
|
1311
1309
|
var media = $('video, audio', context)
|
1312
1310
|
.add(insertedElement.filter('video, audio'))
|