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);
|
@@ -285,7 +285,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
285
285
|
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
|
286
286
|
var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
|
287
287
|
var has = Object.prototype.hasOwnProperty;
|
288
|
-
webshims.assumeARIA =
|
288
|
+
webshims.assumeARIA = true;
|
289
289
|
|
290
290
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
291
291
|
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");
|
@@ -304,15 +304,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
304
304
|
}
|
305
305
|
window.jQuery = webshims.$;
|
306
306
|
}
|
307
|
-
if(webshims.M != Modernizr){
|
308
|
-
webshims.error("Modernizr was included more than once. Make sure to include it only once! Webshims and other scripts might not work properly.");
|
309
|
-
for(var i in Modernizr){
|
310
|
-
if(!(i in webshims.M)){
|
311
|
-
webshims.M[i] = Modernizr[i];
|
312
|
-
}
|
313
|
-
}
|
314
|
-
Modernizr = webshims.M;
|
315
|
-
}
|
316
307
|
};
|
317
308
|
switch$();
|
318
309
|
setTimeout(switch$, 90);
|
@@ -641,7 +632,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
641
632
|
var UNKNOWN = webshims.getPrototypeOf(document.createElement('foobar'));
|
642
633
|
|
643
634
|
//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
|
644
|
-
var isExtendNativeSave =
|
635
|
+
var isExtendNativeSave = webshims.support.advancedObjectProperties && webshims.support.objectAccessor;
|
645
636
|
return function(nodeName, prop, desc){
|
646
637
|
var elem , elemProto;
|
647
638
|
if( isExtendNativeSave && (elem = document.createElement(nodeName)) && (elemProto = webshims.getPrototypeOf(elem)) && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
|
@@ -952,7 +943,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
952
943
|
});
|
953
944
|
}
|
954
945
|
webshims.ready('WINDOWLOAD', this.test);
|
955
|
-
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
|
946
|
+
$(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel playerdimensionchange', this.handler);
|
956
947
|
$(window).on('resize', this.handler);
|
957
948
|
}
|
958
949
|
}
|
@@ -1462,13 +1453,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1462
1453
|
e._isPolyfilled = true;
|
1463
1454
|
}
|
1464
1455
|
};
|
1465
|
-
|
1466
|
-
if(Modernizr.formvalidation && !webshims.bugs.bustedValidity){
|
1467
|
-
//create delegatable events
|
1468
|
-
webshims.capturingEvents(['invalid'], true);
|
1469
|
-
}
|
1456
|
+
|
1470
1457
|
|
1471
1458
|
var modules = webshims.modules;
|
1459
|
+
var support = webshims.support;
|
1472
1460
|
var isValid = function(elem){
|
1473
1461
|
return ($.prop(elem, 'validity') || {valid: 1}).valid;
|
1474
1462
|
};
|
@@ -1522,7 +1510,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1522
1510
|
return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required'));
|
1523
1511
|
},
|
1524
1512
|
"user-error": function(elem){
|
1525
|
-
return ($.prop(elem, 'willValidate') && $(elem).hasClass('user-error'));
|
1513
|
+
return ($.prop(elem, 'willValidate') && $(elem).getShadowElement().hasClass((options.iVal.errorClass || 'user-error')));
|
1526
1514
|
},
|
1527
1515
|
"optional-element": function(elem){
|
1528
1516
|
return !!($.prop(elem, 'willValidate') && $.prop(elem, 'required') === false);
|
@@ -1534,7 +1522,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1534
1522
|
});
|
1535
1523
|
|
1536
1524
|
// sizzle/jQuery has a bug with :disabled/:enabled selectors
|
1537
|
-
if(
|
1525
|
+
if(support.fieldsetdisabled && !$('<fieldset disabled=""><input /><input /></fieldset>').find(':disabled').filter(':disabled').is(':disabled')){
|
1538
1526
|
matches = $.find.matches;
|
1539
1527
|
matchesOverride = {':disabled': 1, ':enabled': 1};
|
1540
1528
|
$.find.matches = function(expr, elements){
|
@@ -1588,6 +1576,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1588
1576
|
addModule('form-validators', $.extend({}, formExtras));
|
1589
1577
|
|
1590
1578
|
|
1579
|
+
if(support.formvalidation && !webshims.bugs.bustedValidity){
|
1580
|
+
//create delegatable events
|
1581
|
+
webshims.capturingEvents(['invalid'], true);
|
1582
|
+
}
|
1591
1583
|
|
1592
1584
|
if($.expr.filters){
|
1593
1585
|
extendSels();
|
@@ -1733,7 +1725,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1733
1725
|
|
1734
1726
|
webshims.ready('WINDOWLOAD', lazyLoad);
|
1735
1727
|
|
1736
|
-
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (
|
1728
|
+
if(modules['form-number-date-ui'].loaded && !options.customMessages && (modules['form-number-date-api'].test() || (support.inputtypes.range && support.inputtypes.color))){
|
1737
1729
|
webshims.isReady('form-number-date-ui', true);
|
1738
1730
|
}
|
1739
1731
|
|
@@ -1815,8 +1807,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1815
1807
|
*/
|
1816
1808
|
|
1817
1809
|
(function(){
|
1818
|
-
var formsCFG =
|
1819
|
-
var listSupport =
|
1810
|
+
var formsCFG = webshims.cfg.forms;
|
1811
|
+
var listSupport = webshims.support.datalist;
|
1820
1812
|
if(listSupport && !formsCFG.customDatalist){return;}
|
1821
1813
|
|
1822
1814
|
var initializeDatalist = function(){
|
@@ -2054,9 +2046,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2054
2046
|
})();
|
2055
2047
|
|
2056
2048
|
});
|
2057
|
-
;(function(
|
2049
|
+
;(function(webshims){
|
2058
2050
|
"use strict";
|
2059
|
-
var
|
2051
|
+
var support = webshims.support;
|
2052
|
+
var hasNative = support.mediaelement;
|
2060
2053
|
var supportsLoop = false;
|
2061
2054
|
var bugs = webshims.bugs;
|
2062
2055
|
var swfType = 'mediaelement-jaris';
|
@@ -2079,14 +2072,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2079
2072
|
|
2080
2073
|
if(hasNative){
|
2081
2074
|
var videoElem = document.createElement('video');
|
2082
|
-
|
2083
|
-
|
2075
|
+
support.videoBuffered = ('buffered' in videoElem);
|
2076
|
+
support.mediaDefaultMuted = ('defaultMuted' in videoElem);
|
2084
2077
|
supportsLoop = ('loop' in videoElem);
|
2085
|
-
|
2078
|
+
support.mediaLoop = supportsLoop;
|
2086
2079
|
|
2087
2080
|
webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']);
|
2088
2081
|
|
2089
|
-
if( !
|
2082
|
+
if( !support.videoBuffered || !supportsLoop || (!support.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){
|
2090
2083
|
webshims.addPolyfill('mediaelement-native-fix', {
|
2091
2084
|
d: ['dom-support']
|
2092
2085
|
});
|
@@ -2094,7 +2087,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2094
2087
|
}
|
2095
2088
|
}
|
2096
2089
|
|
2097
|
-
if(
|
2090
|
+
if(support.track && !bugs.track){
|
2098
2091
|
(function(){
|
2099
2092
|
if(!bugs.track){
|
2100
2093
|
|
@@ -2426,19 +2419,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2426
2419
|
}
|
2427
2420
|
}
|
2428
2421
|
};
|
2429
|
-
var
|
2430
|
-
var fixPreload = function(elem){
|
2431
|
-
var preload, img;
|
2432
|
-
if(elem.getAttribute('preload') == 'none'){
|
2433
|
-
if(allowedPreload[(preload = $.attr(elem, 'data-preload'))]){
|
2434
|
-
$.attr(elem, 'preload', preload);
|
2435
|
-
} else if(hasNative && (preload = elem.getAttribute('poster'))){
|
2436
|
-
img = document.createElement('img');
|
2437
|
-
img.src = preload;
|
2438
|
-
}
|
2439
|
-
}
|
2440
|
-
};
|
2441
|
-
var stopParent = /^(?:embed|object|datalist)$/i;
|
2422
|
+
var stopParent = /^(?:embed|object|datalist|picture)$/i;
|
2442
2423
|
var selectSource = function(elem, data){
|
2443
2424
|
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
2444
2425
|
var _srces = mediaelement.srces(elem);
|
@@ -2453,7 +2434,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2453
2434
|
if(mediaelement.sortMedia){
|
2454
2435
|
_srces.sort(mediaelement.sortMedia);
|
2455
2436
|
}
|
2456
|
-
fixPreload(elem);
|
2457
2437
|
stepSources(elem, data, _srces);
|
2458
2438
|
|
2459
2439
|
};
|
@@ -2477,7 +2457,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2477
2457
|
|
2478
2458
|
if(webshims.implement(this, 'mediaelement')){
|
2479
2459
|
selectSource(this);
|
2480
|
-
if(!
|
2460
|
+
if(!support.mediaDefaultMuted && $.attr(this, 'muted') != null){
|
2481
2461
|
$.prop(this, 'muted', true);
|
2482
2462
|
}
|
2483
2463
|
|
@@ -2502,7 +2482,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2502
2482
|
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
2503
2483
|
supLoad.prop._supvalue.apply(this, arguments);
|
2504
2484
|
}
|
2505
|
-
if(!loadTrackUi.loaded &&
|
2485
|
+
if(!loadTrackUi.loaded && this.querySelector('track')){
|
2506
2486
|
loadTrackUi();
|
2507
2487
|
}
|
2508
2488
|
$(this).triggerHandler('wsmediareload');
|
@@ -2601,4 +2581,4 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2601
2581
|
webshims.ready('track', loadTrackUi);
|
2602
2582
|
});
|
2603
2583
|
|
2604
|
-
})(
|
2584
|
+
})(webshims);
|
@@ -338,7 +338,8 @@
|
|
338
338
|
|
339
339
|
var mediaelement = webshims.mediaelement;
|
340
340
|
var swfmini = window.swfmini;
|
341
|
-
var
|
341
|
+
var support = webshims.support;
|
342
|
+
var hasNative = support.mediaelement;
|
342
343
|
var hasFlash = swfmini.hasFlashPlayerVersion('9.0.115');
|
343
344
|
var loadedSwf = 0;
|
344
345
|
var needsLoadPreload = 'ActiveXObject' in window && hasNative;
|
@@ -387,9 +388,11 @@
|
|
387
388
|
_bufferedEnd: 0,
|
388
389
|
_bufferedStart: 0,
|
389
390
|
currentTime: 0,
|
391
|
+
lastCalledTime: -500,
|
390
392
|
_ppFlag: undefined,
|
391
393
|
_calledMeta: false,
|
392
|
-
lastDuration: 0
|
394
|
+
lastDuration: 0,
|
395
|
+
_timeDif: 0.3
|
393
396
|
}, getProps, getSetProps);
|
394
397
|
|
395
398
|
|
@@ -400,7 +403,7 @@
|
|
400
403
|
return null;
|
401
404
|
}
|
402
405
|
var data = webshims.data(elem, 'mediaelement');
|
403
|
-
return (data && data.isActive== 'third') ? data : null;
|
406
|
+
return (data && data.isActive == 'third') ? data : null;
|
404
407
|
};
|
405
408
|
|
406
409
|
var trigger = function(elem, evt){
|
@@ -531,6 +534,14 @@
|
|
531
534
|
if(!data._calledMeta){
|
532
535
|
trigger(data._elem, 'loadedmetadata');
|
533
536
|
}
|
537
|
+
|
538
|
+
if(data.duration > 1 && data.duration < 140){
|
539
|
+
data._timeDif = 0.2;
|
540
|
+
} else if(data.duration < 600) {
|
541
|
+
data._timeDif = 0.25;
|
542
|
+
} else {
|
543
|
+
data._timeDif = 0.30;
|
544
|
+
}
|
534
545
|
}
|
535
546
|
data._calledMeta = true;
|
536
547
|
},
|
@@ -542,6 +553,7 @@
|
|
542
553
|
trigger(data._elem, 'waiting');
|
543
554
|
},
|
544
555
|
onTimeUpdate: function(jaris, data){
|
556
|
+
var timeDif = data.currentTime - data.lastCalledTime;
|
545
557
|
if(data.ended){
|
546
558
|
data.ended = false;
|
547
559
|
}
|
@@ -552,7 +564,12 @@
|
|
552
564
|
if(data.seeking){
|
553
565
|
callSeeked(data);
|
554
566
|
}
|
555
|
-
|
567
|
+
|
568
|
+
if(timeDif > data._timeDif || timeDif < -0.3){
|
569
|
+
data.lastCalledTime = data.currentTime;
|
570
|
+
$.event.trigger('timeupdate', undefined, data._elem, true);
|
571
|
+
}
|
572
|
+
|
556
573
|
},
|
557
574
|
onProgress: function(jaris, data){
|
558
575
|
if(data.ended){
|
@@ -562,10 +579,12 @@
|
|
562
579
|
return;
|
563
580
|
}
|
564
581
|
var percentage = jaris.loaded / jaris.total;
|
582
|
+
|
565
583
|
if(percentage > 0.02 && percentage < 0.2){
|
566
584
|
setReadyState(3, data);
|
567
585
|
} else if(percentage > 0.2){
|
568
|
-
if(percentage > 0.
|
586
|
+
if(percentage > 0.95){
|
587
|
+
percentage = 1;
|
569
588
|
data.networkState = 1;
|
570
589
|
}
|
571
590
|
setReadyState(4, data);
|
@@ -707,7 +726,7 @@
|
|
707
726
|
play: 1,
|
708
727
|
playing: 1
|
709
728
|
};
|
710
|
-
var hideEvtArray = ['play', 'pause', 'playing', 'canplay', 'progress', 'waiting', 'ended', 'loadedmetadata', 'durationchange', 'emptied'];
|
729
|
+
var hideEvtArray = ['play', 'pause', 'playing', 'loadstart', 'canplay', 'progress', 'waiting', 'ended', 'loadedmetadata', 'durationchange', 'emptied'];
|
711
730
|
var hidevents = hideEvtArray.map(function(evt){
|
712
731
|
return evt +'.webshimspolyfill';
|
713
732
|
}).join(' ');
|
@@ -767,7 +786,7 @@
|
|
767
786
|
|
768
787
|
|
769
788
|
var resetSwfProps = (function(){
|
770
|
-
var resetProtoProps = ['_calledMeta', 'lastDuration', '_bufferedEnd', '_bufferedStart', '_ppFlag', 'currentSrc', 'currentTime', 'duration', 'ended', 'networkState', 'paused', 'seeking', 'videoHeight', 'videoWidth'];
|
789
|
+
var resetProtoProps = ['_calledMeta', 'lastDuration', '_bufferedEnd', 'lastCalledTime', '_bufferedStart', '_ppFlag', 'currentSrc', 'currentTime', 'duration', 'ended', 'networkState', 'paused', 'seeking', 'videoHeight', 'videoWidth'];
|
771
790
|
var len = resetProtoProps.length;
|
772
791
|
return function(data){
|
773
792
|
|
@@ -887,7 +906,7 @@
|
|
887
906
|
ret.height = ret.width / ratio;
|
888
907
|
|
889
908
|
}
|
890
|
-
if(!
|
909
|
+
if(!webshims.support.mediaelement){
|
891
910
|
ret.width = data.shadowElem.width();
|
892
911
|
ret.height = data.shadowElem.height();
|
893
912
|
}
|
@@ -1026,7 +1045,7 @@
|
|
1026
1045
|
if(data && data.swfCreated){
|
1027
1046
|
mediaelement.setActive(elem, 'third', data);
|
1028
1047
|
|
1029
|
-
data.currentSrc =
|
1048
|
+
data.currentSrc = '';
|
1030
1049
|
|
1031
1050
|
data.shadowElem.html('<div id="'+ elemId +'">');
|
1032
1051
|
|
@@ -1034,6 +1053,8 @@
|
|
1034
1053
|
data.actionQueue = [];
|
1035
1054
|
box = data.shadowElem;
|
1036
1055
|
resetSwfProps(data);
|
1056
|
+
data.currentSrc = canPlaySrc.srcProp;
|
1057
|
+
|
1037
1058
|
} else {
|
1038
1059
|
$(document.getElementById('wrapper-'+ elemId )).remove();
|
1039
1060
|
box = $('<div class="polyfill-'+ (elemNodeName) +' polyfill-mediaelement '+ webshims.shadowClass +'" id="wrapper-'+ elemId +'"><div id="'+ elemId +'"></div>')
|
@@ -1144,7 +1165,7 @@
|
|
1144
1165
|
}
|
1145
1166
|
} else {
|
1146
1167
|
data.currentTime = jaris.position;
|
1147
|
-
|
1168
|
+
|
1148
1169
|
if(data.api){
|
1149
1170
|
if(!data._calledMeta && isNaN(jaris.duration) && data.duration != jaris.duration && isNaN(data.duration)){
|
1150
1171
|
onEvent.onDataInitialized(jaris, data);
|
@@ -1219,7 +1240,8 @@
|
|
1219
1240
|
}
|
1220
1241
|
}
|
1221
1242
|
});
|
1222
|
-
|
1243
|
+
|
1244
|
+
trigger(data._elem, 'loadstart');
|
1223
1245
|
};
|
1224
1246
|
|
1225
1247
|
|
@@ -1387,7 +1409,7 @@
|
|
1387
1409
|
|
1388
1410
|
mediaSup = webshims.defineNodeNameProperties(nodeName, descs, 'prop');
|
1389
1411
|
|
1390
|
-
if(!
|
1412
|
+
if(!support.mediaDefaultMuted){
|
1391
1413
|
webshims.defineNodeNameProperties(nodeName, {
|
1392
1414
|
defaultMuted: {
|
1393
1415
|
get: function(){
|
@@ -1426,10 +1448,10 @@
|
|
1426
1448
|
if(elems && (len = elems.length) && loadedSwf){
|
1427
1449
|
|
1428
1450
|
for(i = 0; i < len; i++){
|
1429
|
-
if(flashNames[elems[i].nodeName] && '
|
1451
|
+
if(flashNames[elems[i].nodeName] && 'api_destroy' in elems[i]){
|
1430
1452
|
loadedSwf--;
|
1431
1453
|
try {
|
1432
|
-
elems[i].
|
1454
|
+
elems[i].api_destroy();
|
1433
1455
|
if(elems[i].readyState == 4){
|
1434
1456
|
for (prop in elems[i]) {
|
1435
1457
|
if (!noRemove[prop] && !objElem[prop] && typeof elems[i][prop] == "function") {
|
@@ -1437,7 +1459,7 @@
|
|
1437
1459
|
}
|
1438
1460
|
}
|
1439
1461
|
}
|
1440
|
-
} catch(er){}
|
1462
|
+
} catch(er){console.log(er);}
|
1441
1463
|
}
|
1442
1464
|
}
|
1443
1465
|
|
@@ -1564,7 +1586,8 @@
|
|
1564
1586
|
//descriptions are not really shown, but they are inserted into the dom
|
1565
1587
|
var showTracks = {subtitles: 1, captions: 1, descriptions: 1};
|
1566
1588
|
var dummyTrack = $('<track />');
|
1567
|
-
var
|
1589
|
+
var support = webshims.support;
|
1590
|
+
var supportTrackMod = support.ES5 && support.objectAccessor;
|
1568
1591
|
var createEventTarget = function(obj){
|
1569
1592
|
var eventList = {};
|
1570
1593
|
obj.addEventListener = function(name, fn){
|
@@ -1873,19 +1896,23 @@
|
|
1873
1896
|
ttml = $.parseXML(ttml) || [];
|
1874
1897
|
return $(ttml).find('[begin][end]').map(mapTtmlToVtt).get().join('\n\n') || '';
|
1875
1898
|
};
|
1876
|
-
|
1899
|
+
var loadingTracks = 0;
|
1900
|
+
|
1877
1901
|
mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
|
1878
|
-
var loadEvents = 'play playing';
|
1902
|
+
var loadEvents = 'play playing loadedmetadata loadstart';
|
1879
1903
|
var obj = trackData.track;
|
1880
1904
|
var load = function(){
|
1881
1905
|
var error, ajax, createAjax;
|
1882
|
-
var
|
1906
|
+
var isDisabled = obj.mode == 'disabled';
|
1907
|
+
var videoState = !!($.prop(mediaelem, 'readyState') > 0 || $.prop(mediaelem, 'networkState') == 2 || !$.prop(mediaelem, 'paused'));
|
1908
|
+
var src = (!isDisabled || videoState) && ($.attr(track, 'src') && $.prop(track, 'src'));
|
1883
1909
|
|
1884
1910
|
if(src){
|
1885
1911
|
$(mediaelem).off(loadEvents, load).off('updatetrackdisplay', load);
|
1886
1912
|
|
1887
1913
|
if(!trackData.readyState){
|
1888
1914
|
error = function(){
|
1915
|
+
loadingTracks--;
|
1889
1916
|
trackData.readyState = 3;
|
1890
1917
|
obj.cues = null;
|
1891
1918
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = null;
|
@@ -1895,12 +1922,14 @@
|
|
1895
1922
|
try {
|
1896
1923
|
obj.cues = mediaelement.createCueList();
|
1897
1924
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = mediaelement.createCueList();
|
1925
|
+
loadingTracks++;
|
1898
1926
|
createAjax = function(){
|
1899
1927
|
ajax = $.ajax({
|
1900
1928
|
dataType: 'text',
|
1901
1929
|
url: src,
|
1902
1930
|
success: function(text){
|
1903
|
-
|
1931
|
+
loadingTracks--;
|
1932
|
+
var contentType = ajax.getResponseHeader('content-type') || '';
|
1904
1933
|
|
1905
1934
|
if(!contentType.indexOf('application/xml')){
|
1906
1935
|
text = ttmlTextToVTT(text);
|
@@ -1916,13 +1945,16 @@
|
|
1916
1945
|
error();
|
1917
1946
|
}
|
1918
1947
|
});
|
1919
|
-
|
1920
1948
|
},
|
1921
1949
|
error: error
|
1922
1950
|
});
|
1923
1951
|
};
|
1924
1952
|
if($.ajax && $.ajaxSettings.xhr){
|
1925
|
-
|
1953
|
+
if(isDisabled){
|
1954
|
+
setTimeout(createAjax, loadingTracks * 2);
|
1955
|
+
} else {
|
1956
|
+
createAjax();
|
1957
|
+
}
|
1926
1958
|
} else {
|
1927
1959
|
webshims.ready('jajax', createAjax);
|
1928
1960
|
webshims.loader.loadList(['jajax']);
|
@@ -1941,13 +1973,12 @@
|
|
1941
1973
|
obj.cues = null;
|
1942
1974
|
|
1943
1975
|
$(mediaelem).on(loadEvents, load);
|
1976
|
+
|
1944
1977
|
if(_default){
|
1945
1978
|
obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
|
1946
|
-
|
1979
|
+
load();
|
1947
1980
|
} else {
|
1948
|
-
|
1949
|
-
$(mediaelem).on('updatetrackdisplay', load);
|
1950
|
-
});
|
1981
|
+
$(mediaelem).on('updatetrackdisplay', load);
|
1951
1982
|
}
|
1952
1983
|
};
|
1953
1984
|
|
@@ -2219,7 +2250,7 @@ modified for webshims
|
|
2219
2250
|
return baseData.textTracks;
|
2220
2251
|
};
|
2221
2252
|
|
2222
|
-
if(!
|
2253
|
+
if(!support.track){
|
2223
2254
|
webshims.defineNodeNamesBooleanProperty(['track'], 'default');
|
2224
2255
|
webshims.reflectProperties(['track'], ['srclang', 'label']);
|
2225
2256
|
|
@@ -2234,7 +2265,7 @@ modified for webshims
|
|
2234
2265
|
|
2235
2266
|
webshims.defineNodeNameProperties('track', {
|
2236
2267
|
kind: {
|
2237
|
-
attr:
|
2268
|
+
attr: support.track ? {
|
2238
2269
|
set: function(value){
|
2239
2270
|
var trackData = webshims.data(this, 'trackData');
|
2240
2271
|
this.setAttribute('data-kind', value);
|
@@ -2289,7 +2320,6 @@ modified for webshims
|
|
2289
2320
|
});
|
2290
2321
|
|
2291
2322
|
//
|
2292
|
-
|
2293
2323
|
webshims.defineNodeNamesProperties(['track'], {
|
2294
2324
|
ERROR: {
|
2295
2325
|
value: 3
|
@@ -2399,7 +2429,7 @@ modified for webshims
|
|
2399
2429
|
})
|
2400
2430
|
.on('emptied updatetracklist wsmediareload', thUpdateList)
|
2401
2431
|
.each(function(){
|
2402
|
-
if(
|
2432
|
+
if(support.track){
|
2403
2433
|
var shimedTextTracks = $.prop(this, 'textTracks');
|
2404
2434
|
var origTextTracks = this.textTracks;
|
2405
2435
|
|
@@ -2424,7 +2454,7 @@ modified for webshims
|
|
2424
2454
|
});
|
2425
2455
|
});
|
2426
2456
|
|
2427
|
-
if(
|
2457
|
+
if(support.texttrackapi){
|
2428
2458
|
$('video, audio').trigger('trackapichange');
|
2429
2459
|
}
|
2430
2460
|
});
|
@@ -153,7 +153,8 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
153
153
|
//descriptions are not really shown, but they are inserted into the dom
|
154
154
|
var showTracks = {subtitles: 1, captions: 1, descriptions: 1};
|
155
155
|
var dummyTrack = $('<track />');
|
156
|
-
var
|
156
|
+
var support = webshims.support;
|
157
|
+
var supportTrackMod = support.ES5 && support.objectAccessor;
|
157
158
|
var createEventTarget = function(obj){
|
158
159
|
var eventList = {};
|
159
160
|
obj.addEventListener = function(name, fn){
|
@@ -462,19 +463,23 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
462
463
|
ttml = $.parseXML(ttml) || [];
|
463
464
|
return $(ttml).find('[begin][end]').map(mapTtmlToVtt).get().join('\n\n') || '';
|
464
465
|
};
|
465
|
-
|
466
|
+
var loadingTracks = 0;
|
467
|
+
|
466
468
|
mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
|
467
|
-
var loadEvents = 'play playing';
|
469
|
+
var loadEvents = 'play playing loadedmetadata loadstart';
|
468
470
|
var obj = trackData.track;
|
469
471
|
var load = function(){
|
470
472
|
var error, ajax, createAjax;
|
471
|
-
var
|
473
|
+
var isDisabled = obj.mode == 'disabled';
|
474
|
+
var videoState = !!($.prop(mediaelem, 'readyState') > 0 || $.prop(mediaelem, 'networkState') == 2 || !$.prop(mediaelem, 'paused'));
|
475
|
+
var src = (!isDisabled || videoState) && ($.attr(track, 'src') && $.prop(track, 'src'));
|
472
476
|
|
473
477
|
if(src){
|
474
478
|
$(mediaelem).off(loadEvents, load).off('updatetrackdisplay', load);
|
475
479
|
|
476
480
|
if(!trackData.readyState){
|
477
481
|
error = function(){
|
482
|
+
loadingTracks--;
|
478
483
|
trackData.readyState = 3;
|
479
484
|
obj.cues = null;
|
480
485
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = null;
|
@@ -484,12 +489,14 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
484
489
|
try {
|
485
490
|
obj.cues = mediaelement.createCueList();
|
486
491
|
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = mediaelement.createCueList();
|
492
|
+
loadingTracks++;
|
487
493
|
createAjax = function(){
|
488
494
|
ajax = $.ajax({
|
489
495
|
dataType: 'text',
|
490
496
|
url: src,
|
491
497
|
success: function(text){
|
492
|
-
|
498
|
+
loadingTracks--;
|
499
|
+
var contentType = ajax.getResponseHeader('content-type') || '';
|
493
500
|
|
494
501
|
if(!contentType.indexOf('application/xml')){
|
495
502
|
text = ttmlTextToVTT(text);
|
@@ -505,13 +512,16 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
505
512
|
error();
|
506
513
|
}
|
507
514
|
});
|
508
|
-
|
509
515
|
},
|
510
516
|
error: error
|
511
517
|
});
|
512
518
|
};
|
513
519
|
if($.ajax && $.ajaxSettings.xhr){
|
514
|
-
|
520
|
+
if(isDisabled){
|
521
|
+
setTimeout(createAjax, loadingTracks * 2);
|
522
|
+
} else {
|
523
|
+
createAjax();
|
524
|
+
}
|
515
525
|
} else {
|
516
526
|
webshims.ready('jajax', createAjax);
|
517
527
|
webshims.loader.loadList(['jajax']);
|
@@ -530,13 +540,12 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
|
|
530
540
|
obj.cues = null;
|
531
541
|
|
532
542
|
$(mediaelem).on(loadEvents, load);
|
543
|
+
|
533
544
|
if(_default){
|
534
545
|
obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
|
535
|
-
|
546
|
+
load();
|
536
547
|
} else {
|
537
|
-
|
538
|
-
$(mediaelem).on('updatetrackdisplay', load);
|
539
|
-
});
|
548
|
+
$(mediaelem).on('updatetrackdisplay', load);
|
540
549
|
}
|
541
550
|
};
|
542
551
|
|
@@ -808,7 +817,7 @@ modified for webshims
|
|
808
817
|
return baseData.textTracks;
|
809
818
|
};
|
810
819
|
|
811
|
-
if(!
|
820
|
+
if(!support.track){
|
812
821
|
webshims.defineNodeNamesBooleanProperty(['track'], 'default');
|
813
822
|
webshims.reflectProperties(['track'], ['srclang', 'label']);
|
814
823
|
|
@@ -823,7 +832,7 @@ modified for webshims
|
|
823
832
|
|
824
833
|
webshims.defineNodeNameProperties('track', {
|
825
834
|
kind: {
|
826
|
-
attr:
|
835
|
+
attr: support.track ? {
|
827
836
|
set: function(value){
|
828
837
|
var trackData = webshims.data(this, 'trackData');
|
829
838
|
this.setAttribute('data-kind', value);
|
@@ -878,7 +887,6 @@ modified for webshims
|
|
878
887
|
});
|
879
888
|
|
880
889
|
//
|
881
|
-
|
882
890
|
webshims.defineNodeNamesProperties(['track'], {
|
883
891
|
ERROR: {
|
884
892
|
value: 3
|
@@ -988,7 +996,7 @@ modified for webshims
|
|
988
996
|
})
|
989
997
|
.on('emptied updatetracklist wsmediareload', thUpdateList)
|
990
998
|
.each(function(){
|
991
|
-
if(
|
999
|
+
if(support.track){
|
992
1000
|
var shimedTextTracks = $.prop(this, 'textTracks');
|
993
1001
|
var origTextTracks = this.textTracks;
|
994
1002
|
|
@@ -1013,7 +1021,7 @@ modified for webshims
|
|
1013
1021
|
});
|
1014
1022
|
});
|
1015
1023
|
|
1016
|
-
if(
|
1024
|
+
if(support.texttrackapi){
|
1017
1025
|
$('video, audio').trigger('trackapichange');
|
1018
1026
|
}
|
1019
1027
|
});
|