webshims-rails 1.14.3 → 1.14.4
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/extras/modernizr-custom.js +4 -0
- data/vendor/assets/javascripts/webshims/polyfiller.js +141 -139
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +1 -3
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +22 -33
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +76 -73
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +73 -61
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +37 -41
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +36 -40
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +7 -7
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +23 -32
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +36 -57
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +73 -61
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +611 -4604
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +27 -47
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +61 -31
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +24 -16
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +13 -25
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +40 -27
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +167 -166
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +11 -12
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +5 -5
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +14 -22
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +16 -24
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +14 -22
- data/vendor/assets/javascripts/webshims/shims/combos/33.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +27 -28
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +5 -14
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +78 -66
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +80 -68
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +29 -49
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +27 -47
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +78 -75
- data/vendor/assets/javascripts/webshims/shims/combos/97.js +42 -29
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +116 -40
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +112 -38
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +3 -12
- data/vendor/assets/javascripts/webshims/shims/es5.js +4 -4
- data/vendor/assets/javascripts/webshims/shims/es6.js +1887 -0
- data/vendor/assets/javascripts/webshims/shims/form-core.js +9 -8
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/form-inputmode.js +52 -0
- data/vendor/assets/javascripts/webshims/shims/form-message.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +4 -5
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +73 -61
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +7 -8
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +164 -163
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +121 -144
- data/vendor/assets/javascripts/webshims/shims/jme/_icons.scss +3 -0
- data/vendor/assets/javascripts/webshims/shims/jme/alternate-media.js +184 -0
- data/vendor/assets/javascripts/webshims/shims/jme/{b.js → base.js} +38 -27
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +129 -39
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +145 -44
- data/vendor/assets/javascripts/webshims/shims/jme/jme.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/jme/jme.svg +0 -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/jme/mediacontrols-lazy.js +448 -90
- data/vendor/assets/javascripts/webshims/shims/jme/{c.js → mediacontrols.js} +74 -11
- data/vendor/assets/javascripts/webshims/shims/jme/{p.js → playlist.js} +4 -2
- data/vendor/assets/javascripts/webshims/shims/matchMedia.js +122 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +12 -24
- data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +37 -15
- data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +4 -5
- data/vendor/assets/javascripts/webshims/shims/picture.js +13 -54
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +13 -20
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +24 -18
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +32 -10
- data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +43 -47
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +30 -18
- data/vendor/assets/javascripts/webshims/shims/styles/transparent.png +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
- data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/swfmini.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +4 -5
- data/vendor/assets/javascripts/webshims/shims/track.js +24 -16
- metadata +9 -8
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +0 -4745
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +0 -4522
- data/vendor/assets/javascripts/webshims/shims/combos/32.js +0 -2443
- data/vendor/assets/javascripts/webshims/shims/combos/comboinfo.json +0 -1
@@ -158,7 +158,7 @@ var swfmini = function() {
|
|
158
158
|
webshims.$.noop
|
159
159
|
;
|
160
160
|
|
161
|
-
if(!
|
161
|
+
if(!webshims.support.mediaelement){
|
162
162
|
loadEmbed();
|
163
163
|
} else {
|
164
164
|
webshims.ready('WINDOWLOAD', loadEmbed);
|
@@ -221,9 +221,10 @@ var swfmini = function() {
|
|
221
221
|
}();
|
222
222
|
|
223
223
|
webshims.isReady('swfmini', true);
|
224
|
-
;(function(
|
224
|
+
;(function(webshims){
|
225
225
|
"use strict";
|
226
|
-
var
|
226
|
+
var support = webshims.support;
|
227
|
+
var hasNative = support.mediaelement;
|
227
228
|
var supportsLoop = false;
|
228
229
|
var bugs = webshims.bugs;
|
229
230
|
var swfType = 'mediaelement-jaris';
|
@@ -246,14 +247,14 @@ webshims.isReady('swfmini', true);
|
|
246
247
|
|
247
248
|
if(hasNative){
|
248
249
|
var videoElem = document.createElement('video');
|
249
|
-
|
250
|
-
|
250
|
+
support.videoBuffered = ('buffered' in videoElem);
|
251
|
+
support.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
251
252
|
supportsLoop = ('loop' in videoElem);
|
252
|
-
|
253
|
+
support.mediaLoop = supportsLoop;
|
253
254
|
|
254
255
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
255
256
|
|
256
|
-
if( !
|
257
|
+
if( !support.videoBuffered || !supportsLoop || (!support.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){
|
257
258
|
webshims.addPolyfill('mediaelement-native-fix', {
|
258
259
|
d: ['dom-support']
|
259
260
|
});
|
@@ -261,7 +262,7 @@ webshims.isReady('swfmini', true);
|
|
261
262
|
}
|
262
263
|
}
|
263
264
|
|
264
|
-
if(
|
265
|
+
if(support.track && !bugs.track){
|
265
266
|
(function(){
|
266
267
|
if(!bugs.track){
|
267
268
|
|
@@ -593,19 +594,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
593
594
|
}
|
594
595
|
}
|
595
596
|
};
|
596
|
-
var
|
597
|
-
var fixPreload = function(elem){
|
598
|
-
var preload, img;
|
599
|
-
if(elem.getAttribute('preload') == 'none'){
|
600
|
-
if(allowedPreload[(preload = $.attr(elem, 'data-preload'))]){
|
601
|
-
$.attr(elem, 'preload', preload);
|
602
|
-
} else if(hasNative && (preload = elem.getAttribute('poster'))){
|
603
|
-
img = document.createElement('img');
|
604
|
-
img.src = preload;
|
605
|
-
}
|
606
|
-
}
|
607
|
-
};
|
608
|
-
var stopParent = /^(?:embed|object|datalist)$/i;
|
597
|
+
var stopParent = /^(?:embed|object|datalist|picture)$/i;
|
609
598
|
var selectSource = function(elem, data){
|
610
599
|
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
611
600
|
var _srces = mediaelement.srces(elem);
|
@@ -620,7 +609,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
620
609
|
if(mediaelement.sortMedia){
|
621
610
|
_srces.sort(mediaelement.sortMedia);
|
622
611
|
}
|
623
|
-
fixPreload(elem);
|
624
612
|
stepSources(elem, data, _srces);
|
625
613
|
|
626
614
|
};
|
@@ -644,7 +632,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
644
632
|
|
645
633
|
if(webshims.implement(this, 'mediaelement')){
|
646
634
|
selectSource(this);
|
647
|
-
if(!
|
635
|
+
if(!support.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
648
636
|
$.prop(this, 'muted', true);
|
649
637
|
}
|
650
638
|
|
@@ -669,7 +657,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
669
657
|
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
670
658
|
supLoad.prop._supvalue.apply(this, arguments);
|
671
659
|
}
|
672
|
-
if(!loadTrackUi.loaded &&
|
660
|
+
if(!loadTrackUi.loaded && this.querySelector('track')){
|
673
661
|
loadTrackUi();
|
674
662
|
}
|
675
663
|
$(this).triggerHandler('wsmediareload');
|
@@ -768,7 +756,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
768
756
|
webshims.ready('track', loadTrackUi);
|
769
757
|
});
|
770
758
|
|
771
|
-
})(
|
759
|
+
})(webshims);
|
772
760
|
;webshims.register('track', function($, webshims, window, document, undefined){
|
773
761
|
"use strict";
|
774
762
|
var mediaelement = webshims.mediaelement;
|
@@ -776,7 +764,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
776
764
|
//descriptions are not really shown, but they are inserted into the dom
|
777
765
|
var showTracks = {subtitles: 1, captions: 1, descriptions: 1};
|
778
766
|
var dummyTrack = $('<track />');
|
779
|
-
var
|
767
|
+
var support = webshims.support;
|
768
|
+
var supportTrackMod = support.ES5 && support.objectAccessor;
|
780
769
|
var createEventTarget = function(obj){
|
781
770
|
var eventList = {};
|
782
771
|
obj.addEventListener = function(name, fn){
|
@@ -1085,19 +1074,23 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1085
1074
|
ttml = $.parseXML(ttml) || [];
|
1086
1075
|
return $(ttml).find('[begin][end]').map(mapTtmlToVtt).get().join('\n\n') || '';
|
1087
1076
|
};
|
1088
|
-
|
1077
|
+
var loadingTracks = 0;
|
1078
|
+
|
1089
1079
|
mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
|
1090
|
-
var loadEvents = 'play playing';
|
1080
|
+
var loadEvents = 'play playing loadedmetadata loadstart';
|
1091
1081
|
var obj = trackData.track;
|
1092
1082
|
var load = function(){
|
1093
1083
|
var error, ajax, createAjax;
|
1094
|
-
var
|
1084
|
+
var isDisabled = obj.mode == 'disabled';
|
1085
|
+
var videoState = !!($.prop(mediaelem, 'readyState') > 0 || $.prop(mediaelem, 'networkState') == 2 || !$.prop(mediaelem, 'paused'));
|
1086
|
+
var src = (!isDisabled || videoState) && ($.attr(track, 'src') && $.prop(track, 'src'));
|
1095
1087
|
|
1096
1088
|
if(src){
|
1097
1089
|
$(mediaelem).off(loadEvents, load).off('updatetrackdisplay', load);
|
1098
1090
|
|
1099
1091
|
if(!trackData.readyState){
|
1100
1092
|
error = function(){
|
1093
|
+
loadingTracks--;
|
1101
1094
|
trackData.readyState = 3;
|
1102
1095
|
obj.cues = null;
|
1103
1096
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = null;
|
@@ -1107,12 +1100,14 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1107
1100
|
try {
|
1108
1101
|
obj.cues = mediaelement.createCueList();
|
1109
1102
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = mediaelement.createCueList();
|
1103
|
+
loadingTracks++;
|
1110
1104
|
createAjax = function(){
|
1111
1105
|
ajax = $.ajax({
|
1112
1106
|
dataType: 'text',
|
1113
1107
|
url: src,
|
1114
1108
|
success: function(text){
|
1115
|
-
|
1109
|
+
loadingTracks--;
|
1110
|
+
var contentType = ajax.getResponseHeader('content-type') || '';
|
1116
1111
|
|
1117
1112
|
if(!contentType.indexOf('application/xml')){
|
1118
1113
|
text = ttmlTextToVTT(text);
|
@@ -1128,13 +1123,16 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1128
1123
|
error();
|
1129
1124
|
}
|
1130
1125
|
});
|
1131
|
-
|
1132
1126
|
},
|
1133
1127
|
error: error
|
1134
1128
|
});
|
1135
1129
|
};
|
1136
1130
|
if($.ajax && $.ajaxSettings.xhr){
|
1137
|
-
|
1131
|
+
if(isDisabled){
|
1132
|
+
setTimeout(createAjax, loadingTracks * 2);
|
1133
|
+
} else {
|
1134
|
+
createAjax();
|
1135
|
+
}
|
1138
1136
|
} else {
|
1139
1137
|
webshims.ready('jajax', createAjax);
|
1140
1138
|
webshims.loader.loadList(['jajax']);
|
@@ -1153,13 +1151,12 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1153
1151
|
obj.cues = null;
|
1154
1152
|
|
1155
1153
|
$(mediaelem).on(loadEvents, load);
|
1154
|
+
|
1156
1155
|
if(_default){
|
1157
1156
|
obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
|
1158
|
-
|
1157
|
+
load();
|
1159
1158
|
} else {
|
1160
|
-
|
1161
|
-
$(mediaelem).on('updatetrackdisplay', load);
|
1162
|
-
});
|
1159
|
+
$(mediaelem).on('updatetrackdisplay', load);
|
1163
1160
|
}
|
1164
1161
|
};
|
1165
1162
|
|
@@ -1431,7 +1428,7 @@ modified for webshims
|
|
1431
1428
|
return baseData.textTracks;
|
1432
1429
|
};
|
1433
1430
|
|
1434
|
-
if(!
|
1431
|
+
if(!support.track){
|
1435
1432
|
webshims.defineNodeNamesBooleanProperty(['track'], 'default');
|
1436
1433
|
webshims.reflectProperties(['track'], ['srclang', 'label']);
|
1437
1434
|
|
@@ -1446,7 +1443,7 @@ modified for webshims
|
|
1446
1443
|
|
1447
1444
|
webshims.defineNodeNameProperties('track', {
|
1448
1445
|
kind: {
|
1449
|
-
attr:
|
1446
|
+
attr: support.track ? {
|
1450
1447
|
set: function(value){
|
1451
1448
|
var trackData = webshims.data(this, 'trackData');
|
1452
1449
|
this.setAttribute('data-kind', value);
|
@@ -1501,7 +1498,6 @@ modified for webshims
|
|
1501
1498
|
});
|
1502
1499
|
|
1503
1500
|
//
|
1504
|
-
|
1505
1501
|
webshims.defineNodeNamesProperties(['track'], {
|
1506
1502
|
ERROR: {
|
1507
1503
|
value: 3
|
@@ -1611,7 +1607,7 @@ modified for webshims
|
|
1611
1607
|
})
|
1612
1608
|
.on('emptied updatetracklist wsmediareload', thUpdateList)
|
1613
1609
|
.each(function(){
|
1614
|
-
if(
|
1610
|
+
if(support.track){
|
1615
1611
|
var shimedTextTracks = $.prop(this, 'textTracks');
|
1616
1612
|
var origTextTracks = this.textTracks;
|
1617
1613
|
|
@@ -1636,7 +1632,7 @@ modified for webshims
|
|
1636
1632
|
});
|
1637
1633
|
});
|
1638
1634
|
|
1639
|
-
if(
|
1635
|
+
if(support.texttrackapi){
|
1640
1636
|
$('video, audio').trigger('trackapichange');
|
1641
1637
|
}
|
1642
1638
|
});
|
@@ -1,6 +1,7 @@
|
|
1
|
-
(function(
|
1
|
+
(function(webshims){
|
2
2
|
"use strict";
|
3
|
-
var
|
3
|
+
var support = webshims.support;
|
4
|
+
var hasNative = support.mediaelement;
|
4
5
|
var supportsLoop = false;
|
5
6
|
var bugs = webshims.bugs;
|
6
7
|
var swfType = 'mediaelement-jaris';
|
@@ -23,14 +24,14 @@
|
|
23
24
|
|
24
25
|
if(hasNative){
|
25
26
|
var videoElem = document.createElement('video');
|
26
|
-
|
27
|
-
|
27
|
+
support.videoBuffered = ('buffered' in videoElem);
|
28
|
+
support.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
28
29
|
supportsLoop = ('loop' in videoElem);
|
29
|
-
|
30
|
+
support.mediaLoop = supportsLoop;
|
30
31
|
|
31
32
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
32
33
|
|
33
|
-
if( !
|
34
|
+
if( !support.videoBuffered || !supportsLoop || (!support.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){
|
34
35
|
webshims.addPolyfill('mediaelement-native-fix', {
|
35
36
|
d: ['dom-support']
|
36
37
|
});
|
@@ -38,7 +39,7 @@
|
|
38
39
|
}
|
39
40
|
}
|
40
41
|
|
41
|
-
if(
|
42
|
+
if(support.track && !bugs.track){
|
42
43
|
(function(){
|
43
44
|
if(!bugs.track){
|
44
45
|
|
@@ -370,19 +371,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
370
371
|
}
|
371
372
|
}
|
372
373
|
};
|
373
|
-
var
|
374
|
-
var fixPreload = function(elem){
|
375
|
-
var preload, img;
|
376
|
-
if(elem.getAttribute('preload') == 'none'){
|
377
|
-
if(allowedPreload[(preload = $.attr(elem, 'data-preload'))]){
|
378
|
-
$.attr(elem, 'preload', preload);
|
379
|
-
} else if(hasNative && (preload = elem.getAttribute('poster'))){
|
380
|
-
img = document.createElement('img');
|
381
|
-
img.src = preload;
|
382
|
-
}
|
383
|
-
}
|
384
|
-
};
|
385
|
-
var stopParent = /^(?:embed|object|datalist)$/i;
|
374
|
+
var stopParent = /^(?:embed|object|datalist|picture)$/i;
|
386
375
|
var selectSource = function(elem, data){
|
387
376
|
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
388
377
|
var _srces = mediaelement.srces(elem);
|
@@ -397,7 +386,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
397
386
|
if(mediaelement.sortMedia){
|
398
387
|
_srces.sort(mediaelement.sortMedia);
|
399
388
|
}
|
400
|
-
fixPreload(elem);
|
401
389
|
stepSources(elem, data, _srces);
|
402
390
|
|
403
391
|
};
|
@@ -421,7 +409,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
421
409
|
|
422
410
|
if(webshims.implement(this, 'mediaelement')){
|
423
411
|
selectSource(this);
|
424
|
-
if(!
|
412
|
+
if(!support.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
425
413
|
$.prop(this, 'muted', true);
|
426
414
|
}
|
427
415
|
|
@@ -446,7 +434,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
446
434
|
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
447
435
|
supLoad.prop._supvalue.apply(this, arguments);
|
448
436
|
}
|
449
|
-
if(!loadTrackUi.loaded &&
|
437
|
+
if(!loadTrackUi.loaded && this.querySelector('track')){
|
450
438
|
loadTrackUi();
|
451
439
|
}
|
452
440
|
$(this).triggerHandler('wsmediareload');
|
@@ -545,7 +533,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
545
533
|
webshims.ready('track', loadTrackUi);
|
546
534
|
});
|
547
535
|
|
548
|
-
})(
|
536
|
+
})(webshims);
|
549
537
|
;webshims.register('track', function($, webshims, window, document, undefined){
|
550
538
|
"use strict";
|
551
539
|
var mediaelement = webshims.mediaelement;
|
@@ -553,7 +541,8 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
553
541
|
//descriptions are not really shown, but they are inserted into the dom
|
554
542
|
var showTracks = {subtitles: 1, captions: 1, descriptions: 1};
|
555
543
|
var dummyTrack = $('<track />');
|
556
|
-
var
|
544
|
+
var support = webshims.support;
|
545
|
+
var supportTrackMod = support.ES5 && support.objectAccessor;
|
557
546
|
var createEventTarget = function(obj){
|
558
547
|
var eventList = {};
|
559
548
|
obj.addEventListener = function(name, fn){
|
@@ -862,19 +851,23 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
862
851
|
ttml = $.parseXML(ttml) || [];
|
863
852
|
return $(ttml).find('[begin][end]').map(mapTtmlToVtt).get().join('\n\n') || '';
|
864
853
|
};
|
865
|
-
|
854
|
+
var loadingTracks = 0;
|
855
|
+
|
866
856
|
mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
|
867
|
-
var loadEvents = 'play playing';
|
857
|
+
var loadEvents = 'play playing loadedmetadata loadstart';
|
868
858
|
var obj = trackData.track;
|
869
859
|
var load = function(){
|
870
860
|
var error, ajax, createAjax;
|
871
|
-
var
|
861
|
+
var isDisabled = obj.mode == 'disabled';
|
862
|
+
var videoState = !!($.prop(mediaelem, 'readyState') > 0 || $.prop(mediaelem, 'networkState') == 2 || !$.prop(mediaelem, 'paused'));
|
863
|
+
var src = (!isDisabled || videoState) && ($.attr(track, 'src') && $.prop(track, 'src'));
|
872
864
|
|
873
865
|
if(src){
|
874
866
|
$(mediaelem).off(loadEvents, load).off('updatetrackdisplay', load);
|
875
867
|
|
876
868
|
if(!trackData.readyState){
|
877
869
|
error = function(){
|
870
|
+
loadingTracks--;
|
878
871
|
trackData.readyState = 3;
|
879
872
|
obj.cues = null;
|
880
873
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = null;
|
@@ -884,12 +877,14 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
884
877
|
try {
|
885
878
|
obj.cues = mediaelement.createCueList();
|
886
879
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = mediaelement.createCueList();
|
880
|
+
loadingTracks++;
|
887
881
|
createAjax = function(){
|
888
882
|
ajax = $.ajax({
|
889
883
|
dataType: 'text',
|
890
884
|
url: src,
|
891
885
|
success: function(text){
|
892
|
-
|
886
|
+
loadingTracks--;
|
887
|
+
var contentType = ajax.getResponseHeader('content-type') || '';
|
893
888
|
|
894
889
|
if(!contentType.indexOf('application/xml')){
|
895
890
|
text = ttmlTextToVTT(text);
|
@@ -905,13 +900,16 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
905
900
|
error();
|
906
901
|
}
|
907
902
|
});
|
908
|
-
|
909
903
|
},
|
910
904
|
error: error
|
911
905
|
});
|
912
906
|
};
|
913
907
|
if($.ajax && $.ajaxSettings.xhr){
|
914
|
-
|
908
|
+
if(isDisabled){
|
909
|
+
setTimeout(createAjax, loadingTracks * 2);
|
910
|
+
} else {
|
911
|
+
createAjax();
|
912
|
+
}
|
915
913
|
} else {
|
916
914
|
webshims.ready('jajax', createAjax);
|
917
915
|
webshims.loader.loadList(['jajax']);
|
@@ -930,13 +928,12 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
930
928
|
obj.cues = null;
|
931
929
|
|
932
930
|
$(mediaelem).on(loadEvents, load);
|
931
|
+
|
933
932
|
if(_default){
|
934
933
|
obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
|
935
|
-
|
934
|
+
load();
|
936
935
|
} else {
|
937
|
-
|
938
|
-
$(mediaelem).on('updatetrackdisplay', load);
|
939
|
-
});
|
936
|
+
$(mediaelem).on('updatetrackdisplay', load);
|
940
937
|
}
|
941
938
|
};
|
942
939
|
|
@@ -1208,7 +1205,7 @@ modified for webshims
|
|
1208
1205
|
return baseData.textTracks;
|
1209
1206
|
};
|
1210
1207
|
|
1211
|
-
if(!
|
1208
|
+
if(!support.track){
|
1212
1209
|
webshims.defineNodeNamesBooleanProperty(['track'], 'default');
|
1213
1210
|
webshims.reflectProperties(['track'], ['srclang', 'label']);
|
1214
1211
|
|
@@ -1223,7 +1220,7 @@ modified for webshims
|
|
1223
1220
|
|
1224
1221
|
webshims.defineNodeNameProperties('track', {
|
1225
1222
|
kind: {
|
1226
|
-
attr:
|
1223
|
+
attr: support.track ? {
|
1227
1224
|
set: function(value){
|
1228
1225
|
var trackData = webshims.data(this, 'trackData');
|
1229
1226
|
this.setAttribute('data-kind', value);
|
@@ -1278,7 +1275,6 @@ modified for webshims
|
|
1278
1275
|
});
|
1279
1276
|
|
1280
1277
|
//
|
1281
|
-
|
1282
1278
|
webshims.defineNodeNamesProperties(['track'], {
|
1283
1279
|
ERROR: {
|
1284
1280
|
value: 3
|
@@ -1388,7 +1384,7 @@ modified for webshims
|
|
1388
1384
|
})
|
1389
1385
|
.on('emptied updatetracklist wsmediareload', thUpdateList)
|
1390
1386
|
.each(function(){
|
1391
|
-
if(
|
1387
|
+
if(support.track){
|
1392
1388
|
var shimedTextTracks = $.prop(this, 'textTracks');
|
1393
1389
|
var origTextTracks = this.textTracks;
|
1394
1390
|
|
@@ -1413,7 +1409,7 @@ modified for webshims
|
|
1413
1409
|
});
|
1414
1410
|
});
|
1415
1411
|
|
1416
|
-
if(
|
1412
|
+
if(support.texttrackapi){
|
1417
1413
|
$('video, audio').trigger('trackapichange');
|
1418
1414
|
}
|
1419
1415
|
});
|
@@ -1,8 +1,7 @@
|
|
1
1
|
webshims.register('form-native-extend', function($, webshims, window, doc, undefined, options){
|
2
2
|
"use strict";
|
3
|
-
var
|
4
|
-
|
5
|
-
if(!Modernizr.formvalidation || webshims.bugs.bustedValidity){return;}
|
3
|
+
var support = webshims.support;
|
4
|
+
if(!support.formvalidation || webshims.bugs.bustedValidity){return;}
|
6
5
|
var typeModels = webshims.inputTypes;
|
7
6
|
var runTest = false;
|
8
7
|
var validityRules = {};
|
@@ -23,7 +22,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
23
22
|
typeModels[type] = obj;
|
24
23
|
runTest = true;
|
25
24
|
//update validity of all implemented input types
|
26
|
-
if($.isDOMReady &&
|
25
|
+
if($.isDOMReady && support.formvalidation && !webshims.bugs.bustedValidity){
|
27
26
|
updateValidity();
|
28
27
|
}
|
29
28
|
};
|
@@ -209,7 +208,8 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
209
208
|
});
|
210
209
|
|
211
210
|
|
212
|
-
})
|
211
|
+
});
|
212
|
+
;webshims.register('form-message', function($, webshims, window, document, undefined, options){
|
213
213
|
"use strict";
|
214
214
|
if(options.lazyCustomMessages){
|
215
215
|
options.customMessages = true;
|
@@ -464,7 +464,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
464
464
|
};
|
465
465
|
|
466
466
|
|
467
|
-
if(!
|
467
|
+
if(!webshims.support.formvalidation || webshims.bugs.bustedValidity){
|
468
468
|
implementProperties.push('validationMessage');
|
469
469
|
}
|
470
470
|
|
@@ -500,7 +500,7 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
|
|
500
500
|
if(message){return message;}
|
501
501
|
|
502
502
|
if(validity.customError && elem.nodeName){
|
503
|
-
message = (
|
503
|
+
message = (webshims.support.formvalidation && !webshims.bugs.bustedValidity && desc.prop._supget) ? desc.prop._supget.call(elem) : webshims.data(elem, 'customvalidationMessage');
|
504
504
|
if(message){return message;}
|
505
505
|
}
|
506
506
|
$.each(validity, function(name, prop){
|
@@ -62,7 +62,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
62
62
|
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
|
63
63
|
var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
|
64
64
|
var has = Object.prototype.hasOwnProperty;
|
65
|
-
webshims.assumeARIA =
|
65
|
+
webshims.assumeARIA = true;
|
66
66
|
|
67
67
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
68
68
|
webshims.error("IE browser modes are busted in IE10+. Please test your HTML/CSS/JS with a real IE version or at least IETester or similiar tools");
|
@@ -81,15 +81,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
81
81
|
}
|
82
82
|
window.jQuery = webshims.$;
|
83
83
|
}
|
84
|
-
if(webshims.M != Modernizr){
|
85
|
-
webshims.error("Modernizr was included more than once. Make sure to include it only once! Webshims and other scripts might not work properly.");
|
86
|
-
for(var i in Modernizr){
|
87
|
-
if(!(i in webshims.M)){
|
88
|
-
webshims.M[i] = Modernizr[i];
|
89
|
-
}
|
90
|
-
}
|
91
|
-
Modernizr = webshims.M;
|
92
|
-
}
|
93
84
|
};
|
94
85
|
switch$();
|
95
86
|
setTimeout(switch$, 90);
|
@@ -418,7 +409,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
418
409
|
var UNKNOWN = webshims.getPrototypeOf(document.createElement('foobar'));
|
419
410
|
|
420
411
|
//see also: https://github.com/lojjic/PIE/issues/40 | https://prototype.lighthouseapp.com/projects/8886/tickets/1107-ie8-fatal-crash-when-prototypejs-is-loaded-with-rounded-cornershtc
|
421
|
-
var isExtendNativeSave =
|
412
|
+
var isExtendNativeSave = webshims.support.advancedObjectProperties && webshims.support.objectAccessor;
|
422
413
|
return function(nodeName, prop, desc){
|
423
414
|
var elem , elemProto;
|
424
415
|
if( isExtendNativeSave && (elem = document.createElement(nodeName)) && (elemProto = webshims.getPrototypeOf(elem)) && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
|
@@ -729,7 +720,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
729
720
|
});
|
730
721
|
}
|
731
722
|
webshims.ready('WINDOWLOAD', this.test);
|
732
|
-
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
|
723
|
+
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel playerdimensionchange', this.handler);
|
733
724
|
$(window).on('resize', this.handler);
|
734
725
|
}
|
735
726
|
}
|
@@ -1239,13 +1230,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1239
1230
|
e._isPolyfilled = true;
|
1240
1231
|
}
|
1241
1232
|
};
|
1242
|
-
|
1243
|
-
if(Modernizr.formvalidation && !webshims.bugs.bustedValidity){
|
1244
|
-
//create delegatable events
|
1245
|
-
webshims.capturingEvents(['invalid'], true);
|
1246
|
-
}
|
1233
|
+
|
1247
1234
|
|
1248
1235
|
var modules = webshims.modules;
|
1236
|
+
var support = webshims.support;
|
1249
1237
|
var isValid = function(elem){
|
1250
1238
|
return ($.prop(elem, 'validity') || {valid: 1}).valid;
|
1251
1239
|
};
|
@@ -1299,7 +1287,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1299
1287
|
return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required'));
|
1300
1288
|
},
|
1301
1289
|
"user-error": function(elem){
|
1302
|
-
return ($.prop(elem, 'willValidate') && $(elem).hasClass('user-error'));
|
1290
|
+
return ($.prop(elem, 'willValidate') && $(elem).getShadowElement().hasClass((options.iVal.errorClass || 'user-error')));
|
1303
1291
|
},
|
1304
1292
|
"optional-element": function(elem){
|
1305
1293
|
return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required') === false);
|
@@ -1311,7 +1299,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1311
1299
|
});
|
1312
1300
|
|
1313
1301
|
// sizzle/jQuery has a bug with :disabled/:enabled selectors
|
1314
|
-
if(
|
1302
|
+
if(support.fieldsetdisabled && !$('<fieldset disabled=""><input /><input /></fieldset>').find(':disabled').filter(':disabled').is(':disabled')){
|
1315
1303
|
matches = $.find.matches;
|
1316
1304
|
matchesOverride = {':disabled': 1, ':enabled': 1};
|
1317
1305
|
$.find.matches = function(expr, elements){
|
@@ -1365,6 +1353,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1365
1353
|
addModule('form-validators', $.extend({}, formExtras));
|
1366
1354
|
|
1367
1355
|
|
1356
|
+
if(support.formvalidation && !webshims.bugs.bustedValidity){
|
1357
|
+
//create delegatable events
|
1358
|
+
webshims.capturingEvents(['invalid'], true);
|
1359
|
+
}
|
1368
1360
|
|
1369
1361
|
if($.expr.filters){
|
1370
1362
|
extendSels();
|
@@ -1510,7 +1502,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1510
1502
|
|
1511
1503
|
webshims.ready('WINDOWLOAD', lazyLoad);
|
1512
1504
|
|
1513
|
-
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (
|
1505
|
+
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (support.inputtypes.range && support.inputtypes.color))){
|
1514
1506
|
webshims.isReady('form-number-date-ui', true);
|
1515
1507
|
}
|
1516
1508
|
|
@@ -1591,12 +1583,11 @@ var typeModels = webshims.inputTypes,
|
|
1591
1583
|
}
|
1592
1584
|
return fn;
|
1593
1585
|
})();
|
1594
|
-
|
1595
|
-
|
1596
|
-
|
1597
|
-
|
1598
|
-
|
1599
|
-
}
|
1586
|
+
|
1587
|
+
$.find.matchesSelector = function(node, expr){
|
1588
|
+
expr = expr.replace(regExp, regFn);
|
1589
|
+
return matchesSelector.call(this, node, expr);
|
1590
|
+
};
|
1600
1591
|
|
1601
1592
|
})();
|
1602
1593
|
}
|
@@ -2051,7 +2042,7 @@ webshims.defineNodeNameProperty('form', 'noValidate', {
|
|
2051
2042
|
});
|
2052
2043
|
});
|
2053
2044
|
|
2054
|
-
if(
|
2045
|
+
if(webshims.support.inputtypes.date && /webkit/i.test(navigator.userAgent)){
|
2055
2046
|
(function(){
|
2056
2047
|
|
2057
2048
|
var noInputTriggerEvts = {updateInput: 1, input: 1},
|
@@ -2163,7 +2154,7 @@ webshims.addReady(function(context, contextElem){
|
|
2163
2154
|
|
2164
2155
|
});
|
2165
2156
|
|
2166
|
-
if(!
|
2157
|
+
if(!webshims.support.datalist){
|
2167
2158
|
webshims.defineNodeNameProperty('datalist', 'options', {
|
2168
2159
|
prop: {
|
2169
2160
|
writeable: false,
|
@@ -2597,7 +2588,7 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
2597
2588
|
};
|
2598
2589
|
|
2599
2590
|
|
2600
|
-
if(!
|
2591
|
+
if(!webshims.support.formvalidation || webshims.bugs.bustedValidity){
|
2601
2592
|
implementProperties.push('validationMessage');
|
2602
2593
|
}
|
2603
2594
|
|
@@ -2633,7 +2624,7 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
2633
2624
|
if(message){return message;}
|
2634
2625
|
|
2635
2626
|
if(validity.customError && elem.nodeName){
|
2636
|
-
message = (
|
2627
|
+
message = (webshims.support.formvalidation && !webshims.bugs.bustedValidity && desc.prop._supget) ? desc.prop._supget.call(elem) : webshims.data(elem, 'customvalidationMessage');
|
2637
2628
|
if(message){return message;}
|
2638
2629
|
}
|
2639
2630
|
$.each(validity, function(name, prop){
|
@@ -2712,8 +2703,8 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
2712
2703
|
*/
|
2713
2704
|
|
2714
2705
|
(function(){
|
2715
|
-
var formsCFG =
|
2716
|
-
var listSupport =
|
2706
|
+
var formsCFG = webshims.cfg.forms;
|
2707
|
+
var listSupport = webshims.support.datalist;
|
2717
2708
|
if(listSupport && !formsCFG.customDatalist){return;}
|
2718
2709
|
|
2719
2710
|
var initializeDatalist = function(){
|