webshims-rails 1.11.1 → 1.11.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +41 -20
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +212 -42
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +196 -37
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +82 -36
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +82 -36
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +17 -6
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +234 -1247
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +234 -1247
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +202 -45
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +202 -45
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +51 -11
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +82 -36
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +82 -36
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +1689 -997
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +51 -11
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +51 -11
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +202 -45
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +237 -51
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +51 -11
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +16 -5
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +247 -48
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +17 -5
- data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +21 -3
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +35 -6
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +6 -8
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +134 -24
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +152 -1205
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +1076 -0
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +47 -20
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/i18n/{formcfg-de.txt → formcfg-de.js} +3 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/{formcfg-en.txt → formcfg-en.js} +5 -1
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +62 -13
- data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +610 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +10 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +743 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +1 -755
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +0 -606
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +36 -23
- data/vendor/assets/javascripts/webshims/shims/track.js +82 -36
- metadata +8 -6
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +0 -2196
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +0 -1167
@@ -1193,8 +1193,8 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1193
1193
|
kind: 'subtitles',
|
1194
1194
|
label: '',
|
1195
1195
|
language: '',
|
1196
|
+
id: '',
|
1196
1197
|
mode: 'disabled',
|
1197
|
-
readyState: 0,
|
1198
1198
|
oncuechange: null,
|
1199
1199
|
toString: function() {
|
1200
1200
|
return "[object TextTrack]";
|
@@ -1234,7 +1234,7 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1234
1234
|
webshims.error("cue not part of track");
|
1235
1235
|
return;
|
1236
1236
|
}
|
1237
|
-
}
|
1237
|
+
}/*,
|
1238
1238
|
DISABLED: 'disabled',
|
1239
1239
|
OFF: 'disabled',
|
1240
1240
|
HIDDEN: 'hidden',
|
@@ -1242,7 +1242,7 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1242
1242
|
ERROR: 3,
|
1243
1243
|
LOADED: 2,
|
1244
1244
|
LOADING: 1,
|
1245
|
-
NONE: 0
|
1245
|
+
NONE: 0*/
|
1246
1246
|
};
|
1247
1247
|
var copyProps = ['kind', 'label', 'srclang'];
|
1248
1248
|
var copyName = {srclang: 'language'};
|
@@ -1311,21 +1311,47 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1311
1311
|
if(!trackData){
|
1312
1312
|
trackData = webshims.data(track, 'trackData');
|
1313
1313
|
}
|
1314
|
+
|
1314
1315
|
if(trackData && !trackData.isTriggering){
|
1315
1316
|
trackData.isTriggering = true;
|
1316
1317
|
setTimeout(function(){
|
1317
|
-
|
1318
|
-
$(track).triggerHandler('checktrackmode');
|
1319
|
-
} else {
|
1320
|
-
$(track).closest('audio, video').triggerHandler('updatetrackdisplay');
|
1321
|
-
}
|
1318
|
+
$(track).closest('audio, video').triggerHandler('updatetrackdisplay');
|
1322
1319
|
trackData.isTriggering = false;
|
1323
1320
|
}, 1);
|
1324
1321
|
}
|
1325
1322
|
};
|
1326
|
-
|
1323
|
+
var isDefaultTrack = (function(){
|
1324
|
+
var defaultKinds = {
|
1325
|
+
subtitles: {
|
1326
|
+
subtitles: 1,
|
1327
|
+
captions: 1
|
1328
|
+
},
|
1329
|
+
descriptions: {descriptions: 1},
|
1330
|
+
chapters: {chapters: 1}
|
1331
|
+
};
|
1332
|
+
defaultKinds.captions = defaultKinds.subtitles;
|
1333
|
+
|
1334
|
+
return function(track){
|
1335
|
+
var kind, firstDefaultTrack;
|
1336
|
+
var isDefault = $.prop(track, 'default');
|
1337
|
+
if(isDefault && (kind = $.prop(track, 'kind')) != 'metadata'){
|
1338
|
+
firstDefaultTrack = $(track)
|
1339
|
+
.parent()
|
1340
|
+
.find('track[default]')
|
1341
|
+
.filter(function(){
|
1342
|
+
return !!(defaultKinds[kind][$.prop(this, 'kind')]);
|
1343
|
+
})[0]
|
1344
|
+
;
|
1345
|
+
if(firstDefaultTrack != track){
|
1346
|
+
isDefault = false;
|
1347
|
+
webshims.error('more than one default track of a specific kind detected. Fall back to default = false');
|
1348
|
+
}
|
1349
|
+
}
|
1350
|
+
return isDefault;
|
1351
|
+
};
|
1352
|
+
})();
|
1327
1353
|
var emptyDiv = $('<div />')[0];
|
1328
|
-
|
1354
|
+
var TextTrackCue = function(startTime, endTime, text){
|
1329
1355
|
if(arguments.length != 3){
|
1330
1356
|
webshims.error("wrong arguments.length for TextTrackCue.constructor");
|
1331
1357
|
}
|
@@ -1334,13 +1360,11 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1334
1360
|
this.endTime = endTime;
|
1335
1361
|
this.text = text;
|
1336
1362
|
|
1337
|
-
this.id = "";
|
1338
|
-
this.pauseOnExit = false;
|
1339
1363
|
|
1340
1364
|
createEventTarget(this);
|
1341
1365
|
};
|
1342
1366
|
|
1343
|
-
|
1367
|
+
TextTrackCue.prototype = {
|
1344
1368
|
|
1345
1369
|
onenter: null,
|
1346
1370
|
onexit: null,
|
@@ -1382,6 +1406,7 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1382
1406
|
// align: 'middle'
|
1383
1407
|
};
|
1384
1408
|
|
1409
|
+
window.TextTrackCue = TextTrackCue;
|
1385
1410
|
|
1386
1411
|
|
1387
1412
|
|
@@ -1427,23 +1452,20 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1427
1452
|
})();
|
1428
1453
|
|
1429
1454
|
mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
|
1430
|
-
var loadEvents = 'play playing
|
1455
|
+
var loadEvents = 'play playing updatetrackdisplay';
|
1431
1456
|
var obj = trackData.track;
|
1432
1457
|
var load = function(){
|
1433
|
-
var
|
1434
|
-
|
1435
|
-
var ajax;
|
1436
|
-
if(obj.mode != 'disabled' && src && $.attr(track, 'src')){
|
1458
|
+
var error, ajax, src;
|
1459
|
+
if(obj.mode != 'disabled' && $.attr(track, 'src') && (src = $.prop(track, 'src'))){
|
1437
1460
|
$(mediaelem).unbind(loadEvents, load);
|
1438
|
-
|
1439
|
-
if(!obj.readyState){
|
1461
|
+
if(!trackData.readyState){
|
1440
1462
|
error = function(){
|
1441
|
-
|
1463
|
+
trackData.readyState = 3;
|
1442
1464
|
obj.cues = null;
|
1443
1465
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = null;
|
1444
1466
|
$(track).triggerHandler('error');
|
1445
1467
|
};
|
1446
|
-
|
1468
|
+
trackData.readyState = 1;
|
1447
1469
|
try {
|
1448
1470
|
obj.cues = mediaelement.createCueList();
|
1449
1471
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = mediaelement.createCueList();
|
@@ -1456,7 +1478,7 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1456
1478
|
}
|
1457
1479
|
mediaelement.parseCaptions(text, obj, function(cues){
|
1458
1480
|
if(cues && 'length' in cues){
|
1459
|
-
|
1481
|
+
trackData.readyState = 2;
|
1460
1482
|
$(track).triggerHandler('load');
|
1461
1483
|
$(mediaelem).triggerHandler('updatetrackdisplay');
|
1462
1484
|
} else {
|
@@ -1469,20 +1491,18 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1469
1491
|
});
|
1470
1492
|
} catch(er){
|
1471
1493
|
error();
|
1472
|
-
webshims.
|
1494
|
+
webshims.error(er);
|
1473
1495
|
}
|
1474
1496
|
}
|
1475
1497
|
}
|
1476
1498
|
};
|
1477
|
-
|
1499
|
+
trackData.readyState = 0;
|
1478
1500
|
obj.shimActiveCues = null;
|
1479
1501
|
obj._shimActiveCues = null;
|
1480
1502
|
obj.activeCues = null;
|
1481
1503
|
obj.cues = null;
|
1482
1504
|
$(mediaelem).unbind(loadEvents, load);
|
1483
|
-
$(track).unbind('checktrackmode', load);
|
1484
1505
|
$(mediaelem).on(loadEvents, load);
|
1485
|
-
$(track).on('checktrackmode', load);
|
1486
1506
|
if(_default){
|
1487
1507
|
obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
|
1488
1508
|
load();
|
@@ -1524,9 +1544,9 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1524
1544
|
});
|
1525
1545
|
});
|
1526
1546
|
}
|
1527
|
-
|
1547
|
+
obj.id = $(track).prop('id');
|
1528
1548
|
trackData = webshims.data(track, 'trackData', {track: obj});
|
1529
|
-
mediaelement.loadTextTrack(mediaelem, track, trackData, (
|
1549
|
+
mediaelement.loadTextTrack(mediaelem, track, trackData, isDefaultTrack(track));
|
1530
1550
|
} else {
|
1531
1551
|
if(supportTrackMod){
|
1532
1552
|
copyProps.forEach(function(copyProp){
|
@@ -1541,7 +1561,12 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1541
1561
|
obj.mode = 'hidden';
|
1542
1562
|
obj.readyState = 2;
|
1543
1563
|
}
|
1564
|
+
if(obj.kind == 'subtitles' && !obj.language){
|
1565
|
+
webshims.error('you must provide a language for track in subtitles state');
|
1566
|
+
}
|
1567
|
+
obj.__wsmode = obj.mode;
|
1544
1568
|
}
|
1569
|
+
|
1545
1570
|
return obj;
|
1546
1571
|
};
|
1547
1572
|
|
@@ -1734,9 +1759,33 @@ modified for webshims
|
|
1734
1759
|
baseData.textTracks = [];
|
1735
1760
|
webshims.defineProperties(baseData.textTracks, {
|
1736
1761
|
onaddtrack: {value: null},
|
1737
|
-
onremovetrack: {value: null}
|
1762
|
+
onremovetrack: {value: null},
|
1763
|
+
onchange: {value: null},
|
1764
|
+
getTrackById: {
|
1765
|
+
value: function(id){
|
1766
|
+
var track = null;
|
1767
|
+
for(var i = 0; i < baseData.textTracks.length; i++){
|
1768
|
+
if(id == baseData.textTracks[i].id){
|
1769
|
+
track = baseData.textTracks[i];
|
1770
|
+
break;
|
1771
|
+
}
|
1772
|
+
}
|
1773
|
+
return track;
|
1774
|
+
}
|
1775
|
+
}
|
1738
1776
|
});
|
1739
1777
|
createEventTarget(baseData.textTracks);
|
1778
|
+
$(mediaelem).on('updatetrackdisplay', function(){
|
1779
|
+
var track;
|
1780
|
+
for(var i = 0; i < baseData.textTracks.length; i++){
|
1781
|
+
track = baseData.textTracks[i];
|
1782
|
+
if(track.__wsmode != track.mode){
|
1783
|
+
track.__wsmode = track.mode;
|
1784
|
+
$([ baseData.textTracks ]).triggerHandler('change');
|
1785
|
+
}
|
1786
|
+
}
|
1787
|
+
});
|
1788
|
+
|
1740
1789
|
}
|
1741
1790
|
return baseData.textTracks;
|
1742
1791
|
};
|
@@ -1791,10 +1840,6 @@ modified for webshims
|
|
1791
1840
|
if(!supportTrackMod){
|
1792
1841
|
trackData.track[name] = $.prop(this, copyProp);
|
1793
1842
|
}
|
1794
|
-
clearTimeout(trackData.changedTrackPropTimer);
|
1795
|
-
trackData.changedTrackPropTimer = setTimeout(function(){
|
1796
|
-
$(track).trigger('updatesubtitlestate');
|
1797
|
-
}, 1);
|
1798
1843
|
}
|
1799
1844
|
});
|
1800
1845
|
});
|
@@ -1831,7 +1876,8 @@ modified for webshims
|
|
1831
1876
|
},
|
1832
1877
|
readyState: {
|
1833
1878
|
get: function(){
|
1834
|
-
|
1879
|
+
|
1880
|
+
return (webshims.data(this, 'trackData') || {readyState: 0}).readyState;
|
1835
1881
|
},
|
1836
1882
|
writeable: false
|
1837
1883
|
},
|
@@ -1949,7 +1995,7 @@ modified for webshims
|
|
1949
1995
|
});
|
1950
1996
|
});
|
1951
1997
|
|
1952
|
-
if(Modernizr.
|
1998
|
+
if(Modernizr.texttrackapi){
|
1953
1999
|
$('video, audio').trigger('trackapichange');
|
1954
2000
|
}
|
1955
2001
|
});
|
@@ -741,8 +741,8 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
741
741
|
kind: 'subtitles',
|
742
742
|
label: '',
|
743
743
|
language: '',
|
744
|
+
id: '',
|
744
745
|
mode: 'disabled',
|
745
|
-
readyState: 0,
|
746
746
|
oncuechange: null,
|
747
747
|
toString: function() {
|
748
748
|
return "[object TextTrack]";
|
@@ -782,7 +782,7 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
782
782
|
webshims.error("cue not part of track");
|
783
783
|
return;
|
784
784
|
}
|
785
|
-
}
|
785
|
+
}/*,
|
786
786
|
DISABLED: 'disabled',
|
787
787
|
OFF: 'disabled',
|
788
788
|
HIDDEN: 'hidden',
|
@@ -790,7 +790,7 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
790
790
|
ERROR: 3,
|
791
791
|
LOADED: 2,
|
792
792
|
LOADING: 1,
|
793
|
-
NONE: 0
|
793
|
+
NONE: 0*/
|
794
794
|
};
|
795
795
|
var copyProps = ['kind', 'label', 'srclang'];
|
796
796
|
var copyName = {srclang: 'language'};
|
@@ -859,21 +859,47 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
859
859
|
if(!trackData){
|
860
860
|
trackData = webshims.data(track, 'trackData');
|
861
861
|
}
|
862
|
+
|
862
863
|
if(trackData && !trackData.isTriggering){
|
863
864
|
trackData.isTriggering = true;
|
864
865
|
setTimeout(function(){
|
865
|
-
|
866
|
-
$(track).triggerHandler('checktrackmode');
|
867
|
-
} else {
|
868
|
-
$(track).closest('audio, video').triggerHandler('updatetrackdisplay');
|
869
|
-
}
|
866
|
+
$(track).closest('audio, video').triggerHandler('updatetrackdisplay');
|
870
867
|
trackData.isTriggering = false;
|
871
868
|
}, 1);
|
872
869
|
}
|
873
870
|
};
|
874
|
-
|
871
|
+
var isDefaultTrack = (function(){
|
872
|
+
var defaultKinds = {
|
873
|
+
subtitles: {
|
874
|
+
subtitles: 1,
|
875
|
+
captions: 1
|
876
|
+
},
|
877
|
+
descriptions: {descriptions: 1},
|
878
|
+
chapters: {chapters: 1}
|
879
|
+
};
|
880
|
+
defaultKinds.captions = defaultKinds.subtitles;
|
881
|
+
|
882
|
+
return function(track){
|
883
|
+
var kind, firstDefaultTrack;
|
884
|
+
var isDefault = $.prop(track, 'default');
|
885
|
+
if(isDefault && (kind = $.prop(track, 'kind')) != 'metadata'){
|
886
|
+
firstDefaultTrack = $(track)
|
887
|
+
.parent()
|
888
|
+
.find('track[default]')
|
889
|
+
.filter(function(){
|
890
|
+
return !!(defaultKinds[kind][$.prop(this, 'kind')]);
|
891
|
+
})[0]
|
892
|
+
;
|
893
|
+
if(firstDefaultTrack != track){
|
894
|
+
isDefault = false;
|
895
|
+
webshims.error('more than one default track of a specific kind detected. Fall back to default = false');
|
896
|
+
}
|
897
|
+
}
|
898
|
+
return isDefault;
|
899
|
+
};
|
900
|
+
})();
|
875
901
|
var emptyDiv = $('<div />')[0];
|
876
|
-
|
902
|
+
var TextTrackCue = function(startTime, endTime, text){
|
877
903
|
if(arguments.length != 3){
|
878
904
|
webshims.error("wrong arguments.length for TextTrackCue.constructor");
|
879
905
|
}
|
@@ -882,13 +908,11 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
882
908
|
this.endTime = endTime;
|
883
909
|
this.text = text;
|
884
910
|
|
885
|
-
this.id = "";
|
886
|
-
this.pauseOnExit = false;
|
887
911
|
|
888
912
|
createEventTarget(this);
|
889
913
|
};
|
890
914
|
|
891
|
-
|
915
|
+
TextTrackCue.prototype = {
|
892
916
|
|
893
917
|
onenter: null,
|
894
918
|
onexit: null,
|
@@ -930,6 +954,7 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
930
954
|
// align: 'middle'
|
931
955
|
};
|
932
956
|
|
957
|
+
window.TextTrackCue = TextTrackCue;
|
933
958
|
|
934
959
|
|
935
960
|
|
@@ -975,23 +1000,20 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
975
1000
|
})();
|
976
1001
|
|
977
1002
|
mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
|
978
|
-
var loadEvents = 'play playing
|
1003
|
+
var loadEvents = 'play playing updatetrackdisplay';
|
979
1004
|
var obj = trackData.track;
|
980
1005
|
var load = function(){
|
981
|
-
var
|
982
|
-
|
983
|
-
var ajax;
|
984
|
-
if(obj.mode != 'disabled' && src && $.attr(track, 'src')){
|
1006
|
+
var error, ajax, src;
|
1007
|
+
if(obj.mode != 'disabled' && $.attr(track, 'src') && (src = $.prop(track, 'src'))){
|
985
1008
|
$(mediaelem).unbind(loadEvents, load);
|
986
|
-
|
987
|
-
if(!obj.readyState){
|
1009
|
+
if(!trackData.readyState){
|
988
1010
|
error = function(){
|
989
|
-
|
1011
|
+
trackData.readyState = 3;
|
990
1012
|
obj.cues = null;
|
991
1013
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = null;
|
992
1014
|
$(track).triggerHandler('error');
|
993
1015
|
};
|
994
|
-
|
1016
|
+
trackData.readyState = 1;
|
995
1017
|
try {
|
996
1018
|
obj.cues = mediaelement.createCueList();
|
997
1019
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = mediaelement.createCueList();
|
@@ -1004,7 +1026,7 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1004
1026
|
}
|
1005
1027
|
mediaelement.parseCaptions(text, obj, function(cues){
|
1006
1028
|
if(cues && 'length' in cues){
|
1007
|
-
|
1029
|
+
trackData.readyState = 2;
|
1008
1030
|
$(track).triggerHandler('load');
|
1009
1031
|
$(mediaelem).triggerHandler('updatetrackdisplay');
|
1010
1032
|
} else {
|
@@ -1017,20 +1039,18 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1017
1039
|
});
|
1018
1040
|
} catch(er){
|
1019
1041
|
error();
|
1020
|
-
webshims.
|
1042
|
+
webshims.error(er);
|
1021
1043
|
}
|
1022
1044
|
}
|
1023
1045
|
}
|
1024
1046
|
};
|
1025
|
-
|
1047
|
+
trackData.readyState = 0;
|
1026
1048
|
obj.shimActiveCues = null;
|
1027
1049
|
obj._shimActiveCues = null;
|
1028
1050
|
obj.activeCues = null;
|
1029
1051
|
obj.cues = null;
|
1030
1052
|
$(mediaelem).unbind(loadEvents, load);
|
1031
|
-
$(track).unbind('checktrackmode', load);
|
1032
1053
|
$(mediaelem).on(loadEvents, load);
|
1033
|
-
$(track).on('checktrackmode', load);
|
1034
1054
|
if(_default){
|
1035
1055
|
obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
|
1036
1056
|
load();
|
@@ -1072,9 +1092,9 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1072
1092
|
});
|
1073
1093
|
});
|
1074
1094
|
}
|
1075
|
-
|
1095
|
+
obj.id = $(track).prop('id');
|
1076
1096
|
trackData = webshims.data(track, 'trackData', {track: obj});
|
1077
|
-
mediaelement.loadTextTrack(mediaelem, track, trackData, (
|
1097
|
+
mediaelement.loadTextTrack(mediaelem, track, trackData, isDefaultTrack(track));
|
1078
1098
|
} else {
|
1079
1099
|
if(supportTrackMod){
|
1080
1100
|
copyProps.forEach(function(copyProp){
|
@@ -1089,7 +1109,12 @@ webshims.register('track', function($, webshims, window, document, undefined){
|
|
1089
1109
|
obj.mode = 'hidden';
|
1090
1110
|
obj.readyState = 2;
|
1091
1111
|
}
|
1112
|
+
if(obj.kind == 'subtitles' && !obj.language){
|
1113
|
+
webshims.error('you must provide a language for track in subtitles state');
|
1114
|
+
}
|
1115
|
+
obj.__wsmode = obj.mode;
|
1092
1116
|
}
|
1117
|
+
|
1093
1118
|
return obj;
|
1094
1119
|
};
|
1095
1120
|
|
@@ -1282,9 +1307,33 @@ modified for webshims
|
|
1282
1307
|
baseData.textTracks = [];
|
1283
1308
|
webshims.defineProperties(baseData.textTracks, {
|
1284
1309
|
onaddtrack: {value: null},
|
1285
|
-
onremovetrack: {value: null}
|
1310
|
+
onremovetrack: {value: null},
|
1311
|
+
onchange: {value: null},
|
1312
|
+
getTrackById: {
|
1313
|
+
value: function(id){
|
1314
|
+
var track = null;
|
1315
|
+
for(var i = 0; i < baseData.textTracks.length; i++){
|
1316
|
+
if(id == baseData.textTracks[i].id){
|
1317
|
+
track = baseData.textTracks[i];
|
1318
|
+
break;
|
1319
|
+
}
|
1320
|
+
}
|
1321
|
+
return track;
|
1322
|
+
}
|
1323
|
+
}
|
1286
1324
|
});
|
1287
1325
|
createEventTarget(baseData.textTracks);
|
1326
|
+
$(mediaelem).on('updatetrackdisplay', function(){
|
1327
|
+
var track;
|
1328
|
+
for(var i = 0; i < baseData.textTracks.length; i++){
|
1329
|
+
track = baseData.textTracks[i];
|
1330
|
+
if(track.__wsmode != track.mode){
|
1331
|
+
track.__wsmode = track.mode;
|
1332
|
+
$([ baseData.textTracks ]).triggerHandler('change');
|
1333
|
+
}
|
1334
|
+
}
|
1335
|
+
});
|
1336
|
+
|
1288
1337
|
}
|
1289
1338
|
return baseData.textTracks;
|
1290
1339
|
};
|
@@ -1339,10 +1388,6 @@ modified for webshims
|
|
1339
1388
|
if(!supportTrackMod){
|
1340
1389
|
trackData.track[name] = $.prop(this, copyProp);
|
1341
1390
|
}
|
1342
|
-
clearTimeout(trackData.changedTrackPropTimer);
|
1343
|
-
trackData.changedTrackPropTimer = setTimeout(function(){
|
1344
|
-
$(track).trigger('updatesubtitlestate');
|
1345
|
-
}, 1);
|
1346
1391
|
}
|
1347
1392
|
});
|
1348
1393
|
});
|
@@ -1379,7 +1424,8 @@ modified for webshims
|
|
1379
1424
|
},
|
1380
1425
|
readyState: {
|
1381
1426
|
get: function(){
|
1382
|
-
|
1427
|
+
|
1428
|
+
return (webshims.data(this, 'trackData') || {readyState: 0}).readyState;
|
1383
1429
|
},
|
1384
1430
|
writeable: false
|
1385
1431
|
},
|
@@ -1497,7 +1543,7 @@ modified for webshims
|
|
1497
1543
|
});
|
1498
1544
|
});
|
1499
1545
|
|
1500
|
-
if(Modernizr.
|
1546
|
+
if(Modernizr.texttrackapi){
|
1501
1547
|
$('video, audio').trigger('trackapichange');
|
1502
1548
|
}
|
1503
1549
|
});
|