webshims-rails 1.10.6 → 1.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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'))
|