webshims-rails 1.10.6 → 1.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +8 -8
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/polyfiller.js +14 -7
- data/vendor/assets/javascripts/webshims/shims/color-picker.js +1 -0
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +153 -155
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +168 -136
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +100 -95
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +100 -95
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +51 -91
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +129 -232
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +228 -326
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +210 -214
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +204 -246
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +210 -214
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +59 -28
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +100 -95
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +210 -214
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +51 -91
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +110 -119
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +6 -0
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +126 -156
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +126 -155
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +104 -151
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +73 -96
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +116 -44
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +226 -250
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +226 -250
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +168 -136
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +51 -91
- data/vendor/assets/javascripts/webshims/shims/form-core.js +53 -60
- data/vendor/assets/javascripts/webshims/shims/form-message.js +22 -5
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +87 -30
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +2 -76
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +18 -8
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +100 -95
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +59 -28
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +9 -2
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +29 -14
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +21 -7
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +30 -15
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +6 -0
- metadata +2 -2
@@ -1312,10 +1312,15 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1312
1312
|
if(!$.parseHTML){
|
1313
1313
|
webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
|
1314
1314
|
}
|
1315
|
+
|
1316
|
+
if(webshims.cfg.extendNative == 1){
|
1317
|
+
webshims.warn("extendNative configuration will be set to false by default with next release. In case you rely on it set it to 'true' otherwise to 'false'. See http://bit.ly/16OOTQO");
|
1318
|
+
}
|
1319
|
+
|
1315
1320
|
if (!webshims.cfg.no$Switch) {
|
1316
1321
|
var switch$ = function(){
|
1317
1322
|
if (window.jQuery && (!window.$ || window.jQuery == window.$) && !window.jQuery.webshims) {
|
1318
|
-
webshims.error("jQuery was included more than once. Make sure to include it only once! Webshims and other Plugins might not work properly
|
1323
|
+
webshims.error("jQuery was included more than once. Make sure to include it only once or try the $.noConflict(extreme) feature! Webshims and other Plugins might not work properly..");
|
1319
1324
|
if (window.$) {
|
1320
1325
|
window.$ = webshims.$;
|
1321
1326
|
}
|
@@ -1333,7 +1338,10 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1333
1338
|
};
|
1334
1339
|
switch$();
|
1335
1340
|
setTimeout(switch$, 90);
|
1341
|
+
webshims.ready('DOM', switch$);
|
1336
1342
|
$(switch$);
|
1343
|
+
webshims.ready('WINDOWLOAD', switch$);
|
1344
|
+
|
1337
1345
|
}
|
1338
1346
|
// (function(){
|
1339
1347
|
// var hostNames = {
|
@@ -1441,6 +1449,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1441
1449
|
$(evtDel).off(evt, fn);
|
1442
1450
|
}
|
1443
1451
|
});
|
1452
|
+
return this;
|
1444
1453
|
};
|
1445
1454
|
|
1446
1455
|
var dataID = '_webshimsLib'+ (Math.round(Math.random() * 1000));
|
@@ -1475,57 +1484,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1475
1484
|
};
|
1476
1485
|
});
|
1477
1486
|
|
1478
|
-
if($.Tween.propHooks._default && $.css){
|
1479
|
-
(function(){
|
1480
|
-
var isjQ8 = false;
|
1481
|
-
try {
|
1482
|
-
isjQ8 = $.css($('<b style="width: 10px" />')[0], 'width', '') == '10px';
|
1483
|
-
} catch(er){
|
1484
|
-
webshims.error(er);
|
1485
|
-
}
|
1486
|
-
var css = isjQ8 ?
|
1487
|
-
function(elem, prop){
|
1488
|
-
return $.css( elem, prop, false, "" );
|
1489
|
-
} :
|
1490
|
-
function(elem, prop){
|
1491
|
-
return $.css( elem, prop, "" );
|
1492
|
-
}
|
1493
|
-
;
|
1494
|
-
|
1495
|
-
$.extend($.Tween.propHooks._default, {
|
1496
|
-
get: function( tween ) {
|
1497
|
-
var result;
|
1498
|
-
|
1499
|
-
if ( (tween.elem[ tween.prop ] != null || havePolyfill[ tween.prop ]) &&
|
1500
|
-
(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {
|
1501
|
-
return havePolyfill[ tween.prop ] ? $.prop(tween.elem, tween.prop) : tween.elem[ tween.prop ];
|
1502
|
-
}
|
1503
|
-
|
1504
|
-
// passing an empty string as a 3rd parameter to .css will automatically
|
1505
|
-
// attempt a parseFloat and fallback to a string if the parse fails
|
1506
|
-
// so, simple values such as "10px" are parsed to Float.
|
1507
|
-
// complex values such as "rotate(1rad)" are returned as is.
|
1508
|
-
result = css( tween.elem, tween.prop );
|
1509
|
-
// Empty strings, null, undefined and "auto" are converted to 0.
|
1510
|
-
return !result || result === "auto" ? 0 : result;
|
1511
|
-
},
|
1512
|
-
set: function( tween ) {
|
1513
|
-
// use step hook for back compat - use cssHook if its there - use .style if its
|
1514
|
-
// available and use plain properties where available
|
1515
|
-
if ( jQuery.fx.step[ tween.prop ] ) {
|
1516
|
-
jQuery.fx.step[ tween.prop ]( tween );
|
1517
|
-
} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {
|
1518
|
-
jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
|
1519
|
-
} else if( !havePolyfill[ tween.prop ] ) {
|
1520
|
-
tween.elem[ tween.prop ] = tween.now;
|
1521
|
-
} else {
|
1522
|
-
$.prop(tween.elem, tween.prop, tween.now);
|
1523
|
-
}
|
1524
|
-
}
|
1525
|
-
});
|
1526
|
-
})();
|
1527
|
-
}
|
1528
|
-
|
1529
1487
|
|
1530
1488
|
['removeAttr', 'prop', 'attr'].forEach(function(type){
|
1531
1489
|
olds[type] = $[type];
|
@@ -1929,48 +1887,50 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1929
1887
|
});
|
1930
1888
|
};
|
1931
1889
|
return function(nativeElem, shadowElem, opts){
|
1932
|
-
|
1933
|
-
|
1934
|
-
nativeElem
|
1935
|
-
|
1936
|
-
if(shadowElem.jquery){
|
1937
|
-
shadowElem = shadowElem[0];
|
1938
|
-
}
|
1939
|
-
var nativeData = $.data(nativeElem, dataID) || $.data(nativeElem, dataID, {});
|
1940
|
-
var shadowData = $.data(shadowElem, dataID) || $.data(shadowElem, dataID, {});
|
1941
|
-
var shadowFocusElementData = {};
|
1942
|
-
if(!opts.shadowFocusElement){
|
1943
|
-
opts.shadowFocusElement = shadowElem;
|
1944
|
-
} else if(opts.shadowFocusElement){
|
1945
|
-
if(opts.shadowFocusElement.jquery){
|
1946
|
-
opts.shadowFocusElement = opts.shadowFocusElement[0];
|
1890
|
+
if(nativeElem && shadowElem){
|
1891
|
+
opts = opts || {};
|
1892
|
+
if(nativeElem.jquery){
|
1893
|
+
nativeElem = nativeElem[0];
|
1947
1894
|
}
|
1948
|
-
|
1949
|
-
|
1950
|
-
|
1951
|
-
$(nativeElem).on('remove', function(e){
|
1952
|
-
if (!e.originalEvent) {
|
1953
|
-
$(shadowElem).remove();
|
1895
|
+
if(shadowElem.jquery){
|
1896
|
+
shadowElem = shadowElem[0];
|
1954
1897
|
}
|
1955
|
-
|
1956
|
-
|
1957
|
-
|
1958
|
-
|
1959
|
-
|
1960
|
-
|
1961
|
-
|
1962
|
-
|
1963
|
-
|
1964
|
-
|
1965
|
-
|
1966
|
-
|
1898
|
+
var nativeData = $.data(nativeElem, dataID) || $.data(nativeElem, dataID, {});
|
1899
|
+
var shadowData = $.data(shadowElem, dataID) || $.data(shadowElem, dataID, {});
|
1900
|
+
var shadowFocusElementData = {};
|
1901
|
+
if(!opts.shadowFocusElement){
|
1902
|
+
opts.shadowFocusElement = shadowElem;
|
1903
|
+
} else if(opts.shadowFocusElement){
|
1904
|
+
if(opts.shadowFocusElement.jquery){
|
1905
|
+
opts.shadowFocusElement = opts.shadowFocusElement[0];
|
1906
|
+
}
|
1907
|
+
shadowFocusElementData = $.data(opts.shadowFocusElement, dataID) || $.data(opts.shadowFocusElement, dataID, shadowFocusElementData);
|
1908
|
+
}
|
1909
|
+
|
1910
|
+
$(nativeElem).on('remove', function(e){
|
1911
|
+
if (!e.originalEvent) {
|
1912
|
+
$(shadowElem).remove();
|
1913
|
+
}
|
1967
1914
|
});
|
1915
|
+
|
1916
|
+
nativeData.hasShadow = shadowElem;
|
1917
|
+
shadowFocusElementData.nativeElement = shadowData.nativeElement = nativeElem;
|
1918
|
+
shadowFocusElementData.shadowData = shadowData.shadowData = nativeData.shadowData = {
|
1919
|
+
nativeElement: nativeElem,
|
1920
|
+
shadowElement: shadowElem,
|
1921
|
+
shadowFocusElement: opts.shadowFocusElement
|
1922
|
+
};
|
1923
|
+
if(opts.shadowChilds){
|
1924
|
+
opts.shadowChilds.each(function(){
|
1925
|
+
elementData(this, 'shadowData', shadowData.shadowData);
|
1926
|
+
});
|
1927
|
+
}
|
1928
|
+
|
1929
|
+
if(opts.data){
|
1930
|
+
shadowFocusElementData.shadowData.data = shadowData.shadowData.data = nativeData.shadowData.data = opts.data;
|
1931
|
+
}
|
1932
|
+
opts = null;
|
1968
1933
|
}
|
1969
|
-
|
1970
|
-
if(opts.data){
|
1971
|
-
shadowFocusElementData.shadowData.data = shadowData.shadowData.data = nativeData.shadowData.data = opts.data;
|
1972
|
-
}
|
1973
|
-
opts = null;
|
1974
1934
|
webshims.docObserve();
|
1975
1935
|
};
|
1976
1936
|
})(),
|
@@ -2254,7 +2214,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2254
2214
|
// register: moduleName:string,
|
2255
2215
|
// callback: callback:function
|
2256
2216
|
// });
|
2257
|
-
// get/set including
|
2217
|
+
// get/set including remoteLang
|
2258
2218
|
// - webshims.activeLang({
|
2259
2219
|
// module: moduleName:string,
|
2260
2220
|
// callback: callback:function,
|
@@ -2850,52 +2810,55 @@ webshims.register('filereader', function( $, webshims ){
|
|
2850
2810
|
});
|
2851
2811
|
webshims.loader.loadList(['mediaelement-native-fix']);
|
2852
2812
|
}
|
2853
|
-
|
2854
|
-
|
2855
|
-
|
2856
|
-
|
2857
|
-
|
2858
|
-
|
2859
|
-
|
2860
|
-
|
2861
|
-
|
2862
|
-
var parent;
|
2863
|
-
if(!options.preferFlash &&
|
2813
|
+
|
2814
|
+
if(!options.preferFlash){
|
2815
|
+
var noSwitch = {
|
2816
|
+
1: 1,
|
2817
|
+
2: 1
|
2818
|
+
};
|
2819
|
+
var switchOptions = function(e){
|
2820
|
+
var media, error, parent;
|
2821
|
+
if(!options.preferFlash &&
|
2864
2822
|
($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source:last', parent)[0] == e.target)) &&
|
2865
|
-
(media = $(e.target).closest('audio, video')) && !noSwitch[media.prop('error')]
|
2823
|
+
(media = $(e.target).closest('audio, video')) && !noSwitch[(error = media.prop('error'))]
|
2866
2824
|
){
|
2867
|
-
|
2868
|
-
|
2869
|
-
|
2870
|
-
|
2871
|
-
setTimeout(function(){
|
2872
|
-
if(!options.preferFlash && webshims.mediaelement.createSWF && !media.is('.nonnative-api-active')){
|
2873
|
-
options.preferFlash = true;
|
2874
|
-
document.removeEventListener('error', switchOptions, true);
|
2875
|
-
$('audio, video').each(function(){
|
2876
|
-
webshims.mediaelement.selectSource(this);
|
2877
|
-
});
|
2878
|
-
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
|
2879
|
-
}
|
2880
|
-
}, 9);
|
2881
|
-
});
|
2882
|
-
} else{
|
2883
|
-
document.removeEventListener('error', switchOptions, true);
|
2825
|
+
if(error == null){
|
2826
|
+
webshims.warn("There was an unspecified error on a mediaelement");
|
2827
|
+
return;
|
2828
|
+
|
2884
2829
|
}
|
2885
|
-
|
2886
|
-
|
2887
|
-
|
2888
|
-
|
2889
|
-
|
2890
|
-
|
2891
|
-
|
2892
|
-
|
2893
|
-
|
2894
|
-
|
2895
|
-
|
2830
|
+
$(function(){
|
2831
|
+
if(hasSwf && !options.preferFlash){
|
2832
|
+
loadSwf();
|
2833
|
+
webshims.ready('WINDOWLOAD '+swfType, function(){
|
2834
|
+
setTimeout(function(){
|
2835
|
+
if(!options.preferFlash && webshims.mediaelement.createSWF && !media.is('.nonnative-api-active')){
|
2836
|
+
options.preferFlash = true;
|
2837
|
+
document.removeEventListener('error', switchOptions, true);
|
2838
|
+
$('audio, video').each(function(){
|
2839
|
+
webshims.mediaelement.selectSource(this);
|
2840
|
+
});
|
2841
|
+
webshims.error("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
|
2842
|
+
}
|
2843
|
+
}, 9);
|
2844
|
+
});
|
2845
|
+
} else{
|
2846
|
+
document.removeEventListener('error', switchOptions, true);
|
2847
|
+
}
|
2848
|
+
});
|
2849
|
+
}
|
2850
|
+
};
|
2851
|
+
document.addEventListener('error', switchOptions, true);
|
2852
|
+
$('audio, video').each(function(){
|
2853
|
+
var error = $.prop(this, 'error');
|
2854
|
+
if(error && !noSwitch[error]){
|
2855
|
+
switchOptions({target: this});
|
2856
|
+
return false;
|
2857
|
+
}
|
2858
|
+
});
|
2859
|
+
}
|
2896
2860
|
}
|
2897
2861
|
|
2898
|
-
|
2899
2862
|
if(Modernizr.track && !bugs.track){
|
2900
2863
|
(function(){
|
2901
2864
|
|
@@ -3276,63 +3239,14 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3276
3239
|
|
3277
3240
|
});
|
3278
3241
|
|
3279
|
-
|
3280
|
-
if(!supportsLoop){
|
3281
|
-
webshims.defineNodeNamesBooleanProperty(['audio', 'video'], 'loop');
|
3282
|
-
}
|
3283
|
-
|
3284
|
-
['audio', 'video'].forEach(function(nodeName){
|
3285
|
-
var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
3286
|
-
prop: {
|
3287
|
-
value: function(){
|
3288
|
-
var data = webshims.data(this, 'mediaelement');
|
3289
|
-
selectSource(this, data);
|
3290
|
-
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
3291
|
-
supLoad.prop._supvalue.apply(this, arguments);
|
3292
|
-
}
|
3293
|
-
}
|
3294
|
-
}
|
3295
|
-
});
|
3296
|
-
nativeCanPlayType[nodeName] = webshims.defineNodeNameProperty(nodeName, 'canPlayType', {
|
3297
|
-
prop: {
|
3298
|
-
value: function(type){
|
3299
|
-
var ret = '';
|
3300
|
-
if(hasNative && nativeCanPlayType[nodeName].prop._supvalue){
|
3301
|
-
ret = nativeCanPlayType[nodeName].prop._supvalue.call(this, type);
|
3302
|
-
if(ret == 'no'){
|
3303
|
-
ret = '';
|
3304
|
-
}
|
3305
|
-
}
|
3306
|
-
if(!ret && hasSwf){
|
3307
|
-
type = $.trim((type || '').split(';')[0]);
|
3308
|
-
if(mediaelement.swfMimeTypes.indexOf(type) != -1){
|
3309
|
-
ret = 'maybe';
|
3310
|
-
}
|
3311
|
-
}
|
3312
|
-
return ret;
|
3313
|
-
}
|
3314
|
-
}
|
3315
|
-
});
|
3316
|
-
});
|
3317
|
-
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
3318
|
-
set: function(){
|
3319
|
-
var elem = this;
|
3320
|
-
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
3321
|
-
clearTimeout(baseData.loadTimer);
|
3322
|
-
baseData.loadTimer = setTimeout(function(){
|
3323
|
-
selectSource(elem);
|
3324
|
-
elem = null;
|
3325
|
-
}, 9);
|
3326
|
-
}
|
3327
|
-
});
|
3328
|
-
});
|
3329
|
-
|
3242
|
+
var handleMedia = false;
|
3330
3243
|
var initMediaElements = function(){
|
3331
3244
|
var testFixMedia = function(){
|
3332
3245
|
if(webshims.implement(this, 'mediaelement')){
|
3333
3246
|
selectSource(this);
|
3334
3247
|
|
3335
|
-
if
|
3248
|
+
//fixes for FF 12 and IE9/10 || does not hurt, if run in other browsers
|
3249
|
+
if(hasNative && (!supportsLoop || ('ActiveXObject' in window))){
|
3336
3250
|
var bufferTimer;
|
3337
3251
|
var lastBuffered;
|
3338
3252
|
var elem = this;
|
@@ -3361,7 +3275,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3361
3275
|
lastBuffered = getBufferedString();
|
3362
3276
|
}
|
3363
3277
|
clearTimeout(bufferTimer);
|
3364
|
-
bufferTimer = setTimeout(testBuffer,
|
3278
|
+
bufferTimer = setTimeout(testBuffer, 400);
|
3365
3279
|
},
|
3366
3280
|
'emptied stalled mediaerror abort suspend': function(e){
|
3367
3281
|
if(e.type == 'emptied'){
|
@@ -3378,11 +3292,62 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3378
3292
|
}
|
3379
3293
|
|
3380
3294
|
};
|
3381
|
-
|
3295
|
+
|
3382
3296
|
|
3383
3297
|
|
3384
3298
|
webshims.ready('dom-support', function(){
|
3385
3299
|
handleMedia = true;
|
3300
|
+
|
3301
|
+
if(!supportsLoop){
|
3302
|
+
webshims.defineNodeNamesBooleanProperty(['audio', 'video'], 'loop');
|
3303
|
+
}
|
3304
|
+
|
3305
|
+
['audio', 'video'].forEach(function(nodeName){
|
3306
|
+
var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
|
3307
|
+
prop: {
|
3308
|
+
value: function(){
|
3309
|
+
var data = webshims.data(this, 'mediaelement');
|
3310
|
+
selectSource(this, data);
|
3311
|
+
if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
|
3312
|
+
supLoad.prop._supvalue.apply(this, arguments);
|
3313
|
+
}
|
3314
|
+
}
|
3315
|
+
}
|
3316
|
+
});
|
3317
|
+
nativeCanPlayType[nodeName] = webshims.defineNodeNameProperty(nodeName, 'canPlayType', {
|
3318
|
+
prop: {
|
3319
|
+
value: function(type){
|
3320
|
+
var ret = '';
|
3321
|
+
if(hasNative && nativeCanPlayType[nodeName].prop._supvalue){
|
3322
|
+
ret = nativeCanPlayType[nodeName].prop._supvalue.call(this, type);
|
3323
|
+
if(ret == 'no'){
|
3324
|
+
ret = '';
|
3325
|
+
}
|
3326
|
+
}
|
3327
|
+
if(!ret && hasSwf){
|
3328
|
+
type = $.trim((type || '').split(';')[0]);
|
3329
|
+
if(mediaelement.swfMimeTypes.indexOf(type) != -1){
|
3330
|
+
ret = 'maybe';
|
3331
|
+
}
|
3332
|
+
}
|
3333
|
+
return ret;
|
3334
|
+
}
|
3335
|
+
}
|
3336
|
+
});
|
3337
|
+
});
|
3338
|
+
webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
|
3339
|
+
set: function(){
|
3340
|
+
var elem = this;
|
3341
|
+
var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
3342
|
+
clearTimeout(baseData.loadTimer);
|
3343
|
+
baseData.loadTimer = setTimeout(function(){
|
3344
|
+
selectSource(elem);
|
3345
|
+
elem = null;
|
3346
|
+
}, 9);
|
3347
|
+
}
|
3348
|
+
});
|
3349
|
+
|
3350
|
+
|
3386
3351
|
webshims.addReady(function(context, insertedElement){
|
3387
3352
|
var media = $('video, audio', context)
|
3388
3353
|
.add(insertedElement.filter('video, audio'))
|
@@ -3442,6 +3407,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3442
3407
|
var hasNative = Modernizr.audio && Modernizr.video;
|
3443
3408
|
var hasFlash = swfmini.hasFlashPlayerVersion('9.0.115');
|
3444
3409
|
var loadedSwf = 0;
|
3410
|
+
var needsLoadPreload = 'ActiveXObject' in window && hasNative;
|
3445
3411
|
var getProps = {
|
3446
3412
|
paused: true,
|
3447
3413
|
ended: false,
|
@@ -3555,12 +3521,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3555
3521
|
data.readyState = readyState;
|
3556
3522
|
};
|
3557
3523
|
|
3558
|
-
|
3559
|
-
updatemediaelementdimensions: true,
|
3560
|
-
flashblocker: true,
|
3561
|
-
swfstageresize: true,
|
3562
|
-
mediaelementapichange: true
|
3563
|
-
});
|
3524
|
+
|
3564
3525
|
|
3565
3526
|
mediaelement.jarisEvent = {};
|
3566
3527
|
var localConnectionTimer;
|
@@ -3809,8 +3770,13 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3809
3770
|
var isNativeHTML5 = ( event.originalEvent && event.originalEvent.type === event.type );
|
3810
3771
|
if( isNativeHTML5 == (data.activating == 'third') ){
|
3811
3772
|
event.stopImmediatePropagation();
|
3812
|
-
|
3813
|
-
|
3773
|
+
|
3774
|
+
if(stopEvents[event.type]){
|
3775
|
+
if(data.isActive != data.activating){
|
3776
|
+
$(event.target).pause();
|
3777
|
+
} else if(isNativeHTML5){
|
3778
|
+
($.prop(event.target, 'pause')._supvalue || $.noop).apply(event.target);
|
3779
|
+
}
|
3814
3780
|
}
|
3815
3781
|
}
|
3816
3782
|
};
|
@@ -3874,15 +3840,18 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3874
3840
|
})();
|
3875
3841
|
|
3876
3842
|
var setElementDimension = function(data, hasControls){
|
3843
|
+
var cAttr;
|
3877
3844
|
var elem = data._elem;
|
3878
3845
|
var box = data.shadowElem;
|
3846
|
+
|
3879
3847
|
$(elem)[hasControls ? 'addClass' : 'removeClass']('webshims-controls');
|
3880
3848
|
if(data._elemNodeName == 'audio' && !hasControls){
|
3881
3849
|
box.css({width: 0, height: 0});
|
3882
3850
|
} else {
|
3851
|
+
|
3883
3852
|
box.css({
|
3884
|
-
width: elem.style.width || $(elem).width(),
|
3885
|
-
height: elem.style.height || $(elem).height()
|
3853
|
+
width: elem.style.width || ((cAttr = $(elem).attr('width')) && cAttr+'px') || $(elem).width(),
|
3854
|
+
height: elem.style.height|| ((cAttr = $(elem).attr('height')) && cAttr+'px') || $(elem).height()
|
3886
3855
|
});
|
3887
3856
|
}
|
3888
3857
|
};
|
@@ -3911,7 +3880,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3911
3880
|
replaceVar = function(val){
|
3912
3881
|
return (val.replace) ? val.replace(regs.A, '%26').replace(regs.a, '%26').replace(regs.e, '%3D').replace(regs.q, '%3F') : val;
|
3913
3882
|
};
|
3914
|
-
|
3883
|
+
|
3915
3884
|
mediaelement.createSWF = function( elem, canPlaySrc, data ){
|
3916
3885
|
if(!hasFlash){
|
3917
3886
|
setTimeout(function(){
|
@@ -3919,7 +3888,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3919
3888
|
}, 1);
|
3920
3889
|
return;
|
3921
3890
|
}
|
3922
|
-
|
3891
|
+
|
3923
3892
|
if(loadedSwf < 1){
|
3924
3893
|
loadedSwf = 1;
|
3925
3894
|
} else {
|
@@ -3930,7 +3899,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3930
3899
|
}
|
3931
3900
|
|
3932
3901
|
if($.attr(elem, 'height') || $.attr(elem, 'width')){
|
3933
|
-
webshims.warn("width or height content attributes used. Webshims
|
3902
|
+
webshims.warn("width or height content attributes used. Webshims prefers the usage of CSS (computed styles or inline styles) to detect size of a video/audio. It's really more powerfull.");
|
3934
3903
|
}
|
3935
3904
|
|
3936
3905
|
var isRtmp = canPlaySrc.type == 'audio/rtmp' || canPlaySrc.type == 'video/rtmp';
|
@@ -4027,6 +3996,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
4027
3996
|
}
|
4028
3997
|
}
|
4029
3998
|
}));
|
3999
|
+
|
4030
4000
|
setElementDimension(data, hasControls);
|
4031
4001
|
|
4032
4002
|
box.insertBefore(elem);
|
@@ -4036,16 +4006,31 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
4036
4006
|
}
|
4037
4007
|
|
4038
4008
|
webshims.addShadowDom(elem, box);
|
4009
|
+
if(!webshims.data(elem, 'mediaelement')){
|
4010
|
+
webshims.data(elem, 'mediaelement', data);
|
4011
|
+
}
|
4039
4012
|
addMediaToStopEvents(elem);
|
4013
|
+
|
4040
4014
|
mediaelement.setActive(elem, 'third', data);
|
4015
|
+
|
4041
4016
|
$(elem)
|
4042
4017
|
.on({'updatemediaelementdimensions': setDimension})
|
4043
4018
|
.onWSOff('updateshadowdom', setDimension)
|
4019
|
+
.on('remove', function(e){
|
4020
|
+
if(!e.originalEvent && mediaelement.jarisEvent[data.id] && mediaelement.jarisEvent[data.id].elem == elem){
|
4021
|
+
delete mediaelement.jarisEvent[data.id];
|
4022
|
+
clearTimeout(localConnectionTimer);
|
4023
|
+
clearTimeout(data.flashBlock);
|
4024
|
+
}
|
4025
|
+
box.remove();
|
4026
|
+
})
|
4044
4027
|
;
|
4045
4028
|
}
|
4046
4029
|
|
4047
|
-
|
4030
|
+
|
4031
|
+
if(!mediaelement.jarisEvent[data.id] || mediaelement.jarisEvent[data.id].elem != elem){
|
4048
4032
|
mediaelement.jarisEvent[data.id] = function(jaris){
|
4033
|
+
|
4049
4034
|
if(jaris.type == 'ready'){
|
4050
4035
|
var onReady = function(){
|
4051
4036
|
if(data.api){
|
@@ -4078,8 +4063,8 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
4078
4063
|
}
|
4079
4064
|
data.duration = jaris.duration;
|
4080
4065
|
}
|
4081
|
-
|
4082
4066
|
};
|
4067
|
+
mediaelement.jarisEvent[data.id].elem = elem;
|
4083
4068
|
}
|
4084
4069
|
|
4085
4070
|
$.extend(vars,
|
@@ -4105,27 +4090,27 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
4105
4090
|
clearTimeout(data.flashBlock);
|
4106
4091
|
|
4107
4092
|
swfmini.embedSWF(playerSwfPath, elemId, "100%", "100%", "9.0.115", false, vars, params, attrs, function(swfData){
|
4108
|
-
|
4109
4093
|
if(swfData.success){
|
4110
|
-
|
4111
|
-
data.api = swfData.ref;
|
4112
|
-
|
4113
|
-
if(!hasControls){
|
4114
|
-
$(swfData.ref).attr('tabindex', '-1').css('outline', 'none');
|
4115
|
-
}
|
4116
|
-
|
4117
|
-
data.flashBlock = setTimeout(function(){
|
4094
|
+
var fBlocker = function(){
|
4118
4095
|
if((!swfData.ref.parentNode && box[0].parentNode) || swfData.ref.style.display == "none"){
|
4119
4096
|
box.addClass('flashblocker-assumed');
|
4120
4097
|
$(elem).trigger('flashblocker');
|
4121
4098
|
webshims.warn("flashblocker assumed");
|
4122
4099
|
}
|
4123
4100
|
$(swfData.ref).css({'minHeight': '2px', 'minWidth': '2px', display: 'block'});
|
4124
|
-
}
|
4101
|
+
};
|
4102
|
+
data.api = swfData.ref;
|
4103
|
+
|
4104
|
+
if(!hasControls){
|
4105
|
+
$(swfData.ref).attr('tabindex', '-1').css('outline', 'none');
|
4106
|
+
}
|
4107
|
+
|
4108
|
+
data.flashBlock = setTimeout(fBlocker, 99);
|
4125
4109
|
|
4126
4110
|
if(!localConnectionTimer){
|
4127
4111
|
clearTimeout(localConnectionTimer);
|
4128
4112
|
localConnectionTimer = setTimeout(function(){
|
4113
|
+
fBlocker();
|
4129
4114
|
var flash = $(swfData.ref);
|
4130
4115
|
if(flash[0].offsetWidth > 1 && flash[0].offsetHeight > 1 && location.protocol.indexOf('file:') === 0){
|
4131
4116
|
webshims.error("Add your local development-directory to the local-trusted security sandbox: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html");
|
@@ -4279,12 +4264,23 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
4279
4264
|
}
|
4280
4265
|
});
|
4281
4266
|
|
4267
|
+
|
4282
4268
|
webshims.onNodeNamesPropertyModify(nodeName, 'preload', function(val){
|
4283
|
-
var data
|
4269
|
+
var data, baseData, elem;
|
4284
4270
|
|
4285
4271
|
|
4286
|
-
if(
|
4287
|
-
|
4272
|
+
if(bufferSrc(this)){
|
4273
|
+
data = getSwfDataFromElem(this);
|
4274
|
+
if(data){
|
4275
|
+
queueSwfMethod(this, 'api_preload', [], data);
|
4276
|
+
} else if(needsLoadPreload && this.paused && !this.error && !$.data(this, 'mediaerror') && !this.readyState && !this.networkState && !this.autoplay && $(this).is(':not(.nonnative-api-active)')){
|
4277
|
+
elem = this;
|
4278
|
+
baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
|
4279
|
+
clearTimeout(baseData.loadTimer);
|
4280
|
+
baseData.loadTimer = setTimeout(function(){
|
4281
|
+
$(elem).mediaLoad();
|
4282
|
+
}, 9);
|
4283
|
+
}
|
4288
4284
|
}
|
4289
4285
|
});
|
4290
4286
|
|