webshims-rails 1.12.3 → 1.12.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +75 -31
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +14 -14
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +83 -459
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +92 -69
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +104 -494
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +66 -228
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +2 -0
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +42 -40
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +105 -494
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +123 -471
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +85 -474
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +85 -205
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +103 -45
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +41 -40
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +63 -454
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +52 -36
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +123 -471
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +2 -15
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +38 -266
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +20 -20
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +24 -20
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +24 -20
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +22 -20
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +4 -15
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +90 -54
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +87 -474
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +87 -474
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +92 -69
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +1724 -0
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +2 -15
- data/vendor/assets/javascripts/webshims/shims/form-core.js +19 -4
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +39 -5
- data/vendor/assets/javascripts/webshims/shims/form-message.js +2 -0
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +69 -37
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +18 -20
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +34 -16
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +12 -9
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +21 -5
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +16 -13
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/jajax.js +1262 -0
- data/vendor/assets/javascripts/webshims/shims/jme/b.js +576 -0
- data/vendor/assets/javascripts/webshims/shims/jme/c.js +1148 -0
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +373 -0
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +711 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +36 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.ttf +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.woff +0 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +16 -18
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +25 -188
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +58 -2
- data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +130 -66
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +21 -17
- data/vendor/assets/javascripts/webshims/shims/sizzle.js +1634 -1613
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +5 -5
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +5 -1
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +13 -9
- data/vendor/assets/javascripts/webshims/shims/swfmini-embed.js +136 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +38 -266
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +1 -3
- data/vendor/assets/javascripts/webshims/shims/track.js +41 -40
- metadata +13 -2
@@ -2062,7 +2062,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2062
2062
|
$.each({ Height: "getHeight", Width: "getWidth" }, function(name, type){
|
2063
2063
|
var body = document.body;
|
2064
2064
|
var doc = document.documentElement;
|
2065
|
-
docObserve[type] = function(){
|
2065
|
+
docObserve[type] = function (){
|
2066
2066
|
return Math.max(
|
2067
2067
|
body[ "scroll" + name ], doc[ "scroll" + name ],
|
2068
2068
|
body[ "offset" + name ], doc[ "offset" + name ],
|
@@ -2077,24 +2077,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2077
2077
|
this._create();
|
2078
2078
|
this.height = docObserve.getHeight();
|
2079
2079
|
this.width = docObserve.getWidth();
|
2080
|
-
setInterval(this.test,
|
2080
|
+
setInterval(this.test, 999);
|
2081
2081
|
$(this.test);
|
2082
2082
|
webshims.ready('WINDOWLOAD', this.test);
|
2083
2083
|
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
|
2084
2084
|
$(window).on('resize', this.handler);
|
2085
|
-
(function(){
|
2086
|
-
var oldAnimate = $.fn.animate;
|
2087
|
-
var animationTimer;
|
2088
|
-
|
2089
|
-
$.fn.animate = function(){
|
2090
|
-
clearTimeout(animationTimer);
|
2091
|
-
animationTimer = setTimeout(function(){
|
2092
|
-
docObserve.test();
|
2093
|
-
}, 99);
|
2094
|
-
|
2095
|
-
return oldAnimate.apply(this, arguments);
|
2096
|
-
};
|
2097
|
-
})();
|
2098
2085
|
}
|
2099
2086
|
}
|
2100
2087
|
};
|
@@ -2591,7 +2578,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2591
2578
|
});
|
2592
2579
|
;(function(Modernizr, webshims){
|
2593
2580
|
"use strict";
|
2594
|
-
var $ = webshims.$;
|
2595
2581
|
var hasNative = Modernizr.audio && Modernizr.video;
|
2596
2582
|
var supportsLoop = false;
|
2597
2583
|
var bugs = webshims.bugs;
|
@@ -2604,6 +2590,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2604
2590
|
}
|
2605
2591
|
});
|
2606
2592
|
};
|
2593
|
+
|
2607
2594
|
var wsCfg = webshims.cfg;
|
2608
2595
|
var options = wsCfg.mediaelement;
|
2609
2596
|
var hasFullTrackSupport;
|
@@ -2612,74 +2599,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2612
2599
|
webshims.error("mediaelement wasn't implemented but loaded");
|
2613
2600
|
return;
|
2614
2601
|
}
|
2602
|
+
|
2615
2603
|
if(hasNative){
|
2616
2604
|
var videoElem = document.createElement('video');
|
2617
2605
|
Modernizr.videoBuffered = ('buffered' in videoElem);
|
2618
2606
|
Modernizr.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
2619
2607
|
supportsLoop = ('loop' in videoElem);
|
2620
|
-
|
2608
|
+
Modernizr.mediaLoop = supportsLoop;
|
2609
|
+
|
2621
2610
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
2622
2611
|
|
2623
|
-
if(!Modernizr.videoBuffered ){
|
2612
|
+
if( !Modernizr.videoBuffered || !supportsLoop || (!Modernizr.mediaDefaultMuted && navigator.userAgent.indexOf('MSIE') != -1 && 'ActiveXObject' in window) ){
|
2624
2613
|
webshims.addPolyfill('mediaelement-native-fix', {
|
2625
2614
|
d: ['dom-support']
|
2626
2615
|
});
|
2627
2616
|
webshims.loader.loadList(['mediaelement-native-fix']);
|
2628
2617
|
}
|
2629
|
-
|
2630
|
-
if(!options.preferFlash){
|
2631
|
-
var noSwitch = {
|
2632
|
-
1: 1
|
2633
|
-
};
|
2634
|
-
var switchOptions = function(e){
|
2635
|
-
var media, error, parent;
|
2636
|
-
if(!options.preferFlash &&
|
2637
|
-
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
|
2638
|
-
(media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
|
2639
|
-
){
|
2640
|
-
|
2641
|
-
$(function(){
|
2642
|
-
if(hasSwf && !options.preferFlash){
|
2643
|
-
loadSwf();
|
2644
|
-
webshims.ready('WINDOWLOAD '+swfType, function(){
|
2645
|
-
setTimeout(function(){
|
2646
|
-
if(!options.preferFlash && webshims.mediaelement.createSWF && !media.is('.nonnative-api-active')){
|
2647
|
-
options.preferFlash = true;
|
2648
|
-
document.removeEventListener('error', switchOptions, true);
|
2649
|
-
$('audio, video').each(function(){
|
2650
|
-
webshims.mediaelement.selectSource(this);
|
2651
|
-
});
|
2652
|
-
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error')+ 'first error: '+ error);
|
2653
|
-
}
|
2654
|
-
}, 9);
|
2655
|
-
});
|
2656
|
-
} else{
|
2657
|
-
document.removeEventListener('error', switchOptions, true);
|
2658
|
-
}
|
2659
|
-
});
|
2660
|
-
}
|
2661
|
-
};
|
2662
|
-
document.addEventListener('error', switchOptions, true);
|
2663
|
-
$('audio, video').each(function(){
|
2664
|
-
var error = $.prop(this, 'error');
|
2665
|
-
if(error && !noSwitch[error]){
|
2666
|
-
switchOptions({target: this});
|
2667
|
-
return false;
|
2668
|
-
}
|
2669
|
-
});
|
2670
|
-
}
|
2671
2618
|
}
|
2672
2619
|
|
2673
2620
|
if(Modernizr.track && !bugs.track){
|
2674
2621
|
(function(){
|
2675
|
-
|
2676
|
-
if(!bugs.track){
|
2677
|
-
bugs.track = typeof $('<track />')[0].readyState != 'number';
|
2678
|
-
}
|
2679
|
-
|
2680
2622
|
if(!bugs.track){
|
2623
|
+
|
2624
|
+
if(window.VTTCue && !window.TextTrackCue){
|
2625
|
+
window.TextTrackCue = window.VTTCue;
|
2626
|
+
} else if(!window.VTTCue){
|
2627
|
+
window.VTTCue = window.TextTrackCue;
|
2628
|
+
}
|
2629
|
+
|
2681
2630
|
try {
|
2682
|
-
new
|
2631
|
+
new VTTCue(2, 3, '');
|
2683
2632
|
} catch(e){
|
2684
2633
|
bugs.track = true;
|
2685
2634
|
}
|
@@ -2715,6 +2664,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2715
2664
|
}
|
2716
2665
|
data.streamId = data.streamId.join('/');
|
2717
2666
|
};
|
2667
|
+
|
2718
2668
|
var getSrcObj = function(elem, nodeName){
|
2719
2669
|
elem = $(elem);
|
2720
2670
|
var src = {src: elem.attr('src') || '', elem: elem, srcProp: elem.prop('src')};
|
@@ -2784,14 +2734,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2784
2734
|
});
|
2785
2735
|
}
|
2786
2736
|
};
|
2787
|
-
|
2788
|
-
// if(!loadMediaGroup.loaded){
|
2789
|
-
// loadMediaGroup.loaded = true;
|
2790
|
-
// webshims.ready(window.MediaController ? 'WINDOWLOAD' : 'DOM', function(){
|
2791
|
-
// webshims.loader.loadList(['mediagroup']);
|
2792
|
-
// });
|
2793
|
-
// }
|
2794
|
-
// };
|
2737
|
+
|
2795
2738
|
var loadYt = (function(){
|
2796
2739
|
var loaded;
|
2797
2740
|
return function(){
|
@@ -2816,10 +2759,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2816
2759
|
d: ['dom-support']
|
2817
2760
|
});
|
2818
2761
|
|
2819
|
-
|
2820
|
-
// webshims.addModule('mediagroup', {
|
2821
|
-
// d: ['mediaelement', 'dom-support']
|
2822
|
-
// });
|
2762
|
+
|
2823
2763
|
|
2824
2764
|
mediaelement.mimeTypes = {
|
2825
2765
|
audio: {
|
@@ -2853,7 +2793,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2853
2793
|
|
2854
2794
|
mediaelement.mimeTypes.source = $.extend({}, mediaelement.mimeTypes.audio, mediaelement.mimeTypes.video);
|
2855
2795
|
|
2856
|
-
mediaelement.getTypeForSrc = function(src, nodeName
|
2796
|
+
mediaelement.getTypeForSrc = function(src, nodeName){
|
2857
2797
|
if(src.indexOf('youtube.com/watch?') != -1 || src.indexOf('youtube.com/v/') != -1){
|
2858
2798
|
return 'video/youtube';
|
2859
2799
|
}
|
@@ -2891,32 +2831,13 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2891
2831
|
}
|
2892
2832
|
return srces;
|
2893
2833
|
} else {
|
2894
|
-
|
2895
|
-
if(!$.isArray(srces)){
|
2896
|
-
srces = [srces];
|
2897
|
-
}
|
2898
|
-
srces.forEach(function(src){
|
2899
|
-
if(typeof src == 'string'){
|
2900
|
-
src = {src: src};
|
2901
|
-
}
|
2902
|
-
mediaElem.append($(document.createElement('source')).attr(src));
|
2903
|
-
});
|
2904
|
-
|
2834
|
+
webshims.error('setting sources was removed.');
|
2905
2835
|
}
|
2906
2836
|
};
|
2907
2837
|
|
2908
2838
|
|
2909
|
-
$.fn.loadMediaSrc = function(
|
2910
|
-
|
2911
|
-
if(poster !== undefined){
|
2912
|
-
$(this).removeAttr('poster');
|
2913
|
-
if(poster){
|
2914
|
-
$.attr(this, 'poster', poster);
|
2915
|
-
}
|
2916
|
-
}
|
2917
|
-
mediaelement.srces(this, srces);
|
2918
|
-
$(this).mediaLoad();
|
2919
|
-
});
|
2839
|
+
$.fn.loadMediaSrc = function(){
|
2840
|
+
webshims.error('loadMediaSrc was removed.');
|
2920
2841
|
};
|
2921
2842
|
|
2922
2843
|
mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'video/jarisplayer', 'jarisplayer/jarisplayer', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
|
@@ -2992,8 +2913,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2992
2913
|
var readyType = hasSwf ? swfType : 'mediaelement-yt';
|
2993
2914
|
return function( mediaElem, ret, data ){
|
2994
2915
|
//readd to ready
|
2995
|
-
|
2996
|
-
|
2916
|
+
|
2997
2917
|
webshims.ready(readyType, function(){
|
2998
2918
|
if(mediaelement.createSWF && $(mediaElem).parent()[0]){
|
2999
2919
|
mediaelement.createSWF( mediaElem, ret, data );
|
@@ -3069,7 +2989,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3069
2989
|
|
3070
2990
|
});
|
3071
2991
|
|
3072
|
-
var handleMedia = false;
|
2992
|
+
var handleMedia = false;
|
3073
2993
|
var initMediaElements = function(){
|
3074
2994
|
var testFixMedia = function(){
|
3075
2995
|
if(webshims.implement(this, 'mediaelement')){
|
@@ -3077,50 +2997,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3077
2997
|
if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
3078
2998
|
$.prop(this, 'muted', true);
|
3079
2999
|
}
|
3080
|
-
//fixes for FF 12 and IE9/10 || does not hurt, if run in other browsers
|
3081
|
-
if(hasNative && (!supportsLoop || ('ActiveXObject' in window))){
|
3082
|
-
var bufferTimer;
|
3083
|
-
var lastBuffered;
|
3084
|
-
var elem = this;
|
3085
|
-
var getBufferedString = function(){
|
3086
|
-
var buffered = $.prop(elem, 'buffered');
|
3087
|
-
if(!buffered){return;}
|
3088
|
-
var bufferString = "";
|
3089
|
-
for(var i = 0, len = buffered.length; i < len;i++){
|
3090
|
-
bufferString += buffered.end(i);
|
3091
|
-
}
|
3092
|
-
return bufferString;
|
3093
|
-
};
|
3094
|
-
var testBuffer = function(){
|
3095
|
-
var buffered = getBufferedString();
|
3096
|
-
if(buffered != lastBuffered){
|
3097
|
-
lastBuffered = buffered;
|
3098
|
-
webshims.info('needed to trigger progress manually');
|
3099
|
-
$(elem).triggerHandler('progress');
|
3100
|
-
}
|
3101
|
-
};
|
3102
|
-
|
3103
|
-
$(this)
|
3104
|
-
.on({
|
3105
|
-
'play loadstart progress': function(e){
|
3106
|
-
if(e.type == 'progress'){
|
3107
|
-
lastBuffered = getBufferedString();
|
3108
|
-
}
|
3109
|
-
clearTimeout(bufferTimer);
|
3110
|
-
bufferTimer = setTimeout(testBuffer, 400);
|
3111
|
-
},
|
3112
|
-
'emptied stalled mediaerror abort suspend': function(e){
|
3113
|
-
if(e.type == 'emptied'){
|
3114
|
-
lastBuffered = false;
|
3115
|
-
}
|
3116
|
-
clearTimeout(bufferTimer);
|
3117
|
-
}
|
3118
|
-
})
|
3119
|
-
;
|
3120
|
-
if('ActiveXObject' in window && $.prop(this, 'paused') && !$.prop(this, 'readyState') && $(this).is('audio[preload="none"][controls]:not([autoplay],.nonnative-api-active)')){
|
3121
|
-
$(this).prop('preload', 'metadata').mediaLoad();
|
3122
|
-
}
|
3123
|
-
}
|
3124
3000
|
}
|
3125
3001
|
|
3126
3002
|
};
|
@@ -3133,7 +3009,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3133
3009
|
}
|
3134
3010
|
|
3135
3011
|
['audio', 'video'].forEach(function(nodeName){
|
3136
|
-
var supLoad
|
3012
|
+
var supLoad;
|
3137
3013
|
supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
3138
3014
|
prop: {
|
3139
3015
|
value: function(){
|
@@ -3166,58 +3042,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3166
3042
|
}
|
3167
3043
|
}
|
3168
3044
|
});
|
3169
|
-
|
3170
|
-
// supController = webshims.defineNodeNameProperty(nodeName, 'controller', {
|
3171
|
-
// prop: {
|
3172
|
-
// get: function(type){
|
3173
|
-
// if(!loadMediaGroup.loaded){
|
3174
|
-
// loadMediaGroup();
|
3175
|
-
// }
|
3176
|
-
// if(mediaelement.controller){
|
3177
|
-
// return mediaelement.controller[nodeName].get.apply(this, arguments);
|
3178
|
-
// }
|
3179
|
-
// return supController.prop._supget && supController.prop._supget.apply(this, arguments);
|
3180
|
-
// },
|
3181
|
-
// set: function(){
|
3182
|
-
// var that = this;
|
3183
|
-
// var args = arguments;
|
3184
|
-
// if(!loadMediaGroup.loaded){
|
3185
|
-
// loadMediaGroup();
|
3186
|
-
// }
|
3187
|
-
// if(mediaelement.controller){
|
3188
|
-
// return mediaelement.controller[nodeName].set.apply(that, args);
|
3189
|
-
// } else {
|
3190
|
-
// webshims.ready('mediagroup', function(){
|
3191
|
-
// mediaelement.controller[nodeName].set.apply(that, args);
|
3192
|
-
// });
|
3193
|
-
// }
|
3194
|
-
// return supController.prop._supset && supController.prop._supset.apply(this, arguments);
|
3195
|
-
// }
|
3196
|
-
// }
|
3197
|
-
// });
|
3198
|
-
|
3199
|
-
// webshims.ready('mediagroup', function(){
|
3200
|
-
// mediaelement.controller[nodeName].sup = supController;
|
3201
|
-
// });
|
3202
3045
|
});
|
3203
|
-
|
3204
|
-
// webshims.onNodeNamesPropertyModify(['audio', 'video'], ['mediaGroup'], {
|
3205
|
-
// set: function(){
|
3206
|
-
// var that = this;
|
3207
|
-
// var args = arguments;
|
3208
|
-
// if(!loadMediaGroup.loaded){
|
3209
|
-
// loadMediaGroup();
|
3210
|
-
// }
|
3211
|
-
// if(mediaelement.mediagroup){
|
3212
|
-
// mediaelement.mediagroup.set.apply(that, args);
|
3213
|
-
// } else {
|
3214
|
-
// webshims.ready('mediagroup', function(){
|
3215
|
-
// mediaelement.mediagroup.set.apply(that, args);
|
3216
|
-
// });
|
3217
|
-
// }
|
3218
|
-
// },
|
3219
|
-
// initAttr: true
|
3220
|
-
// });
|
3046
|
+
|
3221
3047
|
|
3222
3048
|
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
3223
3049
|
set: function(){
|
@@ -3240,9 +3066,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3240
3066
|
if(!loadTrackUi.loaded && $('track', media).length){
|
3241
3067
|
loadTrackUi();
|
3242
3068
|
}
|
3243
|
-
// if(!loadMediaGroup.loaded && this.getAttribute('mediagroup')){
|
3244
|
-
// loadMediaGroup();
|
3245
|
-
// }
|
3246
3069
|
media = null;
|
3247
3070
|
});
|
3248
3071
|
});
|
@@ -3282,6 +3105,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3282
3105
|
}
|
3283
3106
|
webshims.ready('track', loadTrackUi);
|
3284
3107
|
});
|
3108
|
+
|
3285
3109
|
})(Modernizr, webshims);
|
3286
3110
|
;webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
|
3287
3111
|
"use strict";
|
@@ -4369,6 +4193,13 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
4369
4193
|
loadedSwf--;
|
4370
4194
|
try {
|
4371
4195
|
elems[i].api_pause();
|
4196
|
+
if(elems[i].readyState == 4){
|
4197
|
+
for (prop in elems[i]) {
|
4198
|
+
if (typeof elems[i][prop] == "function") {
|
4199
|
+
elems[i][prop] = null;
|
4200
|
+
}
|
4201
|
+
}
|
4202
|
+
}
|
4372
4203
|
} catch(er){}
|
4373
4204
|
}
|
4374
4205
|
}
|
@@ -4432,6 +4263,17 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
4432
4263
|
}
|
4433
4264
|
|
4434
4265
|
}, 'prop');
|
4266
|
+
|
4267
|
+
|
4268
|
+
if(hasFlash){
|
4269
|
+
webshims.ready('WINDOWLOAD', function(){
|
4270
|
+
setTimeout(function(){
|
4271
|
+
if(!loadedSwf){
|
4272
|
+
document.createElement('img').src = playerSwfPath;
|
4273
|
+
}
|
4274
|
+
}, 9);
|
4275
|
+
});
|
4276
|
+
}
|
4435
4277
|
} else if(!('media' in document.createElement('source'))){
|
4436
4278
|
webshims.reflectProperties('source', ['media']);
|
4437
4279
|
}
|
@@ -4490,5 +4332,43 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
4490
4332
|
});
|
4491
4333
|
})();
|
4492
4334
|
}
|
4493
|
-
|
4494
|
-
|
4335
|
+
|
4336
|
+
|
4337
|
+
if(hasNative && hasFlash && !options.preferFlash){
|
4338
|
+
var noSwitch = {
|
4339
|
+
1: 1
|
4340
|
+
};
|
4341
|
+
var switchOptions = function(e){
|
4342
|
+
var media, error, parent;
|
4343
|
+
if(!options.preferFlash &&
|
4344
|
+
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
|
4345
|
+
(media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
|
4346
|
+
){
|
4347
|
+
|
4348
|
+
if(!options.preferFlash){
|
4349
|
+
if(!media.is('.nonnative-api-active')){
|
4350
|
+
options.preferFlash = true;
|
4351
|
+
document.removeEventListener('error', switchOptions, true);
|
4352
|
+
$('audio, video').each(function(){
|
4353
|
+
webshims.mediaelement.selectSource(this);
|
4354
|
+
});
|
4355
|
+
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error')+ 'first error: '+ error);
|
4356
|
+
}
|
4357
|
+
} else{
|
4358
|
+
document.removeEventListener('error', switchOptions, true);
|
4359
|
+
}
|
4360
|
+
}
|
4361
|
+
};
|
4362
|
+
setTimeout(function(){
|
4363
|
+
document.addEventListener('error', switchOptions, true);
|
4364
|
+
$('audio, video').each(function(){
|
4365
|
+
var error = $.prop(this, 'error');
|
4366
|
+
if(error && !noSwitch[error]){
|
4367
|
+
switchOptions({target: this});
|
4368
|
+
return false;
|
4369
|
+
}
|
4370
|
+
});
|
4371
|
+
}, 9);
|
4372
|
+
}
|
4373
|
+
|
4374
|
+
});
|
@@ -128,8 +128,8 @@
|
|
128
128
|
if($.ajax){
|
129
129
|
createAjax();
|
130
130
|
} else {
|
131
|
-
webshims.ready('
|
132
|
-
webshims.loader.loadList(['
|
131
|
+
webshims.ready('jajax', createAjax);
|
132
|
+
webshims.loader.loadList(['jajax']);
|
133
133
|
}
|
134
134
|
clearTimeout(googleTimer);
|
135
135
|
if (!window.google || !window.google.loader) {
|
@@ -174,7 +174,7 @@
|
|
174
174
|
})();
|
175
175
|
|
176
176
|
webshims.ready('WINDOWLOAD', function(){
|
177
|
-
webshims.loader.loadList(['
|
177
|
+
webshims.loader.loadList(['jajax']);
|
178
178
|
});
|
179
179
|
webshims.isReady('geolocation', true);
|
180
180
|
})(webshims.$);
|
@@ -1412,6 +1412,13 @@
|
|
1412
1412
|
loadedSwf--;
|
1413
1413
|
try {
|
1414
1414
|
elems[i].api_pause();
|
1415
|
+
if(elems[i].readyState == 4){
|
1416
|
+
for (prop in elems[i]) {
|
1417
|
+
if (typeof elems[i][prop] == "function") {
|
1418
|
+
elems[i][prop] = null;
|
1419
|
+
}
|
1420
|
+
}
|
1421
|
+
}
|
1415
1422
|
} catch(er){}
|
1416
1423
|
}
|
1417
1424
|
}
|
@@ -1475,6 +1482,17 @@
|
|
1475
1482
|
}
|
1476
1483
|
|
1477
1484
|
}, 'prop');
|
1485
|
+
|
1486
|
+
|
1487
|
+
if(hasFlash){
|
1488
|
+
webshims.ready('WINDOWLOAD', function(){
|
1489
|
+
setTimeout(function(){
|
1490
|
+
if(!loadedSwf){
|
1491
|
+
document.createElement('img').src = playerSwfPath;
|
1492
|
+
}
|
1493
|
+
}, 9);
|
1494
|
+
});
|
1495
|
+
}
|
1478
1496
|
} else if(!('media' in document.createElement('source'))){
|
1479
1497
|
webshims.reflectProperties('source', ['media']);
|
1480
1498
|
}
|
@@ -1533,8 +1551,47 @@
|
|
1533
1551
|
});
|
1534
1552
|
})();
|
1535
1553
|
}
|
1536
|
-
|
1537
|
-
|
1554
|
+
|
1555
|
+
|
1556
|
+
if(hasNative && hasFlash && !options.preferFlash){
|
1557
|
+
var noSwitch = {
|
1558
|
+
1: 1
|
1559
|
+
};
|
1560
|
+
var switchOptions = function(e){
|
1561
|
+
var media, error, parent;
|
1562
|
+
if(!options.preferFlash &&
|
1563
|
+
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
|
1564
|
+
(media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
|
1565
|
+
){
|
1566
|
+
|
1567
|
+
if(!options.preferFlash){
|
1568
|
+
if(!media.is('.nonnative-api-active')){
|
1569
|
+
options.preferFlash = true;
|
1570
|
+
document.removeEventListener('error', switchOptions, true);
|
1571
|
+
$('audio, video').each(function(){
|
1572
|
+
webshims.mediaelement.selectSource(this);
|
1573
|
+
});
|
1574
|
+
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error')+ 'first error: '+ error);
|
1575
|
+
}
|
1576
|
+
} else{
|
1577
|
+
document.removeEventListener('error', switchOptions, true);
|
1578
|
+
}
|
1579
|
+
}
|
1580
|
+
};
|
1581
|
+
setTimeout(function(){
|
1582
|
+
document.addEventListener('error', switchOptions, true);
|
1583
|
+
$('audio, video').each(function(){
|
1584
|
+
var error = $.prop(this, 'error');
|
1585
|
+
if(error && !noSwitch[error]){
|
1586
|
+
switchOptions({target: this});
|
1587
|
+
return false;
|
1588
|
+
}
|
1589
|
+
});
|
1590
|
+
}, 9);
|
1591
|
+
}
|
1592
|
+
|
1593
|
+
});
|
1594
|
+
;webshims.register('track', function($, webshims, window, document, undefined){
|
1538
1595
|
"use strict";
|
1539
1596
|
var mediaelement = webshims.mediaelement;
|
1540
1597
|
var id = new Date().getTime();
|
@@ -1750,9 +1807,9 @@
|
|
1750
1807
|
};
|
1751
1808
|
})();
|
1752
1809
|
var emptyDiv = $('<div />')[0];
|
1753
|
-
|
1810
|
+
function VTTCue(startTime, endTime, text){
|
1754
1811
|
if(arguments.length != 3){
|
1755
|
-
webshims.error("wrong arguments.length for
|
1812
|
+
webshims.error("wrong arguments.length for VTTCue.constructor");
|
1756
1813
|
}
|
1757
1814
|
|
1758
1815
|
this.startTime = startTime;
|
@@ -1761,9 +1818,9 @@
|
|
1761
1818
|
|
1762
1819
|
|
1763
1820
|
createEventTarget(this);
|
1764
|
-
}
|
1821
|
+
}
|
1765
1822
|
|
1766
|
-
|
1823
|
+
VTTCue.prototype = {
|
1767
1824
|
|
1768
1825
|
onenter: null,
|
1769
1826
|
onexit: null,
|
@@ -1805,11 +1862,14 @@
|
|
1805
1862
|
// align: 'middle'
|
1806
1863
|
};
|
1807
1864
|
|
1808
|
-
window.
|
1809
|
-
|
1810
|
-
|
1811
|
-
|
1812
|
-
|
1865
|
+
window.VTTCue = VTTCue;
|
1866
|
+
window.TextTrackCue = function(){
|
1867
|
+
webshims.error("Use VTTCue constructor instead of abstract TextTrackCue constructor.");
|
1868
|
+
VTTCue.apply(this, arguments);
|
1869
|
+
};
|
1870
|
+
|
1871
|
+
window.TextTrackCue.prototype = VTTCue.prototype;
|
1872
|
+
|
1813
1873
|
mediaelement.createCueList = function(){
|
1814
1874
|
return $.extend([], cueListProto);
|
1815
1875
|
};
|
@@ -1854,8 +1914,10 @@
|
|
1854
1914
|
var loadEvents = 'play playing updatetrackdisplay';
|
1855
1915
|
var obj = trackData.track;
|
1856
1916
|
var load = function(){
|
1857
|
-
var error, ajax,
|
1858
|
-
|
1917
|
+
var error, ajax, createAjax;
|
1918
|
+
|
1919
|
+
var src = obj.mode != 'disabled' && ($.attr(track, 'src') && $.prop(track, 'src'));
|
1920
|
+
if(src){
|
1859
1921
|
$(mediaelem).off(loadEvents, load);
|
1860
1922
|
if(!trackData.readyState){
|
1861
1923
|
error = function(){
|
@@ -1893,8 +1955,8 @@
|
|
1893
1955
|
if($.ajax){
|
1894
1956
|
createAjax();
|
1895
1957
|
} else {
|
1896
|
-
webshims.ready('
|
1897
|
-
webshims.loader.loadList(['
|
1958
|
+
webshims.ready('jajax', createAjax);
|
1959
|
+
webshims.loader.loadList(['jajax']);
|
1898
1960
|
}
|
1899
1961
|
} catch(er){
|
1900
1962
|
error();
|
@@ -1991,19 +2053,17 @@ modified for webshims
|
|
1991
2053
|
mediaelement.parseCaptionChunk = (function(){
|
1992
2054
|
// Set up timestamp parsers
|
1993
2055
|
var WebVTTTimestampParser = /^(\d{2})?:?(\d{2}):(\d{2})\.(\d+)\s+\-\-\>\s+(\d{2})?:?(\d{2}):(\d{2})\.(\d+)\s*(.*)/;
|
1994
|
-
var GoogleTimestampParser = /^([\d\.]+)\s+\+([\d\.]+)\s*(.*)/;
|
1995
2056
|
var WebVTTDEFAULTSCueParser = /^(DEFAULTS|DEFAULT)\s+\-\-\>\s+(.*)/g;
|
1996
2057
|
var WebVTTSTYLECueParser = /^(STYLE|STYLES)\s+\-\-\>\s*\n([\s\S]*)/g;
|
1997
2058
|
var WebVTTCOMMENTCueParser = /^(COMMENT|COMMENTS)\s+\-\-\>\s+(.*)/g;
|
1998
2059
|
|
1999
2060
|
return function(subtitleElement,objectCount){
|
2000
|
-
|
2001
|
-
|
2002
|
-
var subtitleParts, timeIn, timeOut, html, timeData, subtitlePartIndex, cueSettings = "", id, specialCueData;
|
2061
|
+
|
2062
|
+
var subtitleParts, timeIn, timeOut, html, timeData, subtitlePartIndex, id, specialCueData;
|
2003
2063
|
var timestampMatch, tmpCue;
|
2004
2064
|
|
2005
2065
|
// WebVTT Special Cue Logic
|
2006
|
-
if (
|
2066
|
+
if (WebVTTDEFAULTSCueParser.exec(subtitleElement)) {
|
2007
2067
|
// cueDefaults = specialCueData.slice(2).join("");
|
2008
2068
|
// cueDefaults = cueDefaults.split(/\s+/g).filter(function(def) { return def && !!def.length; });
|
2009
2069
|
return null;
|
@@ -2080,7 +2140,7 @@ modified for webshims
|
|
2080
2140
|
return previous;
|
2081
2141
|
},compositeCueSettings);
|
2082
2142
|
|
2083
|
-
// Turn back into string like the
|
2143
|
+
// Turn back into string like the VTTCue constructor expects
|
2084
2144
|
cueSettings = "";
|
2085
2145
|
for (var key in compositeCueSettings) {
|
2086
2146
|
if (compositeCueSettings.hasOwnProperty(key)) {
|
@@ -2091,7 +2151,7 @@ modified for webshims
|
|
2091
2151
|
*/
|
2092
2152
|
// The remaining lines are the subtitle payload itself (after removing an ID if present, and the time);
|
2093
2153
|
html = subtitleParts.join("\n");
|
2094
|
-
tmpCue = new
|
2154
|
+
tmpCue = new VTTCue(timeIn, timeOut, html);
|
2095
2155
|
if(id){
|
2096
2156
|
tmpCue.id = id;
|
2097
2157
|
}
|
@@ -2100,10 +2160,10 @@ modified for webshims
|
|
2100
2160
|
})();
|
2101
2161
|
|
2102
2162
|
mediaelement.parseCaptions = function(captionData, track, complete) {
|
2103
|
-
|
2104
|
-
var cue, lazyProcess, regWevVTT;
|
2105
|
-
|
2106
|
-
|
2163
|
+
|
2164
|
+
var cue, lazyProcess, regWevVTT, startDate, isWEBVTT;
|
2165
|
+
|
2166
|
+
mediaelement.createCueList();
|
2107
2167
|
if (captionData) {
|
2108
2168
|
|
2109
2169
|
regWevVTT = /^WEBVTT(\s*FILE)?/ig;
|
@@ -2283,7 +2343,6 @@ modified for webshims
|
|
2283
2343
|
},
|
2284
2344
|
readyState: {
|
2285
2345
|
get: function(){
|
2286
|
-
|
2287
2346
|
return (webshims.data(this, 'trackData') || {readyState: 0}).readyState;
|
2288
2347
|
},
|
2289
2348
|
writeable: false
|
@@ -2348,29 +2407,27 @@ modified for webshims
|
|
2348
2407
|
e.stopImmediatePropagation();
|
2349
2408
|
}
|
2350
2409
|
};
|
2351
|
-
var
|
2410
|
+
var hideNativeTracks = function(){
|
2352
2411
|
if(webshims.implement(this, 'track')){
|
2353
|
-
var shimedTrack = $.prop(this, 'track');
|
2354
|
-
var origTrack = this.track;
|
2355
2412
|
var kind;
|
2356
|
-
var
|
2413
|
+
var origTrack = this.track;
|
2357
2414
|
if(origTrack){
|
2358
|
-
|
2359
|
-
|
2360
|
-
|
2361
|
-
shimedTrack.mode = numericModes[origTrack.mode] || origTrack.mode;
|
2415
|
+
|
2416
|
+
if (!webshims.bugs.track && (origTrack.mode || getNativeReadyState(this, origTrack))) {
|
2417
|
+
$.prop(this, 'track').mode = numericModes[origTrack.mode] || origTrack.mode;
|
2362
2418
|
}
|
2363
2419
|
//disable track from showing + remove UI
|
2364
|
-
|
2365
|
-
|
2366
|
-
|
2367
|
-
|
2368
|
-
}
|
2420
|
+
kind = $.prop(this, 'kind');
|
2421
|
+
origTrack.mode = (typeof origTrack.mode == 'string') ? 'disabled' : 0;
|
2422
|
+
this.kind = 'metadata';
|
2423
|
+
|
2424
|
+
$(this).attr({kind: kind});
|
2369
2425
|
|
2370
2426
|
}
|
2371
2427
|
$(this).on('load error', stopOriginalEvent);
|
2372
2428
|
}
|
2373
2429
|
};
|
2430
|
+
|
2374
2431
|
webshims.addReady(function(context, insertedElement){
|
2375
2432
|
var insertedMedia = insertedElement.filter('video, audio, track').closest('audio, video');
|
2376
2433
|
$('video, audio', context)
|
@@ -2387,10 +2444,11 @@ modified for webshims
|
|
2387
2444
|
webshims.error("textTracks couldn't be copied");
|
2388
2445
|
}
|
2389
2446
|
|
2390
|
-
$('track', this).each(
|
2447
|
+
$('track', this).each(hideNativeTracks);
|
2391
2448
|
}
|
2392
2449
|
})
|
2393
2450
|
;
|
2451
|
+
|
2394
2452
|
insertedMedia.each(function(){
|
2395
2453
|
var media = this;
|
2396
2454
|
var baseData = webshims.data(media, 'mediaelementBase');
|
@@ -2406,4 +2464,4 @@ modified for webshims
|
|
2406
2464
|
if(Modernizr.texttrackapi){
|
2407
2465
|
$('video, audio').trigger('trackapichange');
|
2408
2466
|
}
|
2409
|
-
});
|
2467
|
+
});
|