webshims-rails 1.10.9 → 1.10.10
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 +8 -9
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +24 -14
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +61 -20
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +54 -16
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +9 -13
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +8 -12
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +10 -7
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +40 -11
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +49 -24
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +128 -19
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +131 -22
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +133 -40
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +31 -18
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +132 -39
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +116 -22
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +9 -13
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +48 -13
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +133 -40
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +7 -4
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +121 -24
- data/vendor/assets/javascripts/webshims/shims/combos/29.js +4 -6
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +30 -6
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +30 -6
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +22 -5
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +15 -5
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +128 -19
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +128 -19
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +39 -19
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +39 -19
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +61 -20
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +7 -4
- data/vendor/assets/javascripts/webshims/shims/es5.js +3 -3
- data/vendor/assets/javascripts/webshims/shims/form-core.js +15 -1
- data/vendor/assets/javascripts/webshims/shims/form-message.js +8 -1
- data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +74 -3
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +53 -15
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +10 -5
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +48 -13
- data/vendor/assets/javascripts/webshims/shims/forms-picker.js +14 -2
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-ZN.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.txt +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.txt +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-es.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fr.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-he.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hi.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-hu.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-it.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ja.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-lt.js +7 -4
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pl.js +106 -0
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt-PT.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +8 -12
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +114 -20
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +132 -17
- data/vendor/assets/javascripts/webshims/shims/range-ui.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +38 -3
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +42 -13
- 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 -6
- metadata +3 -2
@@ -707,11 +707,11 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
707
707
|
}
|
708
708
|
|
709
709
|
if(opts){
|
710
|
-
o.options =
|
710
|
+
o.options = $.extend(true, {}, o.options || {}, opts);
|
711
711
|
opts = o.options;
|
712
712
|
}
|
713
713
|
|
714
|
-
if(o._create &&
|
714
|
+
if(o._create && $.isFunction(o._create)){
|
715
715
|
o._create(opts);
|
716
716
|
}
|
717
717
|
return o;
|
@@ -797,7 +797,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
797
797
|
};
|
798
798
|
|
799
799
|
}
|
800
|
-
})(
|
800
|
+
})(webshims.$, webshims);
|
801
801
|
|
802
802
|
|
803
803
|
|
@@ -815,14 +815,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
815
815
|
webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
|
816
816
|
}
|
817
817
|
|
818
|
-
if(webshims.cfg.extendNative
|
818
|
+
if(webshims.cfg.extendNative === 1){
|
819
819
|
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");
|
820
820
|
}
|
821
821
|
|
822
822
|
if (!webshims.cfg.no$Switch) {
|
823
823
|
var switch$ = function(){
|
824
824
|
if (window.jQuery && (!window.$ || window.jQuery == window.$) && !window.jQuery.webshims) {
|
825
|
-
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
|
825
|
+
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. Or set webshims.cfg.no$Switch to 'true'.");
|
826
826
|
if (window.$) {
|
827
827
|
window.$ = webshims.$;
|
828
828
|
}
|
@@ -1364,6 +1364,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1364
1364
|
setInterval(this.test, 600);
|
1365
1365
|
$(this.test);
|
1366
1366
|
webshims.ready('WINDOWLOAD', this.test);
|
1367
|
+
$(document).on('updatelayout', this.handler);
|
1367
1368
|
$(window).bind('resize', this.handler);
|
1368
1369
|
(function(){
|
1369
1370
|
var oldAnimate = $.fn.animate;
|
@@ -1411,7 +1412,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1411
1412
|
|
1412
1413
|
$(nativeElem).on('remove', function(e){
|
1413
1414
|
if (!e.originalEvent) {
|
1414
|
-
|
1415
|
+
setTimeout(function(){
|
1416
|
+
$(shadowElem).remove();
|
1417
|
+
}, 4);
|
1415
1418
|
}
|
1416
1419
|
});
|
1417
1420
|
|
@@ -1889,10 +1892,11 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1889
1892
|
}
|
1890
1893
|
});
|
1891
1894
|
|
1892
|
-
})(
|
1895
|
+
})(webshims.$, document);
|
1893
1896
|
|
1894
|
-
(function(
|
1897
|
+
(function(Modernizr, webshims){
|
1895
1898
|
"use strict";
|
1899
|
+
var $ = webshims.$;
|
1896
1900
|
var hasNative = Modernizr.audio && Modernizr.video;
|
1897
1901
|
var supportsLoop = false;
|
1898
1902
|
var bugs = webshims.bugs;
|
@@ -1996,6 +2000,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1996
2000
|
hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
|
1997
2001
|
$('html').addClass(hasSwf ? 'swf' : 'no-swf');
|
1998
2002
|
var mediaelement = webshims.mediaelement;
|
2003
|
+
|
1999
2004
|
mediaelement.parseRtmp = function(data){
|
2000
2005
|
var src = data.src.split('://');
|
2001
2006
|
var paths = src[1].split('/');
|
@@ -2165,7 +2170,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2165
2170
|
var src = getSrcObj(mediaElem, nodeName);
|
2166
2171
|
|
2167
2172
|
if(!src.src){
|
2168
|
-
|
2169
2173
|
$('source', mediaElem).each(function(){
|
2170
2174
|
src = getSrcObj(this, nodeName);
|
2171
2175
|
if(src.src){srces.push(src);}
|
@@ -2180,18 +2184,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2180
2184
|
srces = [srces];
|
2181
2185
|
}
|
2182
2186
|
srces.forEach(function(src){
|
2183
|
-
var source = document.createElement('source');
|
2184
2187
|
if(typeof src == 'string'){
|
2185
2188
|
src = {src: src};
|
2186
2189
|
}
|
2187
|
-
|
2188
|
-
if(src.type){
|
2189
|
-
source.setAttribute('type', src.type);
|
2190
|
-
}
|
2191
|
-
if(src.media){
|
2192
|
-
source.setAttribute('media', src.media);
|
2193
|
-
}
|
2194
|
-
mediaElem.append(source);
|
2190
|
+
mediaElem.append($(document.createElement('source')).attr(src));
|
2195
2191
|
});
|
2196
2192
|
|
2197
2193
|
}
|
@@ -2339,6 +2335,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2339
2335
|
|
2340
2336
|
if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;}
|
2341
2337
|
data = data || webshims.data(elem, 'mediaelement');
|
2338
|
+
if(mediaelement.sortMedia){
|
2339
|
+
_srces.sort(mediaelement.sortMedia);
|
2340
|
+
}
|
2342
2341
|
stepSources(elem, data, options.preferFlash || undefined, _srces);
|
2343
2342
|
};
|
2344
2343
|
mediaelement.selectSource = selectSource;
|
@@ -2513,7 +2512,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2513
2512
|
}
|
2514
2513
|
webshims.ready('track', loadTrackUi);
|
2515
2514
|
});
|
2516
|
-
})(
|
2515
|
+
})(Modernizr, webshims);
|
2517
2516
|
webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
|
2518
2517
|
"use strict";
|
2519
2518
|
|
@@ -2954,20 +2953,84 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
2954
2953
|
};
|
2955
2954
|
})();
|
2956
2955
|
|
2956
|
+
|
2957
|
+
var transformDimension = (function(){
|
2958
|
+
var dimCache = {};
|
2959
|
+
var getRealDims = function(data){
|
2960
|
+
var ret, poster, img;
|
2961
|
+
if(dimCache[data.currentSrc]){
|
2962
|
+
ret = dimCache[data.currentSrc];
|
2963
|
+
} else if(data.videoHeight && data.videoWidth){
|
2964
|
+
dimCache[data.currentSrc] = {
|
2965
|
+
width: data.videoWidth,
|
2966
|
+
height: data.videoHeight
|
2967
|
+
};
|
2968
|
+
ret = dimCache[data.currentSrc];
|
2969
|
+
} else if((poster = $.attr(data._elem, 'poster'))){
|
2970
|
+
ret = dimCache[poster];
|
2971
|
+
if(!ret){
|
2972
|
+
img = document.createElement('img');
|
2973
|
+
img.onload = function(){
|
2974
|
+
dimCache[poster] = {
|
2975
|
+
width: this.width,
|
2976
|
+
height: this.height
|
2977
|
+
};
|
2978
|
+
|
2979
|
+
if(dimCache[poster].height && dimCache[poster].width){
|
2980
|
+
setElementDimension(data, $.prop(data._elem, 'controls'));
|
2981
|
+
} else {
|
2982
|
+
delete dimCache[poster];
|
2983
|
+
}
|
2984
|
+
};
|
2985
|
+
img.src = poster;
|
2986
|
+
if(img.complete){
|
2987
|
+
img.onload();
|
2988
|
+
}
|
2989
|
+
}
|
2990
|
+
}
|
2991
|
+
return ret || {width: 300, height: data._elemNodeName == 'video' ? 150 : 50};
|
2992
|
+
};
|
2993
|
+
return function(data){
|
2994
|
+
var realDims, ratio;
|
2995
|
+
var ret = data.elemDimensions;
|
2996
|
+
|
2997
|
+
if(ret.width == 'auto' || ret.height == 'auto'){
|
2998
|
+
ret = $.extend({}, data.elemDimensions);
|
2999
|
+
realDims = getRealDims(data);
|
3000
|
+
ratio = realDims.width / realDims.height;
|
3001
|
+
|
3002
|
+
if(ret.width == 'auto' && ret.height == 'auto'){
|
3003
|
+
ret = realDims;
|
3004
|
+
} else if(ret.width == 'auto'){
|
3005
|
+
data.shadowElem.css({height: ret.height});
|
3006
|
+
ret.width = data.shadowElem.height() * ratio;
|
3007
|
+
} else {
|
3008
|
+
data.shadowElem.css({width: ret.width});
|
3009
|
+
ret.height = data.shadowElem.width() / ratio;
|
3010
|
+
}
|
3011
|
+
}
|
3012
|
+
return ret;
|
3013
|
+
};
|
3014
|
+
})();
|
2957
3015
|
var setElementDimension = function(data, hasControls){
|
2958
|
-
var
|
3016
|
+
var dims;
|
2959
3017
|
var elem = data._elem;
|
2960
3018
|
var box = data.shadowElem;
|
2961
|
-
|
2962
3019
|
$(elem)[hasControls ? 'addClass' : 'removeClass']('webshims-controls');
|
2963
|
-
|
2964
|
-
|
2965
|
-
|
2966
|
-
|
2967
|
-
|
2968
|
-
|
2969
|
-
|
2970
|
-
|
3020
|
+
|
3021
|
+
if(data.isActive == 'third'){
|
3022
|
+
if(data._elemNodeName == 'audio' && !hasControls){
|
3023
|
+
box.css({width: 0, height: 0});
|
3024
|
+
} else {
|
3025
|
+
data.elemDimensions = {
|
3026
|
+
width: elem.style.width || $.attr(elem, 'width') || $(elem).width(),
|
3027
|
+
height: elem.style.height || $.attr(elem, 'height') || $(elem).height()
|
3028
|
+
};
|
3029
|
+
dims = transformDimension(data);
|
3030
|
+
dims.minWidth = elem.style.minWidth;
|
3031
|
+
dims.minHeight = elem.style.minHeight;
|
3032
|
+
box.css(dims);
|
3033
|
+
}
|
2971
3034
|
}
|
2972
3035
|
};
|
2973
3036
|
|
@@ -2995,6 +3058,27 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
2995
3058
|
replaceVar = function(val){
|
2996
3059
|
return (val.replace) ? val.replace(regs.A, '%26').replace(regs.a, '%26').replace(regs.e, '%3D').replace(regs.q, '%3F') : val;
|
2997
3060
|
};
|
3061
|
+
|
3062
|
+
if('matchMedia' in window){
|
3063
|
+
var allowMediaSorting = false;
|
3064
|
+
try {
|
3065
|
+
allowMediaSorting = window.matchMedia('only all').matches;
|
3066
|
+
} catch(er){}
|
3067
|
+
if(allowMediaSorting){
|
3068
|
+
mediaelement.sortMedia = function(src1, src2){
|
3069
|
+
try {
|
3070
|
+
src1 = !src1.media || matchMedia( src1.media ).matches;
|
3071
|
+
src2 = !src2.media || matchMedia( src2.media ).matches;
|
3072
|
+
} catch(er){
|
3073
|
+
return 0;
|
3074
|
+
}
|
3075
|
+
return src1 == src2 ?
|
3076
|
+
0 :
|
3077
|
+
src1 ? -1
|
3078
|
+
: 1;
|
3079
|
+
};
|
3080
|
+
}
|
3081
|
+
}
|
2998
3082
|
|
2999
3083
|
mediaelement.createSWF = function( elem, canPlaySrc, data ){
|
3000
3084
|
if(!hasFlash){
|
@@ -3046,7 +3130,9 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3046
3130
|
$(elem).data('attrs')
|
3047
3131
|
);
|
3048
3132
|
var setDimension = function(){
|
3049
|
-
|
3133
|
+
if(data.isActive == 'third'){
|
3134
|
+
setElementDimension(data, $.prop(elem, 'controls'));
|
3135
|
+
}
|
3050
3136
|
};
|
3051
3137
|
|
3052
3138
|
var box;
|
@@ -3112,7 +3198,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3112
3198
|
}
|
3113
3199
|
}));
|
3114
3200
|
|
3115
|
-
|
3201
|
+
|
3116
3202
|
|
3117
3203
|
box.insertBefore(elem);
|
3118
3204
|
|
@@ -3128,17 +3214,20 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3128
3214
|
|
3129
3215
|
mediaelement.setActive(elem, 'third', data);
|
3130
3216
|
|
3217
|
+
setElementDimension(data, hasControls);
|
3218
|
+
|
3131
3219
|
$(elem)
|
3132
|
-
.on({
|
3133
|
-
|
3134
|
-
|
3135
|
-
|
3136
|
-
|
3137
|
-
|
3138
|
-
|
3220
|
+
.on({
|
3221
|
+
'updatemediaelementdimensions loadedmetadata emptied': setDimension,
|
3222
|
+
'remove': function(e){
|
3223
|
+
if(!e.originalEvent && mediaelement.jarisEvent[data.id] && mediaelement.jarisEvent[data.id].elem == elem){
|
3224
|
+
delete mediaelement.jarisEvent[data.id];
|
3225
|
+
clearTimeout(localConnectionTimer);
|
3226
|
+
clearTimeout(data.flashBlock);
|
3227
|
+
}
|
3139
3228
|
}
|
3140
|
-
box.remove();
|
3141
3229
|
})
|
3230
|
+
.onWSOff('updateshadowdom', setDimension)
|
3142
3231
|
;
|
3143
3232
|
}
|
3144
3233
|
|
@@ -3444,6 +3533,8 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3444
3533
|
limitedTo: ['', 'auto', 'metadata', 'none']
|
3445
3534
|
});
|
3446
3535
|
|
3536
|
+
webshims.reflectProperties('source', ['type', 'media']);
|
3537
|
+
|
3447
3538
|
|
3448
3539
|
['autoplay', 'controls'].forEach(function(name){
|
3449
3540
|
webshims.defineNodeNamesBooleanProperty(['audio', 'video'], name);
|
@@ -3479,6 +3570,8 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3479
3570
|
}
|
3480
3571
|
|
3481
3572
|
}, 'prop');
|
3573
|
+
} else if(!('media' in document.createElement('source'))){
|
3574
|
+
webshims.reflectProperties('source', ['media']);
|
3482
3575
|
}
|
3483
3576
|
|
3484
3577
|
});
|
@@ -7,7 +7,7 @@
|
|
7
7
|
},
|
8
8
|
id = 0
|
9
9
|
;
|
10
|
-
var geoOpts =
|
10
|
+
var geoOpts = webshims.cfg.geolocation || {};
|
11
11
|
navigator.geolocation = (function(){
|
12
12
|
var pos;
|
13
13
|
var api = {
|
@@ -165,7 +165,7 @@
|
|
165
165
|
})();
|
166
166
|
|
167
167
|
webshims.isReady('geolocation', true);
|
168
|
-
})(
|
168
|
+
})(webshims.$);
|
169
169
|
|
170
170
|
webshims.register('details', function($, webshims, window, doc, undefined, options){
|
171
171
|
var isInterActiveSummary = function(summary){
|
@@ -756,20 +756,84 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
756
756
|
};
|
757
757
|
})();
|
758
758
|
|
759
|
+
|
760
|
+
var transformDimension = (function(){
|
761
|
+
var dimCache = {};
|
762
|
+
var getRealDims = function(data){
|
763
|
+
var ret, poster, img;
|
764
|
+
if(dimCache[data.currentSrc]){
|
765
|
+
ret = dimCache[data.currentSrc];
|
766
|
+
} else if(data.videoHeight && data.videoWidth){
|
767
|
+
dimCache[data.currentSrc] = {
|
768
|
+
width: data.videoWidth,
|
769
|
+
height: data.videoHeight
|
770
|
+
};
|
771
|
+
ret = dimCache[data.currentSrc];
|
772
|
+
} else if((poster = $.attr(data._elem, 'poster'))){
|
773
|
+
ret = dimCache[poster];
|
774
|
+
if(!ret){
|
775
|
+
img = document.createElement('img');
|
776
|
+
img.onload = function(){
|
777
|
+
dimCache[poster] = {
|
778
|
+
width: this.width,
|
779
|
+
height: this.height
|
780
|
+
};
|
781
|
+
|
782
|
+
if(dimCache[poster].height && dimCache[poster].width){
|
783
|
+
setElementDimension(data, $.prop(data._elem, 'controls'));
|
784
|
+
} else {
|
785
|
+
delete dimCache[poster];
|
786
|
+
}
|
787
|
+
};
|
788
|
+
img.src = poster;
|
789
|
+
if(img.complete){
|
790
|
+
img.onload();
|
791
|
+
}
|
792
|
+
}
|
793
|
+
}
|
794
|
+
return ret || {width: 300, height: data._elemNodeName == 'video' ? 150 : 50};
|
795
|
+
};
|
796
|
+
return function(data){
|
797
|
+
var realDims, ratio;
|
798
|
+
var ret = data.elemDimensions;
|
799
|
+
|
800
|
+
if(ret.width == 'auto' || ret.height == 'auto'){
|
801
|
+
ret = $.extend({}, data.elemDimensions);
|
802
|
+
realDims = getRealDims(data);
|
803
|
+
ratio = realDims.width / realDims.height;
|
804
|
+
|
805
|
+
if(ret.width == 'auto' && ret.height == 'auto'){
|
806
|
+
ret = realDims;
|
807
|
+
} else if(ret.width == 'auto'){
|
808
|
+
data.shadowElem.css({height: ret.height});
|
809
|
+
ret.width = data.shadowElem.height() * ratio;
|
810
|
+
} else {
|
811
|
+
data.shadowElem.css({width: ret.width});
|
812
|
+
ret.height = data.shadowElem.width() / ratio;
|
813
|
+
}
|
814
|
+
}
|
815
|
+
return ret;
|
816
|
+
};
|
817
|
+
})();
|
759
818
|
var setElementDimension = function(data, hasControls){
|
760
|
-
var
|
819
|
+
var dims;
|
761
820
|
var elem = data._elem;
|
762
821
|
var box = data.shadowElem;
|
763
|
-
|
764
822
|
$(elem)[hasControls ? 'addClass' : 'removeClass']('webshims-controls');
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
823
|
+
|
824
|
+
if(data.isActive == 'third'){
|
825
|
+
if(data._elemNodeName == 'audio' && !hasControls){
|
826
|
+
box.css({width: 0, height: 0});
|
827
|
+
} else {
|
828
|
+
data.elemDimensions = {
|
829
|
+
width: elem.style.width || $.attr(elem, 'width') || $(elem).width(),
|
830
|
+
height: elem.style.height || $.attr(elem, 'height') || $(elem).height()
|
831
|
+
};
|
832
|
+
dims = transformDimension(data);
|
833
|
+
dims.minWidth = elem.style.minWidth;
|
834
|
+
dims.minHeight = elem.style.minHeight;
|
835
|
+
box.css(dims);
|
836
|
+
}
|
773
837
|
}
|
774
838
|
};
|
775
839
|
|
@@ -797,6 +861,27 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
797
861
|
replaceVar = function(val){
|
798
862
|
return (val.replace) ? val.replace(regs.A, '%26').replace(regs.a, '%26').replace(regs.e, '%3D').replace(regs.q, '%3F') : val;
|
799
863
|
};
|
864
|
+
|
865
|
+
if('matchMedia' in window){
|
866
|
+
var allowMediaSorting = false;
|
867
|
+
try {
|
868
|
+
allowMediaSorting = window.matchMedia('only all').matches;
|
869
|
+
} catch(er){}
|
870
|
+
if(allowMediaSorting){
|
871
|
+
mediaelement.sortMedia = function(src1, src2){
|
872
|
+
try {
|
873
|
+
src1 = !src1.media || matchMedia( src1.media ).matches;
|
874
|
+
src2 = !src2.media || matchMedia( src2.media ).matches;
|
875
|
+
} catch(er){
|
876
|
+
return 0;
|
877
|
+
}
|
878
|
+
return src1 == src2 ?
|
879
|
+
0 :
|
880
|
+
src1 ? -1
|
881
|
+
: 1;
|
882
|
+
};
|
883
|
+
}
|
884
|
+
}
|
800
885
|
|
801
886
|
mediaelement.createSWF = function( elem, canPlaySrc, data ){
|
802
887
|
if(!hasFlash){
|
@@ -848,7 +933,9 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
848
933
|
$(elem).data('attrs')
|
849
934
|
);
|
850
935
|
var setDimension = function(){
|
851
|
-
|
936
|
+
if(data.isActive == 'third'){
|
937
|
+
setElementDimension(data, $.prop(elem, 'controls'));
|
938
|
+
}
|
852
939
|
};
|
853
940
|
|
854
941
|
var box;
|
@@ -914,7 +1001,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
914
1001
|
}
|
915
1002
|
}));
|
916
1003
|
|
917
|
-
|
1004
|
+
|
918
1005
|
|
919
1006
|
box.insertBefore(elem);
|
920
1007
|
|
@@ -930,17 +1017,20 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
930
1017
|
|
931
1018
|
mediaelement.setActive(elem, 'third', data);
|
932
1019
|
|
1020
|
+
setElementDimension(data, hasControls);
|
1021
|
+
|
933
1022
|
$(elem)
|
934
|
-
.on({
|
935
|
-
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
|
940
|
-
|
1023
|
+
.on({
|
1024
|
+
'updatemediaelementdimensions loadedmetadata emptied': setDimension,
|
1025
|
+
'remove': function(e){
|
1026
|
+
if(!e.originalEvent && mediaelement.jarisEvent[data.id] && mediaelement.jarisEvent[data.id].elem == elem){
|
1027
|
+
delete mediaelement.jarisEvent[data.id];
|
1028
|
+
clearTimeout(localConnectionTimer);
|
1029
|
+
clearTimeout(data.flashBlock);
|
1030
|
+
}
|
941
1031
|
}
|
942
|
-
box.remove();
|
943
1032
|
})
|
1033
|
+
.onWSOff('updateshadowdom', setDimension)
|
944
1034
|
;
|
945
1035
|
}
|
946
1036
|
|
@@ -1246,6 +1336,8 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
1246
1336
|
limitedTo: ['', 'auto', 'metadata', 'none']
|
1247
1337
|
});
|
1248
1338
|
|
1339
|
+
webshims.reflectProperties('source', ['type', 'media']);
|
1340
|
+
|
1249
1341
|
|
1250
1342
|
['autoplay', 'controls'].forEach(function(name){
|
1251
1343
|
webshims.defineNodeNamesBooleanProperty(['audio', 'video'], name);
|
@@ -1281,6 +1373,8 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
1281
1373
|
}
|
1282
1374
|
|
1283
1375
|
}, 'prop');
|
1376
|
+
} else if(!('media' in document.createElement('source'))){
|
1377
|
+
webshims.reflectProperties('source', ['media']);
|
1284
1378
|
}
|
1285
1379
|
|
1286
1380
|
});
|