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
@@ -1,6 +1,5 @@
|
|
1
1
|
(function(Modernizr, webshims){
|
2
2
|
"use strict";
|
3
|
-
var $ = webshims.$;
|
4
3
|
var hasNative = Modernizr.audio && Modernizr.video;
|
5
4
|
var supportsLoop = false;
|
6
5
|
var bugs = webshims.bugs;
|
@@ -13,6 +12,7 @@
|
|
13
12
|
}
|
14
13
|
});
|
15
14
|
};
|
15
|
+
|
16
16
|
var wsCfg = webshims.cfg;
|
17
17
|
var options = wsCfg.mediaelement;
|
18
18
|
var hasFullTrackSupport;
|
@@ -21,74 +21,36 @@
|
|
21
21
|
webshims.error("mediaelement wasn't implemented but loaded");
|
22
22
|
return;
|
23
23
|
}
|
24
|
+
|
24
25
|
if(hasNative){
|
25
26
|
var videoElem = document.createElement('video');
|
26
27
|
Modernizr.videoBuffered = ('buffered' in videoElem);
|
27
28
|
Modernizr.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
28
29
|
supportsLoop = ('loop' in videoElem);
|
29
|
-
|
30
|
+
Modernizr.mediaLoop = supportsLoop;
|
31
|
+
|
30
32
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
31
33
|
|
32
|
-
if(!Modernizr.videoBuffered ){
|
34
|
+
if( !Modernizr.videoBuffered || !supportsLoop || (!Modernizr.mediaDefaultMuted && navigator.userAgent.indexOf('MSIE') != -1 && 'ActiveXObject' in window) ){
|
33
35
|
webshims.addPolyfill('mediaelement-native-fix', {
|
34
36
|
d: ['dom-support']
|
35
37
|
});
|
36
38
|
webshims.loader.loadList(['mediaelement-native-fix']);
|
37
39
|
}
|
38
|
-
|
39
|
-
if(!options.preferFlash){
|
40
|
-
var noSwitch = {
|
41
|
-
1: 1
|
42
|
-
};
|
43
|
-
var switchOptions = function(e){
|
44
|
-
var media, error, parent;
|
45
|
-
if(!options.preferFlash &&
|
46
|
-
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
|
47
|
-
(media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
|
48
|
-
){
|
49
|
-
|
50
|
-
$(function(){
|
51
|
-
if(hasSwf && !options.preferFlash){
|
52
|
-
loadSwf();
|
53
|
-
webshims.ready('WINDOWLOAD '+swfType, function(){
|
54
|
-
setTimeout(function(){
|
55
|
-
if(!options.preferFlash && webshims.mediaelement.createSWF && !media.is('.nonnative-api-active')){
|
56
|
-
options.preferFlash = true;
|
57
|
-
document.removeEventListener('error', switchOptions, true);
|
58
|
-
$('audio, video').each(function(){
|
59
|
-
webshims.mediaelement.selectSource(this);
|
60
|
-
});
|
61
|
-
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error')+ 'first error: '+ error);
|
62
|
-
}
|
63
|
-
}, 9);
|
64
|
-
});
|
65
|
-
} else{
|
66
|
-
document.removeEventListener('error', switchOptions, true);
|
67
|
-
}
|
68
|
-
});
|
69
|
-
}
|
70
|
-
};
|
71
|
-
document.addEventListener('error', switchOptions, true);
|
72
|
-
$('audio, video').each(function(){
|
73
|
-
var error = $.prop(this, 'error');
|
74
|
-
if(error && !noSwitch[error]){
|
75
|
-
switchOptions({target: this});
|
76
|
-
return false;
|
77
|
-
}
|
78
|
-
});
|
79
|
-
}
|
80
40
|
}
|
81
41
|
|
82
42
|
if(Modernizr.track && !bugs.track){
|
83
43
|
(function(){
|
84
|
-
|
85
|
-
if(!bugs.track){
|
86
|
-
bugs.track = typeof $('<track />')[0].readyState != 'number';
|
87
|
-
}
|
88
|
-
|
89
44
|
if(!bugs.track){
|
45
|
+
|
46
|
+
if(window.VTTCue && !window.TextTrackCue){
|
47
|
+
window.TextTrackCue = window.VTTCue;
|
48
|
+
} else if(!window.VTTCue){
|
49
|
+
window.VTTCue = window.TextTrackCue;
|
50
|
+
}
|
51
|
+
|
90
52
|
try {
|
91
|
-
new
|
53
|
+
new VTTCue(2, 3, '');
|
92
54
|
} catch(e){
|
93
55
|
bugs.track = true;
|
94
56
|
}
|
@@ -124,6 +86,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
124
86
|
}
|
125
87
|
data.streamId = data.streamId.join('/');
|
126
88
|
};
|
89
|
+
|
127
90
|
var getSrcObj = function(elem, nodeName){
|
128
91
|
elem = $(elem);
|
129
92
|
var src = {src: elem.attr('src') || '', elem: elem, srcProp: elem.prop('src')};
|
@@ -193,14 +156,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
193
156
|
});
|
194
157
|
}
|
195
158
|
};
|
196
|
-
|
197
|
-
// if(!loadMediaGroup.loaded){
|
198
|
-
// loadMediaGroup.loaded = true;
|
199
|
-
// webshims.ready(window.MediaController ? 'WINDOWLOAD' : 'DOM', function(){
|
200
|
-
// webshims.loader.loadList(['mediagroup']);
|
201
|
-
// });
|
202
|
-
// }
|
203
|
-
// };
|
159
|
+
|
204
160
|
var loadYt = (function(){
|
205
161
|
var loaded;
|
206
162
|
return function(){
|
@@ -225,10 +181,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
225
181
|
d: ['dom-support']
|
226
182
|
});
|
227
183
|
|
228
|
-
|
229
|
-
// webshims.addModule('mediagroup', {
|
230
|
-
// d: ['mediaelement', 'dom-support']
|
231
|
-
// });
|
184
|
+
|
232
185
|
|
233
186
|
mediaelement.mimeTypes = {
|
234
187
|
audio: {
|
@@ -262,7 +215,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
262
215
|
|
263
216
|
mediaelement.mimeTypes.source = $.extend({}, mediaelement.mimeTypes.audio, mediaelement.mimeTypes.video);
|
264
217
|
|
265
|
-
mediaelement.getTypeForSrc = function(src, nodeName
|
218
|
+
mediaelement.getTypeForSrc = function(src, nodeName){
|
266
219
|
if(src.indexOf('youtube.com/watch?') != -1 || src.indexOf('youtube.com/v/') != -1){
|
267
220
|
return 'video/youtube';
|
268
221
|
}
|
@@ -300,32 +253,13 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
300
253
|
}
|
301
254
|
return srces;
|
302
255
|
} else {
|
303
|
-
|
304
|
-
if(!$.isArray(srces)){
|
305
|
-
srces = [srces];
|
306
|
-
}
|
307
|
-
srces.forEach(function(src){
|
308
|
-
if(typeof src == 'string'){
|
309
|
-
src = {src: src};
|
310
|
-
}
|
311
|
-
mediaElem.append($(document.createElement('source')).attr(src));
|
312
|
-
});
|
313
|
-
|
256
|
+
webshims.error('setting sources was removed.');
|
314
257
|
}
|
315
258
|
};
|
316
259
|
|
317
260
|
|
318
|
-
$.fn.loadMediaSrc = function(
|
319
|
-
|
320
|
-
if(poster !== undefined){
|
321
|
-
$(this).removeAttr('poster');
|
322
|
-
if(poster){
|
323
|
-
$.attr(this, 'poster', poster);
|
324
|
-
}
|
325
|
-
}
|
326
|
-
mediaelement.srces(this, srces);
|
327
|
-
$(this).mediaLoad();
|
328
|
-
});
|
261
|
+
$.fn.loadMediaSrc = function(){
|
262
|
+
webshims.error('loadMediaSrc was removed.');
|
329
263
|
};
|
330
264
|
|
331
265
|
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'];
|
@@ -401,8 +335,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
401
335
|
var readyType = hasSwf ? swfType : 'mediaelement-yt';
|
402
336
|
return function( mediaElem, ret, data ){
|
403
337
|
//readd to ready
|
404
|
-
|
405
|
-
|
338
|
+
|
406
339
|
webshims.ready(readyType, function(){
|
407
340
|
if(mediaelement.createSWF && $(mediaElem).parent()[0]){
|
408
341
|
mediaelement.createSWF( mediaElem, ret, data );
|
@@ -478,7 +411,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
478
411
|
|
479
412
|
});
|
480
413
|
|
481
|
-
var handleMedia = false;
|
414
|
+
var handleMedia = false;
|
482
415
|
var initMediaElements = function(){
|
483
416
|
var testFixMedia = function(){
|
484
417
|
if(webshims.implement(this, 'mediaelement')){
|
@@ -486,50 +419,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
486
419
|
if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
487
420
|
$.prop(this, 'muted', true);
|
488
421
|
}
|
489
|
-
//fixes for FF 12 and IE9/10 || does not hurt, if run in other browsers
|
490
|
-
if(hasNative && (!supportsLoop || ('ActiveXObject' in window))){
|
491
|
-
var bufferTimer;
|
492
|
-
var lastBuffered;
|
493
|
-
var elem = this;
|
494
|
-
var getBufferedString = function(){
|
495
|
-
var buffered = $.prop(elem, 'buffered');
|
496
|
-
if(!buffered){return;}
|
497
|
-
var bufferString = "";
|
498
|
-
for(var i = 0, len = buffered.length; i < len;i++){
|
499
|
-
bufferString += buffered.end(i);
|
500
|
-
}
|
501
|
-
return bufferString;
|
502
|
-
};
|
503
|
-
var testBuffer = function(){
|
504
|
-
var buffered = getBufferedString();
|
505
|
-
if(buffered != lastBuffered){
|
506
|
-
lastBuffered = buffered;
|
507
|
-
webshims.info('needed to trigger progress manually');
|
508
|
-
$(elem).triggerHandler('progress');
|
509
|
-
}
|
510
|
-
};
|
511
|
-
|
512
|
-
$(this)
|
513
|
-
.on({
|
514
|
-
'play loadstart progress': function(e){
|
515
|
-
if(e.type == 'progress'){
|
516
|
-
lastBuffered = getBufferedString();
|
517
|
-
}
|
518
|
-
clearTimeout(bufferTimer);
|
519
|
-
bufferTimer = setTimeout(testBuffer, 400);
|
520
|
-
},
|
521
|
-
'emptied stalled mediaerror abort suspend': function(e){
|
522
|
-
if(e.type == 'emptied'){
|
523
|
-
lastBuffered = false;
|
524
|
-
}
|
525
|
-
clearTimeout(bufferTimer);
|
526
|
-
}
|
527
|
-
})
|
528
|
-
;
|
529
|
-
if('ActiveXObject' in window && $.prop(this, 'paused') && !$.prop(this, 'readyState') && $(this).is('audio[preload="none"][controls]:not([autoplay],.nonnative-api-active)')){
|
530
|
-
$(this).prop('preload', 'metadata').mediaLoad();
|
531
|
-
}
|
532
|
-
}
|
533
422
|
}
|
534
423
|
|
535
424
|
};
|
@@ -542,7 +431,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
542
431
|
}
|
543
432
|
|
544
433
|
['audio', 'video'].forEach(function(nodeName){
|
545
|
-
var supLoad
|
434
|
+
var supLoad;
|
546
435
|
supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
547
436
|
prop: {
|
548
437
|
value: function(){
|
@@ -575,58 +464,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
575
464
|
}
|
576
465
|
}
|
577
466
|
});
|
578
|
-
|
579
|
-
// supController = webshims.defineNodeNameProperty(nodeName, 'controller', {
|
580
|
-
// prop: {
|
581
|
-
// get: function(type){
|
582
|
-
// if(!loadMediaGroup.loaded){
|
583
|
-
// loadMediaGroup();
|
584
|
-
// }
|
585
|
-
// if(mediaelement.controller){
|
586
|
-
// return mediaelement.controller[nodeName].get.apply(this, arguments);
|
587
|
-
// }
|
588
|
-
// return supController.prop._supget && supController.prop._supget.apply(this, arguments);
|
589
|
-
// },
|
590
|
-
// set: function(){
|
591
|
-
// var that = this;
|
592
|
-
// var args = arguments;
|
593
|
-
// if(!loadMediaGroup.loaded){
|
594
|
-
// loadMediaGroup();
|
595
|
-
// }
|
596
|
-
// if(mediaelement.controller){
|
597
|
-
// return mediaelement.controller[nodeName].set.apply(that, args);
|
598
|
-
// } else {
|
599
|
-
// webshims.ready('mediagroup', function(){
|
600
|
-
// mediaelement.controller[nodeName].set.apply(that, args);
|
601
|
-
// });
|
602
|
-
// }
|
603
|
-
// return supController.prop._supset && supController.prop._supset.apply(this, arguments);
|
604
|
-
// }
|
605
|
-
// }
|
606
|
-
// });
|
607
|
-
|
608
|
-
// webshims.ready('mediagroup', function(){
|
609
|
-
// mediaelement.controller[nodeName].sup = supController;
|
610
|
-
// });
|
611
467
|
});
|
612
|
-
|
613
|
-
// webshims.onNodeNamesPropertyModify(['audio', 'video'], ['mediaGroup'], {
|
614
|
-
// set: function(){
|
615
|
-
// var that = this;
|
616
|
-
// var args = arguments;
|
617
|
-
// if(!loadMediaGroup.loaded){
|
618
|
-
// loadMediaGroup();
|
619
|
-
// }
|
620
|
-
// if(mediaelement.mediagroup){
|
621
|
-
// mediaelement.mediagroup.set.apply(that, args);
|
622
|
-
// } else {
|
623
|
-
// webshims.ready('mediagroup', function(){
|
624
|
-
// mediaelement.mediagroup.set.apply(that, args);
|
625
|
-
// });
|
626
|
-
// }
|
627
|
-
// },
|
628
|
-
// initAttr: true
|
629
|
-
// });
|
468
|
+
|
630
469
|
|
631
470
|
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
632
471
|
set: function(){
|
@@ -649,9 +488,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
649
488
|
if(!loadTrackUi.loaded && $('track', media).length){
|
650
489
|
loadTrackUi();
|
651
490
|
}
|
652
|
-
// if(!loadMediaGroup.loaded && this.getAttribute('mediagroup')){
|
653
|
-
// loadMediaGroup();
|
654
|
-
// }
|
655
491
|
media = null;
|
656
492
|
});
|
657
493
|
});
|
@@ -691,6 +527,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
691
527
|
}
|
692
528
|
webshims.ready('track', loadTrackUi);
|
693
529
|
});
|
530
|
+
|
694
531
|
})(Modernizr, webshims);
|
695
532
|
;webshims.register('track', function($, webshims, window, document, undefined){
|
696
533
|
"use strict";
|
@@ -908,9 +745,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
908
745
|
};
|
909
746
|
})();
|
910
747
|
var emptyDiv = $('<div />')[0];
|
911
|
-
|
748
|
+
function VTTCue(startTime, endTime, text){
|
912
749
|
if(arguments.length != 3){
|
913
|
-
webshims.error("wrong arguments.length for
|
750
|
+
webshims.error("wrong arguments.length for VTTCue.constructor");
|
914
751
|
}
|
915
752
|
|
916
753
|
this.startTime = startTime;
|
@@ -919,9 +756,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
919
756
|
|
920
757
|
|
921
758
|
createEventTarget(this);
|
922
|
-
}
|
759
|
+
}
|
923
760
|
|
924
|
-
|
761
|
+
VTTCue.prototype = {
|
925
762
|
|
926
763
|
onenter: null,
|
927
764
|
onexit: null,
|
@@ -963,11 +800,14 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
963
800
|
// align: 'middle'
|
964
801
|
};
|
965
802
|
|
966
|
-
window.
|
967
|
-
|
968
|
-
|
969
|
-
|
970
|
-
|
803
|
+
window.VTTCue = VTTCue;
|
804
|
+
window.TextTrackCue = function(){
|
805
|
+
webshims.error("Use VTTCue constructor instead of abstract TextTrackCue constructor.");
|
806
|
+
VTTCue.apply(this, arguments);
|
807
|
+
};
|
808
|
+
|
809
|
+
window.TextTrackCue.prototype = VTTCue.prototype;
|
810
|
+
|
971
811
|
mediaelement.createCueList = function(){
|
972
812
|
return $.extend([], cueListProto);
|
973
813
|
};
|
@@ -1012,8 +852,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1012
852
|
var loadEvents = 'play playing updatetrackdisplay';
|
1013
853
|
var obj = trackData.track;
|
1014
854
|
var load = function(){
|
1015
|
-
var error, ajax,
|
1016
|
-
|
855
|
+
var error, ajax, createAjax;
|
856
|
+
|
857
|
+
var src = obj.mode != 'disabled' && ($.attr(track, 'src') && $.prop(track, 'src'));
|
858
|
+
if(src){
|
1017
859
|
$(mediaelem).off(loadEvents, load);
|
1018
860
|
if(!trackData.readyState){
|
1019
861
|
error = function(){
|
@@ -1051,8 +893,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1051
893
|
if($.ajax){
|
1052
894
|
createAjax();
|
1053
895
|
} else {
|
1054
|
-
webshims.ready('
|
1055
|
-
webshims.loader.loadList(['
|
896
|
+
webshims.ready('jajax', createAjax);
|
897
|
+
webshims.loader.loadList(['jajax']);
|
1056
898
|
}
|
1057
899
|
} catch(er){
|
1058
900
|
error();
|
@@ -1149,19 +991,17 @@ modified for webshims
|
|
1149
991
|
mediaelement.parseCaptionChunk = (function(){
|
1150
992
|
// Set up timestamp parsers
|
1151
993
|
var WebVTTTimestampParser = /^(\d{2})?:?(\d{2}):(\d{2})\.(\d+)\s+\-\-\>\s+(\d{2})?:?(\d{2}):(\d{2})\.(\d+)\s*(.*)/;
|
1152
|
-
var GoogleTimestampParser = /^([\d\.]+)\s+\+([\d\.]+)\s*(.*)/;
|
1153
994
|
var WebVTTDEFAULTSCueParser = /^(DEFAULTS|DEFAULT)\s+\-\-\>\s+(.*)/g;
|
1154
995
|
var WebVTTSTYLECueParser = /^(STYLE|STYLES)\s+\-\-\>\s*\n([\s\S]*)/g;
|
1155
996
|
var WebVTTCOMMENTCueParser = /^(COMMENT|COMMENTS)\s+\-\-\>\s+(.*)/g;
|
1156
997
|
|
1157
998
|
return function(subtitleElement,objectCount){
|
1158
|
-
|
1159
|
-
|
1160
|
-
var subtitleParts, timeIn, timeOut, html, timeData, subtitlePartIndex, cueSettings = "", id, specialCueData;
|
999
|
+
|
1000
|
+
var subtitleParts, timeIn, timeOut, html, timeData, subtitlePartIndex, id, specialCueData;
|
1161
1001
|
var timestampMatch, tmpCue;
|
1162
1002
|
|
1163
1003
|
// WebVTT Special Cue Logic
|
1164
|
-
if (
|
1004
|
+
if (WebVTTDEFAULTSCueParser.exec(subtitleElement)) {
|
1165
1005
|
// cueDefaults = specialCueData.slice(2).join("");
|
1166
1006
|
// cueDefaults = cueDefaults.split(/\s+/g).filter(function(def) { return def && !!def.length; });
|
1167
1007
|
return null;
|
@@ -1238,7 +1078,7 @@ modified for webshims
|
|
1238
1078
|
return previous;
|
1239
1079
|
},compositeCueSettings);
|
1240
1080
|
|
1241
|
-
// Turn back into string like the
|
1081
|
+
// Turn back into string like the VTTCue constructor expects
|
1242
1082
|
cueSettings = "";
|
1243
1083
|
for (var key in compositeCueSettings) {
|
1244
1084
|
if (compositeCueSettings.hasOwnProperty(key)) {
|
@@ -1249,7 +1089,7 @@ modified for webshims
|
|
1249
1089
|
*/
|
1250
1090
|
// The remaining lines are the subtitle payload itself (after removing an ID if present, and the time);
|
1251
1091
|
html = subtitleParts.join("\n");
|
1252
|
-
tmpCue = new
|
1092
|
+
tmpCue = new VTTCue(timeIn, timeOut, html);
|
1253
1093
|
if(id){
|
1254
1094
|
tmpCue.id = id;
|
1255
1095
|
}
|
@@ -1258,10 +1098,10 @@ modified for webshims
|
|
1258
1098
|
})();
|
1259
1099
|
|
1260
1100
|
mediaelement.parseCaptions = function(captionData, track, complete) {
|
1261
|
-
|
1262
|
-
var cue, lazyProcess, regWevVTT;
|
1263
|
-
|
1264
|
-
|
1101
|
+
|
1102
|
+
var cue, lazyProcess, regWevVTT, startDate, isWEBVTT;
|
1103
|
+
|
1104
|
+
mediaelement.createCueList();
|
1265
1105
|
if (captionData) {
|
1266
1106
|
|
1267
1107
|
regWevVTT = /^WEBVTT(\s*FILE)?/ig;
|
@@ -1441,7 +1281,6 @@ modified for webshims
|
|
1441
1281
|
},
|
1442
1282
|
readyState: {
|
1443
1283
|
get: function(){
|
1444
|
-
|
1445
1284
|
return (webshims.data(this, 'trackData') || {readyState: 0}).readyState;
|
1446
1285
|
},
|
1447
1286
|
writeable: false
|
@@ -1506,29 +1345,27 @@ modified for webshims
|
|
1506
1345
|
e.stopImmediatePropagation();
|
1507
1346
|
}
|
1508
1347
|
};
|
1509
|
-
var
|
1348
|
+
var hideNativeTracks = function(){
|
1510
1349
|
if(webshims.implement(this, 'track')){
|
1511
|
-
var shimedTrack = $.prop(this, 'track');
|
1512
|
-
var origTrack = this.track;
|
1513
1350
|
var kind;
|
1514
|
-
var
|
1351
|
+
var origTrack = this.track;
|
1515
1352
|
if(origTrack){
|
1516
|
-
|
1517
|
-
|
1518
|
-
|
1519
|
-
shimedTrack.mode = numericModes[origTrack.mode] || origTrack.mode;
|
1353
|
+
|
1354
|
+
if (!webshims.bugs.track && (origTrack.mode || getNativeReadyState(this, origTrack))) {
|
1355
|
+
$.prop(this, 'track').mode = numericModes[origTrack.mode] || origTrack.mode;
|
1520
1356
|
}
|
1521
1357
|
//disable track from showing + remove UI
|
1522
|
-
|
1523
|
-
|
1524
|
-
|
1525
|
-
|
1526
|
-
}
|
1358
|
+
kind = $.prop(this, 'kind');
|
1359
|
+
origTrack.mode = (typeof origTrack.mode == 'string') ? 'disabled' : 0;
|
1360
|
+
this.kind = 'metadata';
|
1361
|
+
|
1362
|
+
$(this).attr({kind: kind});
|
1527
1363
|
|
1528
1364
|
}
|
1529
1365
|
$(this).on('load error', stopOriginalEvent);
|
1530
1366
|
}
|
1531
1367
|
};
|
1368
|
+
|
1532
1369
|
webshims.addReady(function(context, insertedElement){
|
1533
1370
|
var insertedMedia = insertedElement.filter('video, audio, track').closest('audio, video');
|
1534
1371
|
$('video, audio', context)
|
@@ -1545,10 +1382,11 @@ modified for webshims
|
|
1545
1382
|
webshims.error("textTracks couldn't be copied");
|
1546
1383
|
}
|
1547
1384
|
|
1548
|
-
$('track', this).each(
|
1385
|
+
$('track', this).each(hideNativeTracks);
|
1549
1386
|
}
|
1550
1387
|
})
|
1551
1388
|
;
|
1389
|
+
|
1552
1390
|
insertedMedia.each(function(){
|
1553
1391
|
var media = this;
|
1554
1392
|
var baseData = webshims.data(media, 'mediaelementBase');
|
@@ -1564,4 +1402,4 @@ modified for webshims
|
|
1564
1402
|
if(Modernizr.texttrackapi){
|
1565
1403
|
$('video, audio').trigger('trackapichange');
|
1566
1404
|
}
|
1567
|
-
});
|
1405
|
+
});
|