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
@@ -8,7 +8,7 @@ var swfmini = function() {
|
|
8
8
|
|
9
9
|
var UNDEF = "undefined",
|
10
10
|
OBJECT = "object",
|
11
|
-
webshims =
|
11
|
+
webshims = window.webshims,
|
12
12
|
SHOCKWAVE_FLASH = "Shockwave Flash",
|
13
13
|
SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
|
14
14
|
FLASH_MIME_TYPE = "application/x-shockwave-flash",
|
@@ -496,8 +496,9 @@ var swfmini = function() {
|
|
496
496
|
};
|
497
497
|
}();
|
498
498
|
|
499
|
-
(function(
|
499
|
+
(function(Modernizr, webshims){
|
500
500
|
"use strict";
|
501
|
+
var $ = webshims.$;
|
501
502
|
var hasNative = Modernizr.audio && Modernizr.video;
|
502
503
|
var supportsLoop = false;
|
503
504
|
var bugs = webshims.bugs;
|
@@ -601,6 +602,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
601
602
|
hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
|
602
603
|
$('html').addClass(hasSwf ? 'swf' : 'no-swf');
|
603
604
|
var mediaelement = webshims.mediaelement;
|
605
|
+
|
604
606
|
mediaelement.parseRtmp = function(data){
|
605
607
|
var src = data.src.split('://');
|
606
608
|
var paths = src[1].split('/');
|
@@ -770,7 +772,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
770
772
|
var src = getSrcObj(mediaElem, nodeName);
|
771
773
|
|
772
774
|
if(!src.src){
|
773
|
-
|
774
775
|
$('source', mediaElem).each(function(){
|
775
776
|
src = getSrcObj(this, nodeName);
|
776
777
|
if(src.src){srces.push(src);}
|
@@ -785,18 +786,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
785
786
|
srces = [srces];
|
786
787
|
}
|
787
788
|
srces.forEach(function(src){
|
788
|
-
var source = document.createElement('source');
|
789
789
|
if(typeof src == 'string'){
|
790
790
|
src = {src: src};
|
791
791
|
}
|
792
|
-
|
793
|
-
if(src.type){
|
794
|
-
source.setAttribute('type', src.type);
|
795
|
-
}
|
796
|
-
if(src.media){
|
797
|
-
source.setAttribute('media', src.media);
|
798
|
-
}
|
799
|
-
mediaElem.append(source);
|
792
|
+
mediaElem.append($(document.createElement('source')).attr(src));
|
800
793
|
});
|
801
794
|
|
802
795
|
}
|
@@ -944,6 +937,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
944
937
|
|
945
938
|
if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;}
|
946
939
|
data = data || webshims.data(elem, 'mediaelement');
|
940
|
+
if(mediaelement.sortMedia){
|
941
|
+
_srces.sort(mediaelement.sortMedia);
|
942
|
+
}
|
947
943
|
stepSources(elem, data, options.preferFlash || undefined, _srces);
|
948
944
|
};
|
949
945
|
mediaelement.selectSource = selectSource;
|
@@ -1118,4 +1114,4 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1118
1114
|
}
|
1119
1115
|
webshims.ready('track', loadTrackUi);
|
1120
1116
|
});
|
1121
|
-
})(
|
1117
|
+
})(Modernizr, webshims);
|
@@ -80,7 +80,7 @@ webshims.register('form-validation', function($, webshims, window, document, und
|
|
80
80
|
if(!e.target){return;}
|
81
81
|
elem = $(e.target).getNativeElement()[0];
|
82
82
|
shadowElem = $(elem).getShadowElement();
|
83
|
-
if(elem.type == 'submit' || !$.prop(elem, 'willValidate') || (e.type == 'change' &&
|
83
|
+
if(elem.type == 'submit' || !$.prop(elem, 'willValidate') || (e.type == 'change' && (shadowType = shadowElem.prop('type')) && !changeTypes[shadowType])){return;}
|
84
84
|
timer = $.data(elem, 'webshimsswitchvalidityclass');
|
85
85
|
var switchClass = function(){
|
86
86
|
if(!shadowType){
|
@@ -155,7 +155,7 @@ webshims.register('form-validation', function($, webshims, window, document, und
|
|
155
155
|
}
|
156
156
|
};
|
157
157
|
|
158
|
-
$(document.body)
|
158
|
+
$(document.body || 'html')
|
159
159
|
.on(options.validityUIEvents || 'focusout change refreshvalidityui invalid', switchValidityClass)
|
160
160
|
.on('reset resetvalui', function(e){
|
161
161
|
var elems = $(e.target);
|
@@ -187,18 +187,44 @@ webshims.register('form-validation', function($, webshims, window, document, und
|
|
187
187
|
'width'
|
188
188
|
;
|
189
189
|
var hasTransition = ('transitionDelay' in document.documentElement.style);
|
190
|
+
var resetPos = {display: 'inline-block', left: 0, top: 0, marginTop: 0, marginLeft: 0, marginRight: 0, marginBottom: 0};
|
191
|
+
|
190
192
|
setRoot();
|
191
193
|
webshims.ready('DOM', setRoot);
|
192
194
|
|
193
|
-
|
195
|
+
|
196
|
+
webshims.getRelOffset = function(posElem, relElem, opts){
|
197
|
+
var offset, bodyOffset, dirs;
|
194
198
|
posElem = $(posElem);
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
+
$.swap($(posElem)[0], resetPos, function(){
|
200
|
+
if($.position && opts && $.position.getScrollInfo){
|
201
|
+
if(!opts.of){
|
202
|
+
opts.of = relElem;
|
203
|
+
}
|
204
|
+
|
205
|
+
opts.using = function(calced, data){
|
206
|
+
posElem.attr({'data-horizontal': data.horizontal, 'data-vertical': data.vertical});
|
207
|
+
offset = calced;
|
208
|
+
};
|
209
|
+
posElem.attr({
|
210
|
+
'data-horizontal': '',
|
211
|
+
'data-vertical': '',
|
212
|
+
'data-my': opts.my || 'center',
|
213
|
+
'data-at': opts.at || 'center'
|
214
|
+
});
|
215
|
+
posElem.position(opts);
|
216
|
+
|
217
|
+
} else {
|
218
|
+
offset = $(relElem).offset();
|
219
|
+
bodyOffset = posElem.offset();
|
220
|
+
offset.top -= bodyOffset.top;
|
221
|
+
offset.left -= bodyOffset.left;
|
222
|
+
|
223
|
+
offset.top += relElem.outerHeight();
|
224
|
+
}
|
225
|
+
|
199
226
|
});
|
200
|
-
|
201
|
-
offset.left -= bodyOffset.left;
|
227
|
+
|
202
228
|
return offset;
|
203
229
|
};
|
204
230
|
|
@@ -249,9 +275,10 @@ webshims.register('form-validation', function($, webshims, window, document, und
|
|
249
275
|
},
|
250
276
|
prepareFor: function(element, visual){
|
251
277
|
var onBlur;
|
252
|
-
var opts = $.extend({}, this.options, $(element.prop('form') || []).data('wspopover') || {}, element.data('wspopover'));
|
253
278
|
var that = this;
|
254
279
|
var css = {};
|
280
|
+
var opts = $.extend(true, {}, this.options, $(element.prop('form') || []).data('wspopover') || {}, element.data('wspopover'));
|
281
|
+
this.lastOpts = opts;
|
255
282
|
this.lastElement = $(element).getShadowFocusElement();
|
256
283
|
if(!this.prepared || !this.options.prepareFor){
|
257
284
|
if(opts.appendTo == 'element'){
|
@@ -297,6 +324,7 @@ webshims.register('form-validation', function($, webshims, window, document, und
|
|
297
324
|
$(document).off(this.eventns);
|
298
325
|
this.element.off('transitionend'+this.eventns);
|
299
326
|
this.stopBlur = false;
|
327
|
+
this.lastOpts = false;
|
300
328
|
$.each(this.timers, function(timerName, val){
|
301
329
|
clearTimeout(val);
|
302
330
|
});
|
@@ -324,9 +352,9 @@ webshims.register('form-validation', function($, webshims, window, document, und
|
|
324
352
|
that.timers.forcehide = setTimeout(forceHide, hasTransition ? 600 : 40);
|
325
353
|
},
|
326
354
|
position: function(element){
|
327
|
-
var offset = webshims.getRelOffset(this.element.
|
328
|
-
|
329
|
-
this.element.css(
|
355
|
+
var offset = webshims.getRelOffset(this.element.removeAttr('hidden'), element, (this.lastOpts || this.options).position);
|
356
|
+
|
357
|
+
this.element.css(offset);
|
330
358
|
}
|
331
359
|
});
|
332
360
|
|
@@ -334,6 +362,12 @@ webshims.register('form-validation', function($, webshims, window, document, und
|
|
334
362
|
|
335
363
|
/* some extra validation UI */
|
336
364
|
webshims.validityAlert = (function(){
|
365
|
+
|
366
|
+
options.messagePopover.position = $.extend({}, {
|
367
|
+
at: 'left bottom',
|
368
|
+
my: 'left top',
|
369
|
+
collision: 'none'
|
370
|
+
}, options.messagePopover.position || {});
|
337
371
|
|
338
372
|
var focusTimer = false;
|
339
373
|
|
@@ -565,6 +599,7 @@ webshims.register('form-validation', function($, webshims, window, document, und
|
|
565
599
|
},
|
566
600
|
submit: function(e){
|
567
601
|
if(options.iVal.sel && $(e.target).is(options.iVal.sel) && $.prop(e.target, 'noValidate') && !$(e.target).checkValidity()){
|
602
|
+
e.stopImmediatePropagation();
|
568
603
|
return false;
|
569
604
|
}
|
570
605
|
}
|
@@ -8,7 +8,7 @@ var swfmini = function() {
|
|
8
8
|
|
9
9
|
var UNDEF = "undefined",
|
10
10
|
OBJECT = "object",
|
11
|
-
webshims =
|
11
|
+
webshims = window.webshims,
|
12
12
|
SHOCKWAVE_FLASH = "Shockwave Flash",
|
13
13
|
SHOCKWAVE_FLASH_AX = "ShockwaveFlash.ShockwaveFlash",
|
14
14
|
FLASH_MIME_TYPE = "application/x-shockwave-flash",
|
@@ -1205,11 +1205,11 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
1205
1205
|
}
|
1206
1206
|
|
1207
1207
|
if(opts){
|
1208
|
-
o.options =
|
1208
|
+
o.options = $.extend(true, {}, o.options || {}, opts);
|
1209
1209
|
opts = o.options;
|
1210
1210
|
}
|
1211
1211
|
|
1212
|
-
if(o._create &&
|
1212
|
+
if(o._create && $.isFunction(o._create)){
|
1213
1213
|
o._create(opts);
|
1214
1214
|
}
|
1215
1215
|
return o;
|
@@ -1295,7 +1295,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
|
|
1295
1295
|
};
|
1296
1296
|
|
1297
1297
|
}
|
1298
|
-
})(
|
1298
|
+
})(webshims.$, webshims);
|
1299
1299
|
|
1300
1300
|
|
1301
1301
|
|
@@ -1313,14 +1313,14 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1313
1313
|
webshims.error("Webshims needs jQuery 1.8+ to work properly. Please update your jQuery version or downgrade webshims.");
|
1314
1314
|
}
|
1315
1315
|
|
1316
|
-
if(webshims.cfg.extendNative
|
1316
|
+
if(webshims.cfg.extendNative === 1){
|
1317
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
1318
|
}
|
1319
1319
|
|
1320
1320
|
if (!webshims.cfg.no$Switch) {
|
1321
1321
|
var switch$ = function(){
|
1322
1322
|
if (window.jQuery && (!window.$ || window.jQuery == window.$) && !window.jQuery.webshims) {
|
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
|
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. Or set webshims.cfg.no$Switch to 'true'.");
|
1324
1324
|
if (window.$) {
|
1325
1325
|
window.$ = webshims.$;
|
1326
1326
|
}
|
@@ -1862,6 +1862,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1862
1862
|
setInterval(this.test, 600);
|
1863
1863
|
$(this.test);
|
1864
1864
|
webshims.ready('WINDOWLOAD', this.test);
|
1865
|
+
$(document).on('updatelayout', this.handler);
|
1865
1866
|
$(window).bind('resize', this.handler);
|
1866
1867
|
(function(){
|
1867
1868
|
var oldAnimate = $.fn.animate;
|
@@ -1909,7 +1910,9 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1909
1910
|
|
1910
1911
|
$(nativeElem).on('remove', function(e){
|
1911
1912
|
if (!e.originalEvent) {
|
1912
|
-
|
1913
|
+
setTimeout(function(){
|
1914
|
+
$(shadowElem).remove();
|
1915
|
+
}, 4);
|
1913
1916
|
}
|
1914
1917
|
});
|
1915
1918
|
|
@@ -2387,7 +2390,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2387
2390
|
}
|
2388
2391
|
});
|
2389
2392
|
|
2390
|
-
})(
|
2393
|
+
})(webshims.$, document);
|
2391
2394
|
|
2392
2395
|
webshims.register('filereader', function( $, webshims ){
|
2393
2396
|
"use strict";
|
@@ -2776,8 +2779,9 @@ webshims.register('filereader', function( $, webshims ){
|
|
2776
2779
|
});
|
2777
2780
|
});
|
2778
2781
|
|
2779
|
-
(function(
|
2782
|
+
(function(Modernizr, webshims){
|
2780
2783
|
"use strict";
|
2784
|
+
var $ = webshims.$;
|
2781
2785
|
var hasNative = Modernizr.audio && Modernizr.video;
|
2782
2786
|
var supportsLoop = false;
|
2783
2787
|
var bugs = webshims.bugs;
|
@@ -2881,6 +2885,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2881
2885
|
hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
|
2882
2886
|
$('html').addClass(hasSwf ? 'swf' : 'no-swf');
|
2883
2887
|
var mediaelement = webshims.mediaelement;
|
2888
|
+
|
2884
2889
|
mediaelement.parseRtmp = function(data){
|
2885
2890
|
var src = data.src.split('://');
|
2886
2891
|
var paths = src[1].split('/');
|
@@ -3050,7 +3055,6 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3050
3055
|
var src = getSrcObj(mediaElem, nodeName);
|
3051
3056
|
|
3052
3057
|
if(!src.src){
|
3053
|
-
|
3054
3058
|
$('source', mediaElem).each(function(){
|
3055
3059
|
src = getSrcObj(this, nodeName);
|
3056
3060
|
if(src.src){srces.push(src);}
|
@@ -3065,18 +3069,10 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3065
3069
|
srces = [srces];
|
3066
3070
|
}
|
3067
3071
|
srces.forEach(function(src){
|
3068
|
-
var source = document.createElement('source');
|
3069
3072
|
if(typeof src == 'string'){
|
3070
3073
|
src = {src: src};
|
3071
3074
|
}
|
3072
|
-
|
3073
|
-
if(src.type){
|
3074
|
-
source.setAttribute('type', src.type);
|
3075
|
-
}
|
3076
|
-
if(src.media){
|
3077
|
-
source.setAttribute('media', src.media);
|
3078
|
-
}
|
3079
|
-
mediaElem.append(source);
|
3075
|
+
mediaElem.append($(document.createElement('source')).attr(src));
|
3080
3076
|
});
|
3081
3077
|
|
3082
3078
|
}
|
@@ -3224,6 +3220,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3224
3220
|
|
3225
3221
|
if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;}
|
3226
3222
|
data = data || webshims.data(elem, 'mediaelement');
|
3223
|
+
if(mediaelement.sortMedia){
|
3224
|
+
_srces.sort(mediaelement.sortMedia);
|
3225
|
+
}
|
3227
3226
|
stepSources(elem, data, options.preferFlash || undefined, _srces);
|
3228
3227
|
};
|
3229
3228
|
mediaelement.selectSource = selectSource;
|
@@ -3398,7 +3397,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3398
3397
|
}
|
3399
3398
|
webshims.ready('track', loadTrackUi);
|
3400
3399
|
});
|
3401
|
-
})(
|
3400
|
+
})(Modernizr, webshims);
|
3402
3401
|
webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
|
3403
3402
|
"use strict";
|
3404
3403
|
|
@@ -3839,20 +3838,84 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3839
3838
|
};
|
3840
3839
|
})();
|
3841
3840
|
|
3841
|
+
|
3842
|
+
var transformDimension = (function(){
|
3843
|
+
var dimCache = {};
|
3844
|
+
var getRealDims = function(data){
|
3845
|
+
var ret, poster, img;
|
3846
|
+
if(dimCache[data.currentSrc]){
|
3847
|
+
ret = dimCache[data.currentSrc];
|
3848
|
+
} else if(data.videoHeight && data.videoWidth){
|
3849
|
+
dimCache[data.currentSrc] = {
|
3850
|
+
width: data.videoWidth,
|
3851
|
+
height: data.videoHeight
|
3852
|
+
};
|
3853
|
+
ret = dimCache[data.currentSrc];
|
3854
|
+
} else if((poster = $.attr(data._elem, 'poster'))){
|
3855
|
+
ret = dimCache[poster];
|
3856
|
+
if(!ret){
|
3857
|
+
img = document.createElement('img');
|
3858
|
+
img.onload = function(){
|
3859
|
+
dimCache[poster] = {
|
3860
|
+
width: this.width,
|
3861
|
+
height: this.height
|
3862
|
+
};
|
3863
|
+
|
3864
|
+
if(dimCache[poster].height && dimCache[poster].width){
|
3865
|
+
setElementDimension(data, $.prop(data._elem, 'controls'));
|
3866
|
+
} else {
|
3867
|
+
delete dimCache[poster];
|
3868
|
+
}
|
3869
|
+
};
|
3870
|
+
img.src = poster;
|
3871
|
+
if(img.complete){
|
3872
|
+
img.onload();
|
3873
|
+
}
|
3874
|
+
}
|
3875
|
+
}
|
3876
|
+
return ret || {width: 300, height: data._elemNodeName == 'video' ? 150 : 50};
|
3877
|
+
};
|
3878
|
+
return function(data){
|
3879
|
+
var realDims, ratio;
|
3880
|
+
var ret = data.elemDimensions;
|
3881
|
+
|
3882
|
+
if(ret.width == 'auto' || ret.height == 'auto'){
|
3883
|
+
ret = $.extend({}, data.elemDimensions);
|
3884
|
+
realDims = getRealDims(data);
|
3885
|
+
ratio = realDims.width / realDims.height;
|
3886
|
+
|
3887
|
+
if(ret.width == 'auto' && ret.height == 'auto'){
|
3888
|
+
ret = realDims;
|
3889
|
+
} else if(ret.width == 'auto'){
|
3890
|
+
data.shadowElem.css({height: ret.height});
|
3891
|
+
ret.width = data.shadowElem.height() * ratio;
|
3892
|
+
} else {
|
3893
|
+
data.shadowElem.css({width: ret.width});
|
3894
|
+
ret.height = data.shadowElem.width() / ratio;
|
3895
|
+
}
|
3896
|
+
}
|
3897
|
+
return ret;
|
3898
|
+
};
|
3899
|
+
})();
|
3842
3900
|
var setElementDimension = function(data, hasControls){
|
3843
|
-
var
|
3901
|
+
var dims;
|
3844
3902
|
var elem = data._elem;
|
3845
3903
|
var box = data.shadowElem;
|
3846
|
-
|
3847
3904
|
$(elem)[hasControls ? 'addClass' : 'removeClass']('webshims-controls');
|
3848
|
-
|
3849
|
-
|
3850
|
-
|
3851
|
-
|
3852
|
-
|
3853
|
-
|
3854
|
-
|
3855
|
-
|
3905
|
+
|
3906
|
+
if(data.isActive == 'third'){
|
3907
|
+
if(data._elemNodeName == 'audio' && !hasControls){
|
3908
|
+
box.css({width: 0, height: 0});
|
3909
|
+
} else {
|
3910
|
+
data.elemDimensions = {
|
3911
|
+
width: elem.style.width || $.attr(elem, 'width') || $(elem).width(),
|
3912
|
+
height: elem.style.height || $.attr(elem, 'height') || $(elem).height()
|
3913
|
+
};
|
3914
|
+
dims = transformDimension(data);
|
3915
|
+
dims.minWidth = elem.style.minWidth;
|
3916
|
+
dims.minHeight = elem.style.minHeight;
|
3917
|
+
box.css(dims);
|
3918
|
+
}
|
3856
3919
|
}
|
3857
3920
|
};
|
3858
3921
|
|
@@ -3880,6 +3943,27 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3880
3943
|
replaceVar = function(val){
|
3881
3944
|
return (val.replace) ? val.replace(regs.A, '%26').replace(regs.a, '%26').replace(regs.e, '%3D').replace(regs.q, '%3F') : val;
|
3882
3945
|
};
|
3946
|
+
|
3947
|
+
if('matchMedia' in window){
|
3948
|
+
var allowMediaSorting = false;
|
3949
|
+
try {
|
3950
|
+
allowMediaSorting = window.matchMedia('only all').matches;
|
3951
|
+
} catch(er){}
|
3952
|
+
if(allowMediaSorting){
|
3953
|
+
mediaelement.sortMedia = function(src1, src2){
|
3954
|
+
try {
|
3955
|
+
src1 = !src1.media || matchMedia( src1.media ).matches;
|
3956
|
+
src2 = !src2.media || matchMedia( src2.media ).matches;
|
3957
|
+
} catch(er){
|
3958
|
+
return 0;
|
3959
|
+
}
|
3960
|
+
return src1 == src2 ?
|
3961
|
+
0 :
|
3962
|
+
src1 ? -1
|
3963
|
+
: 1;
|
3964
|
+
};
|
3965
|
+
}
|
3966
|
+
}
|
3883
3967
|
|
3884
3968
|
mediaelement.createSWF = function( elem, canPlaySrc, data ){
|
3885
3969
|
if(!hasFlash){
|
@@ -3931,7 +4015,9 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3931
4015
|
$(elem).data('attrs')
|
3932
4016
|
);
|
3933
4017
|
var setDimension = function(){
|
3934
|
-
|
4018
|
+
if(data.isActive == 'third'){
|
4019
|
+
setElementDimension(data, $.prop(elem, 'controls'));
|
4020
|
+
}
|
3935
4021
|
};
|
3936
4022
|
|
3937
4023
|
var box;
|
@@ -3997,7 +4083,7 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
3997
4083
|
}
|
3998
4084
|
}));
|
3999
4085
|
|
4000
|
-
|
4086
|
+
|
4001
4087
|
|
4002
4088
|
box.insertBefore(elem);
|
4003
4089
|
|
@@ -4013,17 +4099,20 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
4013
4099
|
|
4014
4100
|
mediaelement.setActive(elem, 'third', data);
|
4015
4101
|
|
4102
|
+
setElementDimension(data, hasControls);
|
4103
|
+
|
4016
4104
|
$(elem)
|
4017
|
-
.on({
|
4018
|
-
|
4019
|
-
|
4020
|
-
|
4021
|
-
|
4022
|
-
|
4023
|
-
|
4105
|
+
.on({
|
4106
|
+
'updatemediaelementdimensions loadedmetadata emptied': setDimension,
|
4107
|
+
'remove': function(e){
|
4108
|
+
if(!e.originalEvent && mediaelement.jarisEvent[data.id] && mediaelement.jarisEvent[data.id].elem == elem){
|
4109
|
+
delete mediaelement.jarisEvent[data.id];
|
4110
|
+
clearTimeout(localConnectionTimer);
|
4111
|
+
clearTimeout(data.flashBlock);
|
4112
|
+
}
|
4024
4113
|
}
|
4025
|
-
box.remove();
|
4026
4114
|
})
|
4115
|
+
.onWSOff('updateshadowdom', setDimension)
|
4027
4116
|
;
|
4028
4117
|
}
|
4029
4118
|
|
@@ -4329,6 +4418,8 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
4329
4418
|
limitedTo: ['', 'auto', 'metadata', 'none']
|
4330
4419
|
});
|
4331
4420
|
|
4421
|
+
webshims.reflectProperties('source', ['type', 'media']);
|
4422
|
+
|
4332
4423
|
|
4333
4424
|
['autoplay', 'controls'].forEach(function(name){
|
4334
4425
|
webshims.defineNodeNamesBooleanProperty(['audio', 'video'], name);
|
@@ -4364,6 +4455,8 @@ webshims.register('mediaelement-jaris', function($, webshims, window, document,
|
|
4364
4455
|
}
|
4365
4456
|
|
4366
4457
|
}, 'prop');
|
4458
|
+
} else if(!('media' in document.createElement('source'))){
|
4459
|
+
webshims.reflectProperties('source', ['media']);
|
4367
4460
|
}
|
4368
4461
|
|
4369
4462
|
});
|