webshims-rails 1.12.5 → 1.12.7
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 +111 -132
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +40 -37
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +217 -36
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +151 -29
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +70 -93
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +70 -93
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +90 -13
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +202 -59
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +208 -70
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +151 -29
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +155 -30
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +79 -20
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +109 -47
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +79 -20
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +80 -87
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +66 -83
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +4 -10
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +79 -20
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +66 -7
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +100 -25
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +192 -47
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +193 -49
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +103 -36
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +5 -3
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +2048 -0
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +156 -20
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +151 -29
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +152 -31
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +199 -60
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +197 -58
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +218 -38
- data/vendor/assets/javascripts/webshims/shims/combos/97.js +1004 -0
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +1283 -0
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +204 -1248
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +66 -7
- data/vendor/assets/javascripts/webshims/shims/es5.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/form-combat.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/form-core.js +36 -27
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/form-fixrangechange.js +137 -0
- data/vendor/assets/javascripts/webshims/shims/form-message.js +90 -13
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +129 -15
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +9 -10
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +886 -985
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +78 -174
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +39 -26
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +45 -17
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +10 -3
- data/vendor/assets/javascripts/webshims/shims/jme/b.js +71 -246
- data/vendor/assets/javascripts/webshims/shims/jme/c.js +133 -1002
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +62 -23
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +73 -10
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +1117 -0
- data/vendor/assets/javascripts/webshims/shims/jme/p.js +603 -0
- data/vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css +5 -2
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +4 -10
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +4 -1
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +22 -14
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +29 -344
- data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +362 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +6 -483
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +488 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim-ext.scss +2 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +10 -2
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +6 -2
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +8 -1
- data/vendor/assets/javascripts/webshims/shims/track.js +66 -83
- metadata +12 -5
- data/vendor/assets/javascripts/webshims/shims/$ajax.js +0 -862
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +0 -2087
@@ -150,12 +150,8 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
150
150
|
"use strict";
|
151
151
|
var mediaelement = webshims.mediaelement;
|
152
152
|
var id = new Date().getTime();
|
153
|
-
var ADDBACK = $.fn.addBack ? 'addBack' : 'andSelf';
|
154
153
|
//descriptions are not really shown, but they are inserted into the dom
|
155
154
|
var showTracks = {subtitles: 1, captions: 1, descriptions: 1};
|
156
|
-
var notImplemented = function(){
|
157
|
-
webshims.error('not implemented yet');
|
158
|
-
};
|
159
155
|
var dummyTrack = $('<track />');
|
160
156
|
var supportTrackMod = Modernizr.ES5 && Modernizr.objectAccessor;
|
161
157
|
var createEventTarget = function(obj){
|
@@ -257,9 +253,7 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
257
253
|
};
|
258
254
|
var copyProps = ['kind', 'label', 'srclang'];
|
259
255
|
var copyName = {srclang: 'language'};
|
260
|
-
|
261
|
-
var owns = Function.prototype.call.bind(Object.prototype.hasOwnProperty);
|
262
|
-
|
256
|
+
|
263
257
|
var updateMediaTrackList = function(baseData, trackList){
|
264
258
|
var removed = [];
|
265
259
|
var added = [];
|
@@ -362,60 +356,44 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
362
356
|
};
|
363
357
|
})();
|
364
358
|
var emptyDiv = $('<div />')[0];
|
359
|
+
|
365
360
|
function VTTCue(startTime, endTime, text){
|
366
361
|
if(arguments.length != 3){
|
367
362
|
webshims.error("wrong arguments.length for VTTCue.constructor");
|
368
363
|
}
|
369
|
-
|
364
|
+
|
370
365
|
this.startTime = startTime;
|
371
366
|
this.endTime = endTime;
|
372
367
|
this.text = text;
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
onenter: null,
|
381
|
-
onexit: null,
|
382
|
-
pauseOnExit: false,
|
383
|
-
getCueAsHTML: function(){
|
368
|
+
this.onenter = null;
|
369
|
+
this.onexit = null;
|
370
|
+
this.pauseOnExit = false;
|
371
|
+
this.track = null;
|
372
|
+
this.id = null;
|
373
|
+
this.getCueAsHTML = (function(){
|
384
374
|
var lastText = "";
|
385
375
|
var parsedText = "";
|
386
|
-
var fragment
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
376
|
+
var fragment;
|
377
|
+
|
378
|
+
return function(){
|
379
|
+
var i, len;
|
380
|
+
if(!fragment){
|
381
|
+
fragment = document.createDocumentFragment();
|
382
|
+
}
|
383
|
+
if(lastText != this.text){
|
384
|
+
lastText = this.text;
|
385
|
+
parsedText = mediaelement.parseCueTextToHTML(lastText);
|
386
|
+
emptyDiv.innerHTML = parsedText;
|
387
|
+
|
388
|
+
for(i = 0, len = emptyDiv.childNodes.length; i < len; i++){
|
389
|
+
fragment.appendChild(emptyDiv.childNodes[i].cloneNode(true));
|
399
390
|
}
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
track: null,
|
407
|
-
|
408
|
-
|
409
|
-
id: ''
|
410
|
-
//todo-->
|
411
|
-
// ,
|
412
|
-
// snapToLines: true,
|
413
|
-
// line: 'auto',
|
414
|
-
// size: 100,
|
415
|
-
// position: 50,
|
416
|
-
// vertical: '',
|
417
|
-
// align: 'middle'
|
418
|
-
};
|
391
|
+
}
|
392
|
+
return fragment.cloneNode(true);
|
393
|
+
};
|
394
|
+
|
395
|
+
})();
|
396
|
+
}
|
419
397
|
|
420
398
|
window.VTTCue = VTTCue;
|
421
399
|
window.TextTrackCue = function(){
|
@@ -466,14 +444,15 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
466
444
|
})();
|
467
445
|
|
468
446
|
mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
|
469
|
-
var loadEvents = 'play playing
|
447
|
+
var loadEvents = 'play playing';
|
470
448
|
var obj = trackData.track;
|
471
449
|
var load = function(){
|
472
450
|
var error, ajax, createAjax;
|
473
|
-
|
474
451
|
var src = obj.mode != 'disabled' && ($.attr(track, 'src') && $.prop(track, 'src'));
|
452
|
+
|
475
453
|
if(src){
|
476
|
-
$(mediaelem).off(loadEvents, load);
|
454
|
+
$(mediaelem).off(loadEvents, load).off('updatetrackdisplay', load);
|
455
|
+
|
477
456
|
if(!trackData.readyState){
|
478
457
|
error = function(){
|
479
458
|
trackData.readyState = 3;
|
@@ -507,7 +486,7 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
507
486
|
error: error
|
508
487
|
});
|
509
488
|
};
|
510
|
-
if($.ajax){
|
489
|
+
if($.ajax && $.ajaxSettings.xhr){
|
511
490
|
createAjax();
|
512
491
|
} else {
|
513
492
|
webshims.ready('jajax', createAjax);
|
@@ -525,11 +504,15 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
525
504
|
obj._shimActiveCues = null;
|
526
505
|
obj.activeCues = null;
|
527
506
|
obj.cues = null;
|
528
|
-
|
507
|
+
|
529
508
|
$(mediaelem).on(loadEvents, load);
|
530
509
|
if(_default){
|
531
510
|
obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
|
532
|
-
load
|
511
|
+
webshims.ready('WINDOWLOAD', load);
|
512
|
+
} else {
|
513
|
+
webshims.ready('WINDOWLOAD', function(){
|
514
|
+
$(mediaelem).on('updatetrackdisplay', load);
|
515
|
+
});
|
533
516
|
}
|
534
517
|
};
|
535
518
|
|
@@ -558,7 +541,6 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
558
541
|
|
559
542
|
|
560
543
|
if(track.nodeName){
|
561
|
-
|
562
544
|
if(supportTrackMod){
|
563
545
|
copyProps.forEach(function(copyProp){
|
564
546
|
webshims.defineProperty(obj, copyName[copyProp] || copyProp, {
|
@@ -593,8 +575,8 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
593
575
|
|
594
576
|
return obj;
|
595
577
|
};
|
596
|
-
|
597
|
-
|
578
|
+
|
579
|
+
|
598
580
|
/*
|
599
581
|
taken from:
|
600
582
|
Captionator 0.5.1 [CaptionCrunch]
|
@@ -611,7 +593,7 @@ modified for webshims
|
|
611
593
|
var WebVTTDEFAULTSCueParser = /^(DEFAULTS|DEFAULT)\s+\-\-\>\s+(.*)/g;
|
612
594
|
var WebVTTSTYLECueParser = /^(STYLE|STYLES)\s+\-\-\>\s*\n([\s\S]*)/g;
|
613
595
|
var WebVTTCOMMENTCueParser = /^(COMMENT|COMMENTS)\s+\-\-\>\s+(.*)/g;
|
614
|
-
|
596
|
+
|
615
597
|
return function(subtitleElement,objectCount){
|
616
598
|
|
617
599
|
var subtitleParts, timeIn, timeOut, html, timeData, subtitlePartIndex, id, specialCueData;
|
@@ -627,33 +609,33 @@ modified for webshims
|
|
627
609
|
} else if ((specialCueData = WebVTTCOMMENTCueParser.exec(subtitleElement))) {
|
628
610
|
return null; // At this stage, we don't want to do anything with these.
|
629
611
|
}
|
630
|
-
|
612
|
+
|
631
613
|
subtitleParts = subtitleElement.split(/\n/g);
|
632
|
-
|
614
|
+
|
633
615
|
// Trim off any blank lines (logically, should only be max. one, but loop to be sure)
|
634
616
|
while (!subtitleParts[0].replace(/\s+/ig,"").length && subtitleParts.length > 0) {
|
635
617
|
subtitleParts.shift();
|
636
618
|
}
|
637
|
-
|
619
|
+
|
638
620
|
if (subtitleParts[0].match(/^\s*[a-z0-9-\_]+\s*$/ig)) {
|
639
621
|
// The identifier becomes the cue ID (when *we* load the cues from file. Programatically created cues can have an ID of whatever.)
|
640
622
|
id = String(subtitleParts.shift().replace(/\s*/ig,""));
|
641
623
|
}
|
642
|
-
|
624
|
+
|
643
625
|
for (subtitlePartIndex = 0; subtitlePartIndex < subtitleParts.length; subtitlePartIndex ++) {
|
644
626
|
var timestamp = subtitleParts[subtitlePartIndex];
|
645
|
-
|
627
|
+
|
646
628
|
if ((timestampMatch = WebVTTTimestampParser.exec(timestamp))) {
|
647
|
-
|
629
|
+
|
648
630
|
// WebVTT
|
649
|
-
|
631
|
+
|
650
632
|
timeData = timestampMatch.slice(1);
|
651
|
-
|
633
|
+
|
652
634
|
timeIn = parseInt((timeData[0]||0) * 60 * 60,10) + // Hours
|
653
635
|
parseInt((timeData[1]||0) * 60,10) + // Minutes
|
654
636
|
parseInt((timeData[2]||0),10) + // Seconds
|
655
637
|
parseFloat("0." + (timeData[3]||0)); // MS
|
656
|
-
|
638
|
+
|
657
639
|
timeOut = parseInt((timeData[4]||0) * 60 * 60,10) + // Hours
|
658
640
|
parseInt((timeData[5]||0) * 60,10) + // Minutes
|
659
641
|
parseInt((timeData[6]||0),10) + // Seconds
|
@@ -664,7 +646,7 @@ modified for webshims
|
|
664
646
|
}
|
665
647
|
*/
|
666
648
|
}
|
667
|
-
|
649
|
+
|
668
650
|
// We've got the timestamp - return all the other unmatched lines as the raw subtitle data
|
669
651
|
subtitleParts = subtitleParts.slice(0,subtitlePartIndex).concat(subtitleParts.slice(subtitlePartIndex+1));
|
670
652
|
break;
|
@@ -683,7 +665,7 @@ modified for webshims
|
|
683
665
|
previous[current.split(":")[0]] = current.split(":")[1];
|
684
666
|
return previous;
|
685
667
|
},{});
|
686
|
-
|
668
|
+
|
687
669
|
// Loop through cue settings, replace defaults with cue specific settings if they exist
|
688
670
|
compositeCueSettings =
|
689
671
|
cueSettings
|
@@ -694,7 +676,7 @@ modified for webshims
|
|
694
676
|
previous[current.split(":")[0]] = current.split(":")[1];
|
695
677
|
return previous;
|
696
678
|
},compositeCueSettings);
|
697
|
-
|
679
|
+
|
698
680
|
// Turn back into string like the VTTCue constructor expects
|
699
681
|
cueSettings = "";
|
700
682
|
for (var key in compositeCueSettings) {
|
@@ -713,18 +695,18 @@ modified for webshims
|
|
713
695
|
return tmpCue;
|
714
696
|
};
|
715
697
|
})();
|
716
|
-
|
698
|
+
|
717
699
|
mediaelement.parseCaptions = function(captionData, track, complete) {
|
718
700
|
|
719
701
|
var cue, lazyProcess, regWevVTT, startDate, isWEBVTT;
|
720
702
|
|
721
703
|
mediaelement.createCueList();
|
722
704
|
if (captionData) {
|
723
|
-
|
705
|
+
|
724
706
|
regWevVTT = /^WEBVTT(\s*FILE)?/ig;
|
725
|
-
|
707
|
+
|
726
708
|
lazyProcess = function(i, len){
|
727
|
-
|
709
|
+
|
728
710
|
for(; i < len; i++){
|
729
711
|
cue = captionData[i];
|
730
712
|
if(regWevVTT.test(cue)){
|
@@ -746,7 +728,7 @@ modified for webshims
|
|
746
728
|
startDate = new Date().getTime();
|
747
729
|
lazyProcess(i, len);
|
748
730
|
}, 90);
|
749
|
-
|
731
|
+
|
750
732
|
break;
|
751
733
|
}
|
752
734
|
}
|
@@ -757,9 +739,9 @@ modified for webshims
|
|
757
739
|
complete(track.cues);
|
758
740
|
}
|
759
741
|
};
|
760
|
-
|
742
|
+
|
761
743
|
captionData = captionData.replace(/\r\n/g,"\n");
|
762
|
-
|
744
|
+
|
763
745
|
setTimeout(function(){
|
764
746
|
captionData = captionData.replace(/\r/g,"\n");
|
765
747
|
setTimeout(function(){
|
@@ -768,12 +750,12 @@ modified for webshims
|
|
768
750
|
lazyProcess(0, captionData.length);
|
769
751
|
}, 9);
|
770
752
|
}, 9);
|
771
|
-
|
753
|
+
|
772
754
|
} else {
|
773
755
|
webshims.error("Required parameter captionData not supplied.");
|
774
756
|
}
|
775
757
|
};
|
776
|
-
|
758
|
+
|
777
759
|
|
778
760
|
mediaelement.createTrackList = function(mediaelem, baseData){
|
779
761
|
baseData = baseData || webshims.data(mediaelem, 'mediaelementBase') || webshims.data(mediaelem, 'mediaelementBase', {});
|
@@ -995,8 +977,9 @@ modified for webshims
|
|
995
977
|
if(Modernizr.track){
|
996
978
|
var shimedTextTracks = $.prop(this, 'textTracks');
|
997
979
|
var origTextTracks = this.textTracks;
|
980
|
+
|
998
981
|
if(shimedTextTracks.length != origTextTracks.length){
|
999
|
-
webshims.
|
982
|
+
webshims.warn("textTracks couldn't be copied");
|
1000
983
|
}
|
1001
984
|
|
1002
985
|
$('track', this).each(hideNativeTracks);
|
@@ -238,7 +238,6 @@ webshims.isReady('swfmini', true);
|
|
238
238
|
|
239
239
|
var wsCfg = webshims.cfg;
|
240
240
|
var options = wsCfg.mediaelement;
|
241
|
-
var hasFullTrackSupport;
|
242
241
|
var hasSwf;
|
243
242
|
if(!options){
|
244
243
|
webshims.error("mediaelement wasn't implemented but loaded");
|
@@ -280,11 +279,9 @@ webshims.isReady('swfmini', true);
|
|
280
279
|
}
|
281
280
|
})();
|
282
281
|
}
|
283
|
-
hasFullTrackSupport = Modernizr.track && !bugs.track;
|
284
282
|
|
285
283
|
webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
|
286
284
|
hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
|
287
|
-
$('html').addClass(hasSwf ? 'swf' : 'no-swf');
|
288
285
|
var mediaelement = webshims.mediaelement;
|
289
286
|
|
290
287
|
mediaelement.parseRtmp = function(data){
|
@@ -663,6 +660,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
663
660
|
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
664
661
|
supLoad.prop._supvalue.apply(this, arguments);
|
665
662
|
}
|
663
|
+
if(!loadTrackUi.loaded && $('track', this).length){
|
664
|
+
loadTrackUi();
|
665
|
+
}
|
666
666
|
$(this).triggerHandler('wsmediareload');
|
667
667
|
}
|
668
668
|
}
|
@@ -733,13 +733,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
733
733
|
}
|
734
734
|
};
|
735
735
|
|
736
|
-
|
737
|
-
webshims.defineProperty(TextTrack.prototype, 'shimActiveCues', {
|
738
|
-
get: function(){
|
739
|
-
return this._shimActiveCues || this.activeCues;
|
740
|
-
}
|
741
|
-
});
|
742
|
-
}
|
736
|
+
|
743
737
|
//set native implementation ready, before swf api is retested
|
744
738
|
if(hasNative){
|
745
739
|
webshims.isReady('mediaelement-core', true);
|
@@ -225,7 +225,9 @@ webshims.isReady('swfmini', true);
|
|
225
225
|
// vim: ts=4 sts=4 sw=4 expandtab
|
226
226
|
|
227
227
|
(function () {
|
228
|
-
|
228
|
+
setTimeout(function(){
|
229
|
+
webshims.isReady('es5', true);
|
230
|
+
});
|
229
231
|
/**
|
230
232
|
* Brings an environment as close to ECMAScript 5 compliance
|
231
233
|
* as is possible with the facilities of erstwhile engines.
|
@@ -1664,10 +1666,69 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
1664
1666
|
};
|
1665
1667
|
|
1666
1668
|
}
|
1669
|
+
webshims.isReady('es5', true);
|
1667
1670
|
})(webshims.$, webshims);
|
1668
1671
|
|
1669
1672
|
|
1670
|
-
|
1673
|
+
;
|
1674
|
+
//this might was already extended by ES5 shim feature
|
1675
|
+
(function($){
|
1676
|
+
"use strict";
|
1677
|
+
var webshims = window.webshims;
|
1678
|
+
if(webshims.defineProperties){return;}
|
1679
|
+
var defineProperty = 'defineProperty';
|
1680
|
+
var has = Object.prototype.hasOwnProperty;
|
1681
|
+
var descProps = ['configurable', 'enumerable', 'writable'];
|
1682
|
+
var extendUndefined = function(prop){
|
1683
|
+
for(var i = 0; i < 3; i++){
|
1684
|
+
if(prop[descProps[i]] === undefined && (descProps[i] !== 'writable' || prop.value !== undefined)){
|
1685
|
+
prop[descProps[i]] = true;
|
1686
|
+
}
|
1687
|
+
}
|
1688
|
+
};
|
1689
|
+
|
1690
|
+
var extendProps = function(props){
|
1691
|
+
if(props){
|
1692
|
+
for(var i in props){
|
1693
|
+
if(has.call(props, i)){
|
1694
|
+
extendUndefined(props[i]);
|
1695
|
+
}
|
1696
|
+
}
|
1697
|
+
}
|
1698
|
+
};
|
1699
|
+
|
1700
|
+
if(Object.create){
|
1701
|
+
webshims.objectCreate = function(proto, props, opts){
|
1702
|
+
extendProps(props);
|
1703
|
+
var o = Object.create(proto, props);
|
1704
|
+
if(opts){
|
1705
|
+
o.options = $.extend(true, {}, o.options || {}, opts);
|
1706
|
+
opts = o.options;
|
1707
|
+
}
|
1708
|
+
if(o._create && $.isFunction(o._create)){
|
1709
|
+
o._create(opts);
|
1710
|
+
}
|
1711
|
+
return o;
|
1712
|
+
};
|
1713
|
+
}
|
1714
|
+
|
1715
|
+
if(Object[defineProperty]){
|
1716
|
+
webshims[defineProperty] = function(obj, prop, desc){
|
1717
|
+
extendUndefined(desc);
|
1718
|
+
return Object[defineProperty](obj, prop, desc);
|
1719
|
+
};
|
1720
|
+
}
|
1721
|
+
if(Object.defineProperties){
|
1722
|
+
webshims.defineProperties = function(obj, props){
|
1723
|
+
extendProps(props);
|
1724
|
+
return Object.defineProperties(obj, props);
|
1725
|
+
};
|
1726
|
+
}
|
1727
|
+
webshims.getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
|
1728
|
+
|
1729
|
+
webshims.getPrototypeOf = Object.getPrototypeOf;
|
1730
|
+
})(window.webshims.$);
|
1731
|
+
//DOM-Extension helper
|
1671
1732
|
webshims.register('dom-extend', function($, webshims, window, document, undefined){
|
1672
1733
|
"use strict";
|
1673
1734
|
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
|
@@ -2302,6 +2363,13 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2302
2363
|
this.width = docObserve.getWidth();
|
2303
2364
|
setInterval(this.test, 999);
|
2304
2365
|
$(this.test);
|
2366
|
+
if($.support.boxSizing == null){
|
2367
|
+
$(function(){
|
2368
|
+
if($.support.boxSizing){
|
2369
|
+
docObserve.handler({type: 'boxsizing'});
|
2370
|
+
}
|
2371
|
+
});
|
2372
|
+
}
|
2305
2373
|
webshims.ready('WINDOWLOAD', this.test);
|
2306
2374
|
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
|
2307
2375
|
$(window).on('resize', this.handler);
|
@@ -2313,13 +2381,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2313
2381
|
webshims.docObserve = function(){
|
2314
2382
|
webshims.ready('DOM', function(){
|
2315
2383
|
docObserve.start();
|
2316
|
-
|
2317
|
-
$(function(){
|
2318
|
-
if($.support.boxSizing){
|
2319
|
-
docObserve.handler({type: 'boxsizing'});
|
2320
|
-
}
|
2321
|
-
});
|
2322
|
-
}
|
2384
|
+
|
2323
2385
|
});
|
2324
2386
|
};
|
2325
2387
|
return function(nativeElem, shadowElem, opts){
|
@@ -3205,7 +3267,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
3205
3267
|
|
3206
3268
|
var wsCfg = webshims.cfg;
|
3207
3269
|
var options = wsCfg.mediaelement;
|
3208
|
-
var hasFullTrackSupport;
|
3209
3270
|
var hasSwf;
|
3210
3271
|
if(!options){
|
3211
3272
|
webshims.error("mediaelement wasn't implemented but loaded");
|
@@ -3247,11 +3308,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
3247
3308
|
}
|
3248
3309
|
})();
|
3249
3310
|
}
|
3250
|
-
hasFullTrackSupport = Modernizr.track && !bugs.track;
|
3251
3311
|
|
3252
3312
|
webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
|
3253
3313
|
hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
|
3254
|
-
$('html').addClass(hasSwf ? 'swf' : 'no-swf');
|
3255
3314
|
var mediaelement = webshims.mediaelement;
|
3256
3315
|
|
3257
3316
|
mediaelement.parseRtmp = function(data){
|
@@ -3630,6 +3689,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3630
3689
|
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
3631
3690
|
supLoad.prop._supvalue.apply(this, arguments);
|
3632
3691
|
}
|
3692
|
+
if(!loadTrackUi.loaded && $('track', this).length){
|
3693
|
+
loadTrackUi();
|
3694
|
+
}
|
3633
3695
|
$(this).triggerHandler('wsmediareload');
|
3634
3696
|
}
|
3635
3697
|
}
|
@@ -3700,13 +3762,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3700
3762
|
}
|
3701
3763
|
};
|
3702
3764
|
|
3703
|
-
|
3704
|
-
webshims.defineProperty(TextTrack.prototype, 'shimActiveCues', {
|
3705
|
-
get: function(){
|
3706
|
-
return this._shimActiveCues || this.activeCues;
|
3707
|
-
}
|
3708
|
-
});
|
3709
|
-
}
|
3765
|
+
|
3710
3766
|
//set native implementation ready, before swf api is retested
|
3711
3767
|
if(hasNative){
|
3712
3768
|
webshims.isReady('mediaelement-core', true);
|
@@ -4476,7 +4532,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
4476
4532
|
box.insertBefore(elem);
|
4477
4533
|
|
4478
4534
|
if(hasNative){
|
4479
|
-
$.extend(data, {volume: $.prop(elem, 'volume'), muted: $.prop(elem, 'muted')});
|
4535
|
+
$.extend(data, {volume: $.prop(elem, 'volume'), muted: $.prop(elem, 'muted'), paused: $.prop(elem, 'paused')});
|
4480
4536
|
}
|
4481
4537
|
|
4482
4538
|
webshims.addShadowDom(elem, box);
|
@@ -4514,6 +4570,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
4514
4570
|
if(jaris.type == 'ready'){
|
4515
4571
|
var onReady = function(){
|
4516
4572
|
if(data.api){
|
4573
|
+
if(!data.paused){
|
4574
|
+
data.api.api_play();
|
4575
|
+
}
|
4517
4576
|
if(bufferSrc(elem)){
|
4518
4577
|
data.api.api_preload();
|
4519
4578
|
}
|