webshims-rails 1.14.6 → 1.15.2
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/polyfiller.js +145 -139
- data/vendor/assets/javascripts/webshims/shims/canvas-blob.js +97 -0
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +13 -15
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +29 -28
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +22 -10
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +22 -10
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +28 -43
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +41 -44
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +40 -42
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +98 -71
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +9 -9
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +13 -1
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +141 -51
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +66 -12
- data/vendor/assets/javascripts/webshims/shims/combos/28.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +27 -41
- data/vendor/assets/javascripts/webshims/shims/combos/30.js +27 -41
- data/vendor/assets/javascripts/webshims/shims/combos/31.js +27 -41
- data/vendor/assets/javascripts/webshims/shims/combos/34.js +36 -36
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +27 -27
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +40 -42
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +40 -42
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +29 -28
- data/vendor/assets/javascripts/webshims/shims/combos/98.js +4 -2
- data/vendor/assets/javascripts/webshims/shims/combos/99.js +4 -2
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +27 -27
- data/vendor/assets/javascripts/webshims/shims/es6.js +23 -29
- data/vendor/assets/javascripts/webshims/shims/{filereader.js → filereader-xhr.js} +66 -12
- data/vendor/assets/javascripts/webshims/shims/form-core.js +0 -14
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/form-validation.js +18 -5
- data/vendor/assets/javascripts/webshims/shims/form-validators.js +15 -14
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +41 -50
- data/vendor/assets/javascripts/webshims/shims/jme/controls.css +4 -4
- data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +2 -1
- data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols.js +4 -2
- data/vendor/assets/javascripts/webshims/shims/mediacapture-picker.js +42 -0
- data/vendor/assets/javascripts/webshims/shims/mediacapture.js +159 -0
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +13 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +48 -12
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +20 -8
- data/vendor/assets/javascripts/webshims/shims/{combos/26.js → moxie/js/moxie-html4.js} +2121 -1257
- data/vendor/assets/javascripts/webshims/shims/moxie/js/{moxie.js → moxie-swf.js} +1125 -1741
- data/vendor/assets/javascripts/webshims/shims/sticky.js +585 -0
- data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +20 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-picker.scss +23 -0
- data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +74 -34
- data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +78 -31
- data/vendor/assets/javascripts/webshims/shims/styles/shim.css +78 -31
- data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +214 -111
- data/vendor/assets/javascripts/webshims/shims/track.js +9 -9
- data/vendor/assets/javascripts/webshims/shims/usermedia-core.js +27 -0
- data/vendor/assets/javascripts/webshims/shims/usermedia-shim.js +34 -37
- metadata +9 -8
- data/vendor/assets/javascripts/webshims/shims/jajax.js +0 -1262
- data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.cdn.xap +0 -0
- data/vendor/assets/javascripts/webshims/shims/moxie/silverlight/Moxie.min.xap +0 -0
@@ -64,11 +64,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
64
64
|
webshims.assumeARIA = true;
|
65
65
|
|
66
66
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
67
|
-
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
|
68
|
-
}
|
69
|
-
|
70
|
-
if('debug' in webshims){
|
71
|
-
webshims.error('Use webshims.setOptions("debug", true||false||"noCombo"); to debug flag');
|
67
|
+
webshims.error("IE browser modes are busted in IE10+. Make sure to run IE in edge mode (X-UA-Compatible). Please test your HTML/CSS/JS with a real IE version or at least IETester or similar tools. ");
|
72
68
|
}
|
73
69
|
|
74
70
|
if (!webshims.cfg.no$Switch) {
|
@@ -681,33 +677,37 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
681
677
|
}
|
682
678
|
},
|
683
679
|
handler: (function(){
|
680
|
+
var evt;
|
684
681
|
var trigger = function(){
|
685
|
-
$(document).triggerHandler('updateshadowdom');
|
682
|
+
$(document).triggerHandler('updateshadowdom', [evt]);
|
686
683
|
};
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
var width = $window.width();
|
692
|
-
var height = $window.width();
|
684
|
+
var timed = function(){
|
685
|
+
if(evt && evt.type == 'resize'){
|
686
|
+
var width = $window.width();
|
687
|
+
var height = $window.width();
|
693
688
|
|
694
|
-
|
695
|
-
|
696
|
-
}
|
697
|
-
lastHeight = height;
|
698
|
-
lastWidth = width;
|
699
|
-
|
700
|
-
docObserve.height = docObserve.getHeight();
|
701
|
-
docObserve.width = docObserve.getWidth();
|
689
|
+
if(height == lastHeight && width == lastWidth){
|
690
|
+
return;
|
702
691
|
}
|
692
|
+
lastHeight = height;
|
693
|
+
lastWidth = width;
|
694
|
+
}
|
703
695
|
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
696
|
+
if(evt && evt.type != 'docresize'){
|
697
|
+
docObserve.height = docObserve.getHeight();
|
698
|
+
docObserve.width = docObserve.getWidth();
|
699
|
+
}
|
700
|
+
|
701
|
+
if(window.requestAnimationFrame){
|
702
|
+
requestAnimationFrame(trigger);
|
703
|
+
} else {
|
704
|
+
setTimeout(trigger, 0);
|
705
|
+
}
|
706
|
+
};
|
707
|
+
return function(e){
|
708
|
+
clearTimeout(resizeTimer);
|
709
|
+
evt = e;
|
710
|
+
resizeTimer = setTimeout(timed, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
|
711
711
|
};
|
712
712
|
})(),
|
713
713
|
_create: function(){
|
@@ -1532,20 +1532,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1532
1532
|
}
|
1533
1533
|
});
|
1534
1534
|
|
1535
|
-
$(function(){
|
1536
|
-
var fileReaderReady = ('FileReader' in window && 'FormData' in window);
|
1537
|
-
if(!fileReaderReady){
|
1538
|
-
webshims.addReady(function(context){
|
1539
|
-
if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
|
1540
|
-
if(context.querySelector('input.ws-filereader')){
|
1541
|
-
webshims.reTest(['filereader', 'moxie']);
|
1542
|
-
fileReaderReady = true;
|
1543
|
-
}
|
1544
|
-
}
|
1545
|
-
});
|
1546
|
-
}
|
1547
|
-
});
|
1548
|
-
|
1549
1535
|
if(options.addValidators && options.fastValidators){
|
1550
1536
|
webshims.reTest(['form-validators', 'form-validation']);
|
1551
1537
|
}
|
@@ -1653,7 +1639,6 @@ var isPlaceholderOptionSelected = function(select){
|
|
1653
1639
|
};
|
1654
1640
|
|
1655
1641
|
var emptyJ = $([]);
|
1656
|
-
//TODO: cache + perftest
|
1657
1642
|
var getGroupElements = function(elem){
|
1658
1643
|
elem = $(elem);
|
1659
1644
|
var name, form;
|
@@ -1723,7 +1708,7 @@ var validityRules = {
|
|
1723
1708
|
$.each({tooShort: ['minLength', -1], tooLong: ['maxLength', 1]}, function(name, props){
|
1724
1709
|
validityRules[name] = function(input, val, cache){
|
1725
1710
|
//defaultValue is not the same as dirty flag, but very similiar
|
1726
|
-
if(cache.nodeName == 'select' || input.prop('defaultValue') == val){return false;}
|
1711
|
+
if(!val || cache.nodeName == 'select' || input.prop('defaultValue') == val){return false;}
|
1727
1712
|
|
1728
1713
|
cacheType(cache, input[0]);
|
1729
1714
|
|
@@ -287,11 +287,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
287
287
|
webshims.assumeARIA = true;
|
288
288
|
|
289
289
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
290
|
-
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
|
291
|
-
}
|
292
|
-
|
293
|
-
if('debug' in webshims){
|
294
|
-
webshims.error('Use webshims.setOptions("debug", true||false||"noCombo"); to debug flag');
|
290
|
+
webshims.error("IE browser modes are busted in IE10+. Make sure to run IE in edge mode (X-UA-Compatible). Please test your HTML/CSS/JS with a real IE version or at least IETester or similar tools. ");
|
295
291
|
}
|
296
292
|
|
297
293
|
if (!webshims.cfg.no$Switch) {
|
@@ -904,33 +900,37 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
904
900
|
}
|
905
901
|
},
|
906
902
|
handler: (function(){
|
903
|
+
var evt;
|
907
904
|
var trigger = function(){
|
908
|
-
$(document).triggerHandler('updateshadowdom');
|
905
|
+
$(document).triggerHandler('updateshadowdom', [evt]);
|
909
906
|
};
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
var width = $window.width();
|
915
|
-
var height = $window.width();
|
907
|
+
var timed = function(){
|
908
|
+
if(evt && evt.type == 'resize'){
|
909
|
+
var width = $window.width();
|
910
|
+
var height = $window.width();
|
916
911
|
|
917
|
-
|
918
|
-
|
919
|
-
}
|
920
|
-
lastHeight = height;
|
921
|
-
lastWidth = width;
|
922
|
-
|
923
|
-
docObserve.height = docObserve.getHeight();
|
924
|
-
docObserve.width = docObserve.getWidth();
|
912
|
+
if(height == lastHeight && width == lastWidth){
|
913
|
+
return;
|
925
914
|
}
|
915
|
+
lastHeight = height;
|
916
|
+
lastWidth = width;
|
917
|
+
}
|
926
918
|
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
919
|
+
if(evt && evt.type != 'docresize'){
|
920
|
+
docObserve.height = docObserve.getHeight();
|
921
|
+
docObserve.width = docObserve.getWidth();
|
922
|
+
}
|
923
|
+
|
924
|
+
if(window.requestAnimationFrame){
|
925
|
+
requestAnimationFrame(trigger);
|
926
|
+
} else {
|
927
|
+
setTimeout(trigger, 0);
|
928
|
+
}
|
929
|
+
};
|
930
|
+
return function(e){
|
931
|
+
clearTimeout(resizeTimer);
|
932
|
+
evt = e;
|
933
|
+
resizeTimer = setTimeout(timed, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
|
934
934
|
};
|
935
935
|
})(),
|
936
936
|
_create: function(){
|
@@ -1755,20 +1755,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1755
1755
|
}
|
1756
1756
|
});
|
1757
1757
|
|
1758
|
-
$(function(){
|
1759
|
-
var fileReaderReady = ('FileReader' in window && 'FormData' in window);
|
1760
|
-
if(!fileReaderReady){
|
1761
|
-
webshims.addReady(function(context){
|
1762
|
-
if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
|
1763
|
-
if(context.querySelector('input.ws-filereader')){
|
1764
|
-
webshims.reTest(['filereader', 'moxie']);
|
1765
|
-
fileReaderReady = true;
|
1766
|
-
}
|
1767
|
-
}
|
1768
|
-
});
|
1769
|
-
}
|
1770
|
-
});
|
1771
|
-
|
1772
1758
|
if(options.addValidators && options.fastValidators){
|
1773
1759
|
webshims.reTest(['form-validators', 'form-validation']);
|
1774
1760
|
}
|
@@ -1876,7 +1862,6 @@ var isPlaceholderOptionSelected = function(select){
|
|
1876
1862
|
};
|
1877
1863
|
|
1878
1864
|
var emptyJ = $([]);
|
1879
|
-
//TODO: cache + perftest
|
1880
1865
|
var getGroupElements = function(elem){
|
1881
1866
|
elem = $(elem);
|
1882
1867
|
var name, form;
|
@@ -1946,7 +1931,7 @@ var validityRules = {
|
|
1946
1931
|
$.each({tooShort: ['minLength', -1], tooLong: ['maxLength', 1]}, function(name, props){
|
1947
1932
|
validityRules[name] = function(input, val, cache){
|
1948
1933
|
//defaultValue is not the same as dirty flag, but very similiar
|
1949
|
-
if(cache.nodeName == 'select' || input.prop('defaultValue') == val){return false;}
|
1934
|
+
if(!val || cache.nodeName == 'select' || input.prop('defaultValue') == val){return false;}
|
1950
1935
|
|
1951
1936
|
cacheType(cache, input[0]);
|
1952
1937
|
|
@@ -3253,9 +3238,16 @@ webshims.defineNodeNamesProperties(['input', 'button'], formSubmitterDescriptors
|
|
3253
3238
|
})();
|
3254
3239
|
}
|
3255
3240
|
|
3241
|
+
if(window.CanvasRenderingContext2D && CanvasRenderingContext2D.prototype){
|
3242
|
+
CanvasRenderingContext2D.prototype.wsImageComplete = function(cb){
|
3243
|
+
cb.call(this, this);
|
3244
|
+
};
|
3245
|
+
}
|
3246
|
+
|
3256
3247
|
webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
|
3257
3248
|
var hasSwf = swfmini.hasFlashPlayerVersion('11.3');
|
3258
3249
|
var mediaelement = webshims.mediaelement;
|
3250
|
+
var allowYtLoading = false;
|
3259
3251
|
|
3260
3252
|
mediaelement.parseRtmp = function(data){
|
3261
3253
|
var src = data.src.split('://');
|
@@ -3351,7 +3343,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3351
3343
|
return function(){
|
3352
3344
|
if(loaded || !hasYt){return;}
|
3353
3345
|
loaded = true;
|
3354
|
-
|
3346
|
+
if(allowYtLoading){
|
3347
|
+
webshims.loader.loadScript("https://www.youtube.com/player_api");
|
3348
|
+
}
|
3355
3349
|
$(function(){
|
3356
3350
|
webshims._polyfill(["mediaelement-yt"]);
|
3357
3351
|
});
|
@@ -3537,6 +3531,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3537
3531
|
}
|
3538
3532
|
});
|
3539
3533
|
if(!requested && hasYt && !mediaelement.createSWF){
|
3534
|
+
allowYtLoading = true;
|
3540
3535
|
loadYt();
|
3541
3536
|
}
|
3542
3537
|
};
|
@@ -3701,6 +3696,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3701
3696
|
.add(insertedElement.filter('video, audio'))
|
3702
3697
|
.each(function(){
|
3703
3698
|
if(!mediaelement.canNativePlaySrces(this)){
|
3699
|
+
allowYtLoading = true;
|
3704
3700
|
loadThird();
|
3705
3701
|
handleMedia = true;
|
3706
3702
|
return false;
|
@@ -3723,6 +3719,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
3723
3719
|
mediaelement.loadDebugger();
|
3724
3720
|
});
|
3725
3721
|
}
|
3722
|
+
|
3726
3723
|
//set native implementation ready, before swf api is retested
|
3727
3724
|
if(hasNative){
|
3728
3725
|
webshims.isReady('mediaelement-core', true);
|
@@ -2430,7 +2430,8 @@ webshims.register('form-number-date-api', function($, webshims, window, document
|
|
2430
2430
|
|
2431
2431
|
(function(){
|
2432
2432
|
var picker = {};
|
2433
|
-
var
|
2433
|
+
var modern = window.Modernizr;
|
2434
|
+
var assumeVirtualKeyBoard = (modern && (modern.touchevents || modern.touch)) || (/android|iphone|ipad|ipod|blackberry|iemobile/i.test(navigator.userAgent.toLowerCase()));
|
2434
2435
|
webshims.inlinePopover = {
|
2435
2436
|
_create: function(){
|
2436
2437
|
this.element = $('<div class="ws-inline-picker"><div class="ws-po-box" /></div>').data('wspopover', this);
|
@@ -287,11 +287,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
287
287
|
webshims.assumeARIA = true;
|
288
288
|
|
289
289
|
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
|
290
|
-
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
|
291
|
-
}
|
292
|
-
|
293
|
-
if('debug' in webshims){
|
294
|
-
webshims.error('Use webshims.setOptions("debug", true||false||"noCombo"); to debug flag');
|
290
|
+
webshims.error("IE browser modes are busted in IE10+. Make sure to run IE in edge mode (X-UA-Compatible). Please test your HTML/CSS/JS with a real IE version or at least IETester or similar tools. ");
|
295
291
|
}
|
296
292
|
|
297
293
|
if (!webshims.cfg.no$Switch) {
|
@@ -904,33 +900,37 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
904
900
|
}
|
905
901
|
},
|
906
902
|
handler: (function(){
|
903
|
+
var evt;
|
907
904
|
var trigger = function(){
|
908
|
-
$(document).triggerHandler('updateshadowdom');
|
905
|
+
$(document).triggerHandler('updateshadowdom', [evt]);
|
909
906
|
};
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
var width = $window.width();
|
915
|
-
var height = $window.width();
|
907
|
+
var timed = function(){
|
908
|
+
if(evt && evt.type == 'resize'){
|
909
|
+
var width = $window.width();
|
910
|
+
var height = $window.width();
|
916
911
|
|
917
|
-
|
918
|
-
|
919
|
-
}
|
920
|
-
lastHeight = height;
|
921
|
-
lastWidth = width;
|
922
|
-
|
923
|
-
docObserve.height = docObserve.getHeight();
|
924
|
-
docObserve.width = docObserve.getWidth();
|
912
|
+
if(height == lastHeight && width == lastWidth){
|
913
|
+
return;
|
925
914
|
}
|
915
|
+
lastHeight = height;
|
916
|
+
lastWidth = width;
|
917
|
+
}
|
926
918
|
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
919
|
+
if(evt && evt.type != 'docresize'){
|
920
|
+
docObserve.height = docObserve.getHeight();
|
921
|
+
docObserve.width = docObserve.getWidth();
|
922
|
+
}
|
923
|
+
|
924
|
+
if(window.requestAnimationFrame){
|
925
|
+
requestAnimationFrame(trigger);
|
926
|
+
} else {
|
927
|
+
setTimeout(trigger, 0);
|
928
|
+
}
|
929
|
+
};
|
930
|
+
return function(e){
|
931
|
+
clearTimeout(resizeTimer);
|
932
|
+
evt = e;
|
933
|
+
resizeTimer = setTimeout(timed, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 9);
|
934
934
|
};
|
935
935
|
})(),
|
936
936
|
_create: function(){
|
@@ -1755,20 +1755,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
1755
1755
|
}
|
1756
1756
|
});
|
1757
1757
|
|
1758
|
-
$(function(){
|
1759
|
-
var fileReaderReady = ('FileReader' in window && 'FormData' in window);
|
1760
|
-
if(!fileReaderReady){
|
1761
|
-
webshims.addReady(function(context){
|
1762
|
-
if(!fileReaderReady && !modules.filereader.loaded && !modules.moxie.loaded){
|
1763
|
-
if(context.querySelector('input.ws-filereader')){
|
1764
|
-
webshims.reTest(['filereader', 'moxie']);
|
1765
|
-
fileReaderReady = true;
|
1766
|
-
}
|
1767
|
-
}
|
1768
|
-
});
|
1769
|
-
}
|
1770
|
-
});
|
1771
|
-
|
1772
1758
|
if(options.addValidators && options.fastValidators){
|
1773
1759
|
webshims.reTest(['form-validators', 'form-validation']);
|
1774
1760
|
}
|
@@ -2134,9 +2120,16 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
|
|
2134
2120
|
})();
|
2135
2121
|
}
|
2136
2122
|
|
2123
|
+
if(window.CanvasRenderingContext2D && CanvasRenderingContext2D.prototype){
|
2124
|
+
CanvasRenderingContext2D.prototype.wsImageComplete = function(cb){
|
2125
|
+
cb.call(this, this);
|
2126
|
+
};
|
2127
|
+
}
|
2128
|
+
|
2137
2129
|
webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
|
2138
2130
|
var hasSwf = swfmini.hasFlashPlayerVersion('11.3');
|
2139
2131
|
var mediaelement = webshims.mediaelement;
|
2132
|
+
var allowYtLoading = false;
|
2140
2133
|
|
2141
2134
|
mediaelement.parseRtmp = function(data){
|
2142
2135
|
var src = data.src.split('://');
|
@@ -2232,7 +2225,9 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2232
2225
|
return function(){
|
2233
2226
|
if(loaded || !hasYt){return;}
|
2234
2227
|
loaded = true;
|
2235
|
-
|
2228
|
+
if(allowYtLoading){
|
2229
|
+
webshims.loader.loadScript("https://www.youtube.com/player_api");
|
2230
|
+
}
|
2236
2231
|
$(function(){
|
2237
2232
|
webshims._polyfill(["mediaelement-yt"]);
|
2238
2233
|
});
|
@@ -2418,6 +2413,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2418
2413
|
}
|
2419
2414
|
});
|
2420
2415
|
if(!requested && hasYt && !mediaelement.createSWF){
|
2416
|
+
allowYtLoading = true;
|
2421
2417
|
loadYt();
|
2422
2418
|
}
|
2423
2419
|
};
|
@@ -2582,6 +2578,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2582
2578
|
.add(insertedElement.filter('video, audio'))
|
2583
2579
|
.each(function(){
|
2584
2580
|
if(!mediaelement.canNativePlaySrces(this)){
|
2581
|
+
allowYtLoading = true;
|
2585
2582
|
loadThird();
|
2586
2583
|
handleMedia = true;
|
2587
2584
|
return false;
|
@@ -2604,6 +2601,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
2604
2601
|
mediaelement.loadDebugger();
|
2605
2602
|
});
|
2606
2603
|
}
|
2604
|
+
|
2607
2605
|
//set native implementation ready, before swf api is retested
|
2608
2606
|
if(hasNative){
|
2609
2607
|
webshims.isReady('mediaelement-core', true);
|
@@ -92,52 +92,46 @@
|
|
92
92
|
}
|
93
93
|
return;
|
94
94
|
}
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
if($.ajax){
|
136
|
-
createAjax();
|
137
|
-
} else {
|
138
|
-
webshims.ready('jajax', createAjax);
|
139
|
-
webshims.loader.loadList(['jajax']);
|
140
|
-
}
|
95
|
+
|
96
|
+
$.ajax({
|
97
|
+
url: 'http://freegeoip.net/json/',
|
98
|
+
dataType: 'jsonp',
|
99
|
+
cache: true,
|
100
|
+
jsonp: 'callback',
|
101
|
+
success: function(data){
|
102
|
+
locationAPIs--;
|
103
|
+
if(!data){return;}
|
104
|
+
pos = pos || {
|
105
|
+
coords: {
|
106
|
+
latitude: data.latitude,
|
107
|
+
longitude: data.longitude,
|
108
|
+
altitude: null,
|
109
|
+
accuracy: 43000,
|
110
|
+
altitudeAccuracy: null,
|
111
|
+
heading: parseInt('NaN', 10),
|
112
|
+
velocity: null
|
113
|
+
},
|
114
|
+
//extension similiar to FF implementation
|
115
|
+
address: {
|
116
|
+
city: data.city,
|
117
|
+
country: data.country_name,
|
118
|
+
countryCode: data.country_code,
|
119
|
+
county: "",
|
120
|
+
postalCode: data.zipcode,
|
121
|
+
premises: "",
|
122
|
+
region: data.region_name,
|
123
|
+
street: "",
|
124
|
+
streetNumber: ""
|
125
|
+
}
|
126
|
+
};
|
127
|
+
endCallback();
|
128
|
+
},
|
129
|
+
error: function(){
|
130
|
+
locationAPIs--;
|
131
|
+
endCallback();
|
132
|
+
}
|
133
|
+
});
|
134
|
+
|
141
135
|
clearTimeout(googleTimer);
|
142
136
|
if (!window.google || !window.google.loader) {
|
143
137
|
googleTimer = setTimeout(function(){
|
@@ -179,10 +173,7 @@
|
|
179
173
|
};
|
180
174
|
return api;
|
181
175
|
})());
|
182
|
-
|
183
|
-
webshims.ready('WINDOWLOAD', function(){
|
184
|
-
webshims.loader.loadList(['jajax']);
|
185
|
-
});
|
176
|
+
|
186
177
|
webshims.isReady('geolocation', true);
|
187
178
|
})(webshims.$);
|
188
179
|
;webshims.register('details', function($, webshims, window, doc, undefined, options){
|
@@ -459,12 +450,13 @@
|
|
459
450
|
};
|
460
451
|
|
461
452
|
|
462
|
-
mediaelement.jarisEvent = {};
|
453
|
+
mediaelement.jarisEvent = mediaelement.jarisEvent || {};
|
463
454
|
var localConnectionTimer;
|
464
455
|
var onEvent = {
|
465
456
|
onPlayPause: function(jaris, data, override){
|
466
457
|
var playing, type;
|
467
458
|
var idled = data.paused || data.ended;
|
459
|
+
|
468
460
|
if(override == null){
|
469
461
|
try {
|
470
462
|
playing = data.api.api_get("isPlaying");
|
@@ -478,12 +470,15 @@
|
|
478
470
|
type = data.paused ? 'pause' : 'play';
|
479
471
|
data._ppFlag = true;
|
480
472
|
trigger(data._elem, type);
|
473
|
+
|
474
|
+
}
|
475
|
+
if(!data.paused || playing == idled || playing == null){
|
481
476
|
if(data.readyState < 3){
|
482
477
|
setReadyState(3, data);
|
483
478
|
}
|
484
|
-
|
485
|
-
|
486
|
-
|
479
|
+
}
|
480
|
+
if(!data.paused){
|
481
|
+
trigger(data._elem, 'playing');
|
487
482
|
}
|
488
483
|
},
|
489
484
|
onSeek: function(jaris, data){
|
@@ -1235,11 +1230,11 @@
|
|
1235
1230
|
options.changeSWF(vars, elem, canPlaySrc, data, 'embed');
|
1236
1231
|
clearTimeout(data.flashBlock);
|
1237
1232
|
|
1238
|
-
swfmini.embedSWF(playerSwfPath, elemId, "100%", "100%", "
|
1233
|
+
swfmini.embedSWF(playerSwfPath, elemId, "100%", "100%", "11.3", false, vars, params, attrs, function(swfData){
|
1239
1234
|
if(swfData.success){
|
1240
1235
|
var fBlocker = function(){
|
1241
|
-
if((!swfData.ref.parentNode
|
1242
|
-
|
1236
|
+
if((!swfData.ref.parentNode) || swfData.ref.style.display == "none"){
|
1237
|
+
|
1243
1238
|
$(elem).trigger('flashblocker');
|
1244
1239
|
webshims.warn("flashblocker assumed");
|
1245
1240
|
}
|
@@ -1473,8 +1468,19 @@
|
|
1473
1468
|
webshim.error('canvas.drawImage feature is needed. In IE8 flashvanvas pro can be used');
|
1474
1469
|
}
|
1475
1470
|
|
1471
|
+
CanvasRenderingContext2D.prototype.wsImageComplete = function(cb){
|
1472
|
+
if(this._wsIsLoading){
|
1473
|
+
if(!this._wsLoadingCbs){
|
1474
|
+
this._wsLoadingCbs = [];
|
1475
|
+
}
|
1476
|
+
this._wsLoadingCbs.push(cb);
|
1477
|
+
} else {
|
1478
|
+
cb.call(this, this);
|
1479
|
+
}
|
1480
|
+
};
|
1481
|
+
|
1476
1482
|
CanvasRenderingContext2D.prototype.drawImage = function(elem){
|
1477
|
-
var data, img, args, imgData;
|
1483
|
+
var data, img, args, imgData, hadCachedImg;
|
1478
1484
|
var context = this;
|
1479
1485
|
|
1480
1486
|
if(isVideo[elem.nodeName] && (data = webshims.data(elem, 'mediaelement')) && data.isActive == 'third' && data.api.api_image){
|
@@ -1492,18 +1498,39 @@
|
|
1492
1498
|
}
|
1493
1499
|
|
1494
1500
|
args = slice.call(arguments, 1);
|
1495
|
-
|
1501
|
+
|
1502
|
+
if(options.canvasSync && data.canvasImg){
|
1503
|
+
args.unshift(data.canvasImg);
|
1504
|
+
_drawImage.apply(context, args);
|
1505
|
+
args = slice.call(arguments, 1);
|
1506
|
+
hadCachedImg = true;
|
1507
|
+
}
|
1508
|
+
|
1509
|
+
img = document.createElement('img');
|
1496
1510
|
|
1497
1511
|
//todo find a performant sync way
|
1498
1512
|
img.onload = function(){
|
1499
1513
|
args.unshift(this);
|
1500
|
-
_drawImage.apply(context, args);
|
1501
1514
|
img.onload = null;
|
1515
|
+
|
1516
|
+
if(options.canvasSync){
|
1517
|
+
data.canvasImg = img;
|
1518
|
+
if(hadCachedImg && options.noDoubbleDraw){
|
1519
|
+
return;
|
1520
|
+
}
|
1521
|
+
}
|
1522
|
+
_drawImage.apply(context, args);
|
1523
|
+
context._wsIsLoading = false;
|
1524
|
+
if(context._wsLoadingCbs && context._wsLoadingCbs.length){
|
1525
|
+
while(context._wsLoadingCbs.length){
|
1526
|
+
context._wsLoadingCbs.shift().call(context, context);
|
1527
|
+
}
|
1528
|
+
}
|
1502
1529
|
};
|
1503
1530
|
|
1504
1531
|
img.src = 'data:image/jpeg;base64,'+imgData;
|
1505
|
-
|
1506
|
-
if(img.complete){
|
1532
|
+
this._wsIsLoading = true;
|
1533
|
+
if(img.complete && img.onload){
|
1507
1534
|
img.onload();
|
1508
1535
|
}
|
1509
1536
|
return;
|
@@ -1737,8 +1764,12 @@
|
|
1737
1764
|
var lastCue = this.cues[this.cues.length-1];
|
1738
1765
|
if(lastCue && lastCue.startTime > cue.startTime){
|
1739
1766
|
webshims.error("cue startTime higher than previous cue's startTime");
|
1767
|
+
return;
|
1740
1768
|
}
|
1741
1769
|
}
|
1770
|
+
if(cue.startTime >= cue.endTime ){
|
1771
|
+
webshim.error('startTime >= endTime of cue: '+ cue.text);
|
1772
|
+
}
|
1742
1773
|
if(cue.track && cue.track.removeCue){
|
1743
1774
|
cue.track.removeCue(cue);
|
1744
1775
|
}
|
@@ -1830,6 +1861,7 @@
|
|
1830
1861
|
for(i = 0, len = added.length; i < len; i++){
|
1831
1862
|
$([trackList]).triggerHandler($.Event({type: 'addtrack', track: added[i]}));
|
1832
1863
|
}
|
1864
|
+
//todo: remove
|
1833
1865
|
if(baseData.scriptedTextTracks || removed.length){
|
1834
1866
|
$(this).triggerHandler('updatetrackdisplay');
|
1835
1867
|
}
|
@@ -1846,7 +1878,7 @@
|
|
1846
1878
|
setTimeout(function(){
|
1847
1879
|
$(track).closest('audio, video').triggerHandler('updatetrackdisplay');
|
1848
1880
|
trackData.isTriggering = false;
|
1849
|
-
},
|
1881
|
+
}, 9);
|
1850
1882
|
}
|
1851
1883
|
};
|
1852
1884
|
var isDefaultTrack = (function(){
|
@@ -2039,15 +2071,10 @@
|
|
2039
2071
|
error: error
|
2040
2072
|
});
|
2041
2073
|
};
|
2042
|
-
if(
|
2043
|
-
|
2044
|
-
setTimeout(createAjax, loadingTracks * 2);
|
2045
|
-
} else {
|
2046
|
-
createAjax();
|
2047
|
-
}
|
2074
|
+
if(isDisabled){
|
2075
|
+
setTimeout(createAjax, loadingTracks * 2);
|
2048
2076
|
} else {
|
2049
|
-
|
2050
|
-
webshims.loader.loadList(['jajax']);
|
2077
|
+
createAjax();
|
2051
2078
|
}
|
2052
2079
|
} catch(er){
|
2053
2080
|
error();
|