webshims-rails 0.4.6 → 0.4.7
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/webshims-rails/version.rb +2 -2
- data/vendor/assets/javascripts/webshims/extras/mousepress.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/extras/mousepress.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/polyfiller.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/1.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/10.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/11.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/12.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/13.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/14.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/15.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/16.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/17.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/18.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/19.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/2.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/20.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/21.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/22.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/23.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/24.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/25.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/26.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/27.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/3.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/4.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/5.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/59.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/6.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/7.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/8.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/combos/9.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/dom-extend.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/es5.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-core.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-datalist.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-number-date-ui.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/form-shim-extend.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/geolocation.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/json-storage.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-core.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-jaris.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-swf.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-yt.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/track-ui.js +1 -1
- data/vendor/assets/javascripts/webshims/minified/shims/track.js +1 -1
- data/vendor/assets/javascripts/webshims/polyfiller.js +10 -7
- data/vendor/assets/javascripts/webshims/shims/combos/1.js +51 -48
- data/vendor/assets/javascripts/webshims/shims/combos/10.js +126 -105
- data/vendor/assets/javascripts/webshims/shims/combos/11.js +50 -47
- data/vendor/assets/javascripts/webshims/shims/combos/12.js +97 -86
- data/vendor/assets/javascripts/webshims/shims/combos/13.js +49 -45
- data/vendor/assets/javascripts/webshims/shims/combos/14.js +2 -2
- data/vendor/assets/javascripts/webshims/shims/combos/15.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/combos/16.js +168 -155
- data/vendor/assets/javascripts/webshims/shims/combos/17.js +168 -155
- data/vendor/assets/javascripts/webshims/shims/combos/18.js +9 -24
- data/vendor/assets/javascripts/webshims/shims/combos/19.js +121 -116
- data/vendor/assets/javascripts/webshims/shims/combos/2.js +82 -93
- data/vendor/assets/javascripts/webshims/shims/combos/20.js +75 -57
- data/vendor/assets/javascripts/webshims/shims/combos/21.js +11 -24
- data/vendor/assets/javascripts/webshims/shims/combos/22.js +77 -60
- data/vendor/assets/javascripts/webshims/shims/combos/23.js +59 -65
- data/vendor/assets/javascripts/webshims/shims/combos/24.js +169 -157
- data/vendor/assets/javascripts/webshims/shims/combos/25.js +99 -87
- data/vendor/assets/javascripts/webshims/shims/combos/26.js +170 -156
- data/vendor/assets/javascripts/webshims/shims/combos/27.js +128 -106
- data/vendor/assets/javascripts/webshims/shims/combos/3.js +83 -95
- data/vendor/assets/javascripts/webshims/shims/combos/4.js +71 -69
- data/vendor/assets/javascripts/webshims/shims/combos/5.js +71 -69
- data/vendor/assets/javascripts/webshims/shims/combos/59.js +72 -71
- data/vendor/assets/javascripts/webshims/shims/combos/6.js +8 -22
- data/vendor/assets/javascripts/webshims/shims/combos/7.js +8 -22
- data/vendor/assets/javascripts/webshims/shims/combos/8.js +97 -86
- data/vendor/assets/javascripts/webshims/shims/combos/9.js +124 -102
- data/vendor/assets/javascripts/webshims/shims/dom-extend.js +49 -45
- data/vendor/assets/javascripts/webshims/shims/es5.js +2 -3
- data/vendor/assets/javascripts/webshims/shims/form-core.js +72 -70
- data/vendor/assets/javascripts/webshims/shims/form-datalist.js +1 -2
- data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +8 -22
- data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +11 -24
- data/vendor/assets/javascripts/webshims/shims/geolocation.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/json-storage.js +1 -1
- data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +48 -41
- data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +26 -15
- data/vendor/assets/javascripts/webshims/shims/mediaelement-swf.js +27 -16
- data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +18 -6
- data/vendor/assets/javascripts/webshims/shims/track-ui.js +2 -1
- data/vendor/assets/javascripts/webshims/shims/track.js +2 -1
- metadata +2 -2
@@ -392,9 +392,7 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
392
392
|
var adjustInputWithBtn = (function(){
|
393
393
|
var fns = {"padding-box": "innerWidth", "border-box": "outerWidth", "content-box": "width"};
|
394
394
|
var boxSizing = Modernizr.prefixed && Modernizr.prefixed("boxSizing");
|
395
|
-
|
396
|
-
boxSizing = false;
|
397
|
-
}
|
395
|
+
|
398
396
|
var getWidth = function(input){
|
399
397
|
var widthFn = "width";
|
400
398
|
if(boxSizing){
|
@@ -573,7 +571,6 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
573
571
|
trigger: [0.595,0.395],
|
574
572
|
normal: [0.565,0.425]
|
575
573
|
};
|
576
|
-
var subPixelCorrect = (!$.browser.msie || webshims.browserVersion > 6) ? 0 : 0.45;
|
577
574
|
|
578
575
|
var configureDatePicker = function(elem, datePicker, change, _wrapper){
|
579
576
|
var stopFocusout;
|
@@ -810,8 +807,8 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
810
807
|
|
811
808
|
data = configureDatePicker(elem, date, change);
|
812
809
|
|
813
|
-
$(
|
814
|
-
.
|
810
|
+
$(document)
|
811
|
+
.onTrigger('updateshadowdom', function(){
|
815
812
|
if (data.trigger[0]) {
|
816
813
|
elem.css({display: ''});
|
817
814
|
if(elem[0].offsetWidth || elem[0].offsetHeight){
|
@@ -827,16 +824,7 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
827
824
|
}
|
828
825
|
elem.css({display: 'none'});
|
829
826
|
})
|
830
|
-
.triggerHandler('updateshadowdom')
|
831
827
|
;
|
832
|
-
if (data.trigger[0]) {
|
833
|
-
setTimeout(function(){
|
834
|
-
webshims.ready('WINDOWLOAD', function(){
|
835
|
-
$(elem).triggerHandler('updateshadowdom');
|
836
|
-
});
|
837
|
-
}, 9);
|
838
|
-
}
|
839
|
-
|
840
828
|
};
|
841
829
|
|
842
830
|
|
@@ -900,8 +888,8 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
900
888
|
this.common(elem, range, replaceInputUI.range.attrs);
|
901
889
|
|
902
890
|
|
903
|
-
|
904
|
-
.
|
891
|
+
$(document)
|
892
|
+
.onTrigger('updateshadowdom', function(){
|
905
893
|
elem.css({display: ''});
|
906
894
|
if (elem[0].offsetWidth || elem[0].offsetHeight) {
|
907
895
|
var attr = getDimensions(elem);
|
@@ -914,7 +902,6 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
914
902
|
}
|
915
903
|
elem.css({display: 'none'});
|
916
904
|
})
|
917
|
-
.triggerHandler('updateshadowdom')
|
918
905
|
;
|
919
906
|
|
920
907
|
|
@@ -1232,7 +1219,7 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
1232
1219
|
uiEvents.triggerChange(step);
|
1233
1220
|
}
|
1234
1221
|
})
|
1235
|
-
.on(
|
1222
|
+
.on('keypress', function(e){
|
1236
1223
|
var step = stepKeys[e.keyCode];
|
1237
1224
|
if(step){
|
1238
1225
|
uiEvents.step(step);
|
@@ -1267,15 +1254,14 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
1267
1254
|
webshims.data(elem, 'step-controls', controls);
|
1268
1255
|
if(options.calculateWidth){
|
1269
1256
|
var init;
|
1270
|
-
|
1271
|
-
.
|
1257
|
+
$(document)
|
1258
|
+
.onTrigger('updateshadowdom', function(){
|
1272
1259
|
if(!init && (elem.offsetWidth || elem.offsetHeight)){
|
1273
1260
|
init = true;
|
1274
1261
|
adjustInputWithBtn(jElm, controls);
|
1275
1262
|
controls.css('marginTop', (jElm.outerHeight() - controls.outerHeight()) / 2);
|
1276
1263
|
}
|
1277
1264
|
})
|
1278
|
-
.triggerHandler('updateshadowdom')
|
1279
1265
|
;
|
1280
1266
|
}
|
1281
1267
|
});
|
@@ -648,9 +648,7 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
648
648
|
var adjustInputWithBtn = (function(){
|
649
649
|
var fns = {"padding-box": "innerWidth", "border-box": "outerWidth", "content-box": "width"};
|
650
650
|
var boxSizing = Modernizr.prefixed && Modernizr.prefixed("boxSizing");
|
651
|
-
|
652
|
-
boxSizing = false;
|
653
|
-
}
|
651
|
+
|
654
652
|
var getWidth = function(input){
|
655
653
|
var widthFn = "width";
|
656
654
|
if(boxSizing){
|
@@ -829,7 +827,6 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
829
827
|
trigger: [0.595,0.395],
|
830
828
|
normal: [0.565,0.425]
|
831
829
|
};
|
832
|
-
var subPixelCorrect = (!$.browser.msie || webshims.browserVersion > 6) ? 0 : 0.45;
|
833
830
|
|
834
831
|
var configureDatePicker = function(elem, datePicker, change, _wrapper){
|
835
832
|
var stopFocusout;
|
@@ -1066,8 +1063,8 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
1066
1063
|
|
1067
1064
|
data = configureDatePicker(elem, date, change);
|
1068
1065
|
|
1069
|
-
$(
|
1070
|
-
.
|
1066
|
+
$(document)
|
1067
|
+
.onTrigger('updateshadowdom', function(){
|
1071
1068
|
if (data.trigger[0]) {
|
1072
1069
|
elem.css({display: ''});
|
1073
1070
|
if(elem[0].offsetWidth || elem[0].offsetHeight){
|
@@ -1083,16 +1080,7 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
1083
1080
|
}
|
1084
1081
|
elem.css({display: 'none'});
|
1085
1082
|
})
|
1086
|
-
.triggerHandler('updateshadowdom')
|
1087
1083
|
;
|
1088
|
-
if (data.trigger[0]) {
|
1089
|
-
setTimeout(function(){
|
1090
|
-
webshims.ready('WINDOWLOAD', function(){
|
1091
|
-
$(elem).triggerHandler('updateshadowdom');
|
1092
|
-
});
|
1093
|
-
}, 9);
|
1094
|
-
}
|
1095
|
-
|
1096
1084
|
};
|
1097
1085
|
|
1098
1086
|
|
@@ -1156,8 +1144,8 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
1156
1144
|
this.common(elem, range, replaceInputUI.range.attrs);
|
1157
1145
|
|
1158
1146
|
|
1159
|
-
|
1160
|
-
.
|
1147
|
+
$(document)
|
1148
|
+
.onTrigger('updateshadowdom', function(){
|
1161
1149
|
elem.css({display: ''});
|
1162
1150
|
if (elem[0].offsetWidth || elem[0].offsetHeight) {
|
1163
1151
|
var attr = getDimensions(elem);
|
@@ -1170,7 +1158,6 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
1170
1158
|
}
|
1171
1159
|
elem.css({display: 'none'});
|
1172
1160
|
})
|
1173
|
-
.triggerHandler('updateshadowdom')
|
1174
1161
|
;
|
1175
1162
|
|
1176
1163
|
|
@@ -1488,7 +1475,7 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
1488
1475
|
uiEvents.triggerChange(step);
|
1489
1476
|
}
|
1490
1477
|
})
|
1491
|
-
.on(
|
1478
|
+
.on('keypress', function(e){
|
1492
1479
|
var step = stepKeys[e.keyCode];
|
1493
1480
|
if(step){
|
1494
1481
|
uiEvents.step(step);
|
@@ -1523,15 +1510,14 @@ jQuery.webshims.register('form-number-date-ui', function($, webshims, window, do
|
|
1523
1510
|
webshims.data(elem, 'step-controls', controls);
|
1524
1511
|
if(options.calculateWidth){
|
1525
1512
|
var init;
|
1526
|
-
|
1527
|
-
.
|
1513
|
+
$(document)
|
1514
|
+
.onTrigger('updateshadowdom', function(){
|
1528
1515
|
if(!init && (elem.offsetWidth || elem.offsetHeight)){
|
1529
1516
|
init = true;
|
1530
1517
|
adjustInputWithBtn(jElm, controls);
|
1531
1518
|
controls.css('marginTop', (jElm.outerHeight() - controls.outerHeight()) / 2);
|
1532
1519
|
}
|
1533
1520
|
})
|
1534
|
-
.triggerHandler('updateshadowdom')
|
1535
1521
|
;
|
1536
1522
|
}
|
1537
1523
|
});
|
@@ -16,6 +16,11 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
16
16
|
var singleVal = function(elem, name, val, pass, _argless){
|
17
17
|
return (_argless) ? oldVal.call($(elem)) : oldVal.call($(elem), val);
|
18
18
|
};
|
19
|
+
|
20
|
+
$.fn.onTrigger = function(evt, fn){
|
21
|
+
return this.on(evt, fn).each(fn);
|
22
|
+
};
|
23
|
+
|
19
24
|
$.fn.val = function(val){
|
20
25
|
var elem = this[0];
|
21
26
|
if(arguments.length && val == null){
|
@@ -210,14 +215,14 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
210
215
|
});
|
211
216
|
|
212
217
|
//see also: https://github.com/lojjic/PIE/issues/40 | https://prototype.lighthouseapp.com/projects/8886/tickets/1107-ie8-fatal-crash-when-prototypejs-is-loaded-with-rounded-cornershtc
|
213
|
-
var isExtendNativeSave =
|
218
|
+
var isExtendNativeSave = Modernizr.ES5;
|
214
219
|
var extendNativeValue = (function(){
|
215
220
|
var UNKNOWN = webshims.getPrototypeOf(document.createElement('foobar'));
|
216
221
|
var has = Object.prototype.hasOwnProperty;
|
217
222
|
return function(nodeName, prop, desc){
|
218
|
-
var elem
|
219
|
-
var elemProto
|
220
|
-
if( isExtendNativeSave && elemProto && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
|
223
|
+
var elem;
|
224
|
+
var elemProto;
|
225
|
+
if( isExtendNativeSave && (elem = document.createElement(nodeName)) && (elemProto = webshims.getPrototypeOf(elem)) && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
|
221
226
|
var sup = elem[prop];
|
222
227
|
desc._supvalue = function(){
|
223
228
|
if(sup && sup.apply){
|
@@ -417,7 +422,7 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
417
422
|
docObserve.width = docObserve.getWidth();
|
418
423
|
|
419
424
|
}
|
420
|
-
|
425
|
+
$(document).triggerHandler('updateshadowdom');
|
421
426
|
}, (e.type == 'resize') ? 50 : 9);
|
422
427
|
},
|
423
428
|
_create: function(){
|
@@ -461,7 +466,6 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
461
466
|
};
|
462
467
|
|
463
468
|
|
464
|
-
$.event.customEvent.updateshadowdom = true;
|
465
469
|
webshims.docObserve = function(){
|
466
470
|
webshims.ready('DOM', function(){
|
467
471
|
docObserve.start();
|
@@ -905,47 +909,47 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
905
909
|
});
|
906
910
|
//html5a11y
|
907
911
|
(function($, document){
|
908
|
-
|
909
|
-
if(
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
}
|
931
|
-
});
|
932
|
-
if (context === document) {
|
933
|
-
var header = document.getElementsByTagName('header')[0];
|
934
|
-
var footers = document.getElementsByTagName('footer');
|
935
|
-
var footerLen = footers.length;
|
936
|
-
if (header && !$(header).closest('section, article')[0]) {
|
937
|
-
addRole(header, 'banner');
|
938
|
-
}
|
939
|
-
if (!footerLen) {
|
940
|
-
return;
|
941
|
-
}
|
942
|
-
var footer = footers[footerLen - 1];
|
943
|
-
if (!$(footer).closest('section, article')[0]) {
|
944
|
-
addRole(footer, 'contentinfo');
|
945
|
-
}
|
912
|
+
//if we support basic styleing or do not support ARIA (assumed) abort
|
913
|
+
if(!Modernizr.localstorage || ('hidden' in document.createElement('a'))){return;}
|
914
|
+
|
915
|
+
var elemMappings = {
|
916
|
+
article: "article",
|
917
|
+
aside: "complementary",
|
918
|
+
section: "region",
|
919
|
+
nav: "navigation",
|
920
|
+
address: "contentinfo"
|
921
|
+
};
|
922
|
+
var addRole = function(elem, role){
|
923
|
+
var hasRole = elem.getAttribute('role');
|
924
|
+
if (!hasRole) {
|
925
|
+
elem.setAttribute('role', role);
|
926
|
+
}
|
927
|
+
};
|
928
|
+
|
929
|
+
$.webshims.addReady(function(context, contextElem){
|
930
|
+
$.each(elemMappings, function(name, role){
|
931
|
+
var elems = $(name, context).add(contextElem.filter(name));
|
932
|
+
for (var i = 0, len = elems.length; i < len; i++) {
|
933
|
+
addRole(elems[i], role);
|
946
934
|
}
|
947
935
|
});
|
948
|
-
|
936
|
+
if (context === document) {
|
937
|
+
var header = document.getElementsByTagName('header')[0];
|
938
|
+
var footers = document.getElementsByTagName('footer');
|
939
|
+
var footerLen = footers.length;
|
940
|
+
if (header && !$(header).closest('section, article')[0]) {
|
941
|
+
addRole(header, 'banner');
|
942
|
+
}
|
943
|
+
if (!footerLen) {
|
944
|
+
return;
|
945
|
+
}
|
946
|
+
var footer = footers[footerLen - 1];
|
947
|
+
if (!$(footer).closest('section, article')[0]) {
|
948
|
+
addRole(footer, 'contentinfo');
|
949
|
+
}
|
950
|
+
}
|
951
|
+
});
|
952
|
+
|
949
953
|
})(jQuery, document);
|
950
954
|
|
951
955
|
(function($, Modernizr, webshims){
|
@@ -1000,7 +1004,9 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
1000
1004
|
if(hasSwf && !options.preferFlash && webshims.mediaelement.createSWF && !$(e.target).closest('audio, video').is('.nonnative-api-active')){
|
1001
1005
|
options.preferFlash = true;
|
1002
1006
|
document.removeEventListener('error', switchOptions, true);
|
1003
|
-
$('audio, video').
|
1007
|
+
$('audio, video').each(function(){
|
1008
|
+
webshims.mediaelement.selectSource(this);
|
1009
|
+
});
|
1004
1010
|
webshims.info("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src);
|
1005
1011
|
} else if(!hasSwf){
|
1006
1012
|
document.removeEventListener('error', switchOptions, true);
|
@@ -1404,7 +1410,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1404
1410
|
data = data || webshims.data(elem, 'mediaelement');
|
1405
1411
|
stepSources(elem, data, options.preferFlash || undefined, _srces);
|
1406
1412
|
};
|
1407
|
-
|
1413
|
+
mediaelement.selectSource = selectSource;
|
1408
1414
|
|
1409
1415
|
$(document).on('ended', function(e){
|
1410
1416
|
var data = webshims.data(e.target, 'mediaelement');
|
@@ -1470,52 +1476,57 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1470
1476
|
var media = $('video, audio', context)
|
1471
1477
|
.add(insertedElement.filter('video, audio'))
|
1472
1478
|
.each(function(){
|
1473
|
-
|
1479
|
+
var data = webshims.data(this, 'mediaelement');
|
1480
|
+
|
1481
|
+
if(hasNative && $.prop(this, 'paused') && !$.prop(this, 'readyState') && $(this).is('audio[preload="none"][controls]:not([autoplay])') && (!data || data.isActive == 'html5')){
|
1482
|
+
//IE controls not visible bug
|
1474
1483
|
$(this).prop('preload', 'metadata').mediaLoad();
|
1475
1484
|
} else {
|
1476
|
-
selectSource(this);
|
1485
|
+
selectSource(this, data);
|
1477
1486
|
}
|
1478
1487
|
|
1479
|
-
|
1480
|
-
|
1481
1488
|
if(hasNative){
|
1482
|
-
var bufferTimer;
|
1483
|
-
var lastBuffered;
|
1484
|
-
var elem = this;
|
1485
|
-
var getBufferedString = function(){
|
1486
|
-
var buffered = $.prop(elem, 'buffered');
|
1487
|
-
if(!buffered){return;}
|
1488
|
-
var bufferString = "";
|
1489
|
-
for(var i = 0, len = buffered.length; i < len;i++){
|
1490
|
-
bufferString += buffered.end(i);
|
1491
|
-
}
|
1492
|
-
return bufferString;
|
1493
|
-
};
|
1494
|
-
var testBuffer = function(){
|
1495
|
-
var buffered = getBufferedString();
|
1496
|
-
if(buffered != lastBuffered){
|
1497
|
-
lastBuffered = buffered;
|
1498
|
-
$(elem).triggerHandler('progress');
|
1499
|
-
}
|
1500
|
-
};
|
1501
1489
|
|
1502
|
-
|
1503
|
-
|
1504
|
-
|
1505
|
-
|
1506
|
-
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
|
1513
|
-
lastBuffered = false;
|
1514
|
-
}
|
1515
|
-
clearTimeout(bufferTimer);
|
1490
|
+
//FF progress bug
|
1491
|
+
(function(){
|
1492
|
+
var bufferTimer;
|
1493
|
+
var lastBuffered;
|
1494
|
+
var elem = this;
|
1495
|
+
var getBufferedString = function(){
|
1496
|
+
var buffered = $.prop(elem, 'buffered');
|
1497
|
+
if(!buffered){return;}
|
1498
|
+
var bufferString = "";
|
1499
|
+
for(var i = 0, len = buffered.length; i < len;i++){
|
1500
|
+
bufferString += buffered.end(i);
|
1516
1501
|
}
|
1517
|
-
|
1518
|
-
|
1502
|
+
return bufferString;
|
1503
|
+
};
|
1504
|
+
var testBuffer = function(){
|
1505
|
+
var buffered = getBufferedString();
|
1506
|
+
if(buffered != lastBuffered){
|
1507
|
+
lastBuffered = buffered;
|
1508
|
+
$(elem).triggerHandler('progress');
|
1509
|
+
}
|
1510
|
+
};
|
1511
|
+
|
1512
|
+
$(this)
|
1513
|
+
.on({
|
1514
|
+
'play loadstart progress': function(e){
|
1515
|
+
if(e.type == 'progress'){
|
1516
|
+
lastBuffered = getBufferedString();
|
1517
|
+
}
|
1518
|
+
clearTimeout(bufferTimer);
|
1519
|
+
bufferTimer = setTimeout(testBuffer, 999);
|
1520
|
+
},
|
1521
|
+
'emptied stalled mediaerror abort suspend': function(e){
|
1522
|
+
if(e.type == 'emptied'){
|
1523
|
+
lastBuffered = false;
|
1524
|
+
}
|
1525
|
+
clearTimeout(bufferTimer);
|
1526
|
+
}
|
1527
|
+
})
|
1528
|
+
;
|
1529
|
+
})();
|
1519
1530
|
}
|
1520
1531
|
|
1521
1532
|
})
|
@@ -16,6 +16,11 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
16
16
|
var singleVal = function(elem, name, val, pass, _argless){
|
17
17
|
return (_argless) ? oldVal.call($(elem)) : oldVal.call($(elem), val);
|
18
18
|
};
|
19
|
+
|
20
|
+
$.fn.onTrigger = function(evt, fn){
|
21
|
+
return this.on(evt, fn).each(fn);
|
22
|
+
};
|
23
|
+
|
19
24
|
$.fn.val = function(val){
|
20
25
|
var elem = this[0];
|
21
26
|
if(arguments.length && val == null){
|
@@ -210,14 +215,14 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
210
215
|
});
|
211
216
|
|
212
217
|
//see also: https://github.com/lojjic/PIE/issues/40 | https://prototype.lighthouseapp.com/projects/8886/tickets/1107-ie8-fatal-crash-when-prototypejs-is-loaded-with-rounded-cornershtc
|
213
|
-
var isExtendNativeSave =
|
218
|
+
var isExtendNativeSave = Modernizr.ES5;
|
214
219
|
var extendNativeValue = (function(){
|
215
220
|
var UNKNOWN = webshims.getPrototypeOf(document.createElement('foobar'));
|
216
221
|
var has = Object.prototype.hasOwnProperty;
|
217
222
|
return function(nodeName, prop, desc){
|
218
|
-
var elem
|
219
|
-
var elemProto
|
220
|
-
if( isExtendNativeSave && elemProto && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
|
223
|
+
var elem;
|
224
|
+
var elemProto;
|
225
|
+
if( isExtendNativeSave && (elem = document.createElement(nodeName)) && (elemProto = webshims.getPrototypeOf(elem)) && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
|
221
226
|
var sup = elem[prop];
|
222
227
|
desc._supvalue = function(){
|
223
228
|
if(sup && sup.apply){
|
@@ -417,7 +422,7 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
417
422
|
docObserve.width = docObserve.getWidth();
|
418
423
|
|
419
424
|
}
|
420
|
-
|
425
|
+
$(document).triggerHandler('updateshadowdom');
|
421
426
|
}, (e.type == 'resize') ? 50 : 9);
|
422
427
|
},
|
423
428
|
_create: function(){
|
@@ -461,7 +466,6 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
461
466
|
};
|
462
467
|
|
463
468
|
|
464
|
-
$.event.customEvent.updateshadowdom = true;
|
465
469
|
webshims.docObserve = function(){
|
466
470
|
webshims.ready('DOM', function(){
|
467
471
|
docObserve.start();
|
@@ -905,47 +909,47 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
905
909
|
});
|
906
910
|
//html5a11y
|
907
911
|
(function($, document){
|
908
|
-
|
909
|
-
if(
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
914
|
-
|
915
|
-
|
916
|
-
|
917
|
-
|
918
|
-
|
919
|
-
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
}
|
931
|
-
});
|
932
|
-
if (context === document) {
|
933
|
-
var header = document.getElementsByTagName('header')[0];
|
934
|
-
var footers = document.getElementsByTagName('footer');
|
935
|
-
var footerLen = footers.length;
|
936
|
-
if (header && !$(header).closest('section, article')[0]) {
|
937
|
-
addRole(header, 'banner');
|
938
|
-
}
|
939
|
-
if (!footerLen) {
|
940
|
-
return;
|
941
|
-
}
|
942
|
-
var footer = footers[footerLen - 1];
|
943
|
-
if (!$(footer).closest('section, article')[0]) {
|
944
|
-
addRole(footer, 'contentinfo');
|
945
|
-
}
|
912
|
+
//if we support basic styleing or do not support ARIA (assumed) abort
|
913
|
+
if(!Modernizr.localstorage || ('hidden' in document.createElement('a'))){return;}
|
914
|
+
|
915
|
+
var elemMappings = {
|
916
|
+
article: "article",
|
917
|
+
aside: "complementary",
|
918
|
+
section: "region",
|
919
|
+
nav: "navigation",
|
920
|
+
address: "contentinfo"
|
921
|
+
};
|
922
|
+
var addRole = function(elem, role){
|
923
|
+
var hasRole = elem.getAttribute('role');
|
924
|
+
if (!hasRole) {
|
925
|
+
elem.setAttribute('role', role);
|
926
|
+
}
|
927
|
+
};
|
928
|
+
|
929
|
+
$.webshims.addReady(function(context, contextElem){
|
930
|
+
$.each(elemMappings, function(name, role){
|
931
|
+
var elems = $(name, context).add(contextElem.filter(name));
|
932
|
+
for (var i = 0, len = elems.length; i < len; i++) {
|
933
|
+
addRole(elems[i], role);
|
946
934
|
}
|
947
935
|
});
|
948
|
-
|
936
|
+
if (context === document) {
|
937
|
+
var header = document.getElementsByTagName('header')[0];
|
938
|
+
var footers = document.getElementsByTagName('footer');
|
939
|
+
var footerLen = footers.length;
|
940
|
+
if (header && !$(header).closest('section, article')[0]) {
|
941
|
+
addRole(header, 'banner');
|
942
|
+
}
|
943
|
+
if (!footerLen) {
|
944
|
+
return;
|
945
|
+
}
|
946
|
+
var footer = footers[footerLen - 1];
|
947
|
+
if (!$(footer).closest('section, article')[0]) {
|
948
|
+
addRole(footer, 'contentinfo');
|
949
|
+
}
|
950
|
+
}
|
951
|
+
});
|
952
|
+
|
949
953
|
})(jQuery, document);
|
950
954
|
|
951
955
|
(function($, Modernizr, webshims){
|
@@ -1000,7 +1004,9 @@ jQuery.webshims.register('dom-extend', function($, webshims, window, document, u
|
|
1000
1004
|
if(hasSwf && !options.preferFlash && webshims.mediaelement.createSWF && !$(e.target).closest('audio, video').is('.nonnative-api-active')){
|
1001
1005
|
options.preferFlash = true;
|
1002
1006
|
document.removeEventListener('error', switchOptions, true);
|
1003
|
-
$('audio, video').
|
1007
|
+
$('audio, video').each(function(){
|
1008
|
+
webshims.mediaelement.selectSource(this);
|
1009
|
+
});
|
1004
1010
|
webshims.info("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src);
|
1005
1011
|
} else if(!hasSwf){
|
1006
1012
|
document.removeEventListener('error', switchOptions, true);
|
@@ -1404,7 +1410,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1404
1410
|
data = data || webshims.data(elem, 'mediaelement');
|
1405
1411
|
stepSources(elem, data, options.preferFlash || undefined, _srces);
|
1406
1412
|
};
|
1407
|
-
|
1413
|
+
mediaelement.selectSource = selectSource;
|
1408
1414
|
|
1409
1415
|
$(document).on('ended', function(e){
|
1410
1416
|
var data = webshims.data(e.target, 'mediaelement');
|
@@ -1470,52 +1476,57 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1470
1476
|
var media = $('video, audio', context)
|
1471
1477
|
.add(insertedElement.filter('video, audio'))
|
1472
1478
|
.each(function(){
|
1473
|
-
|
1479
|
+
var data = webshims.data(this, 'mediaelement');
|
1480
|
+
|
1481
|
+
if(hasNative && $.prop(this, 'paused') && !$.prop(this, 'readyState') && $(this).is('audio[preload="none"][controls]:not([autoplay])') && (!data || data.isActive == 'html5')){
|
1482
|
+
//IE controls not visible bug
|
1474
1483
|
$(this).prop('preload', 'metadata').mediaLoad();
|
1475
1484
|
} else {
|
1476
|
-
selectSource(this);
|
1485
|
+
selectSource(this, data);
|
1477
1486
|
}
|
1478
1487
|
|
1479
|
-
|
1480
|
-
|
1481
1488
|
if(hasNative){
|
1482
|
-
var bufferTimer;
|
1483
|
-
var lastBuffered;
|
1484
|
-
var elem = this;
|
1485
|
-
var getBufferedString = function(){
|
1486
|
-
var buffered = $.prop(elem, 'buffered');
|
1487
|
-
if(!buffered){return;}
|
1488
|
-
var bufferString = "";
|
1489
|
-
for(var i = 0, len = buffered.length; i < len;i++){
|
1490
|
-
bufferString += buffered.end(i);
|
1491
|
-
}
|
1492
|
-
return bufferString;
|
1493
|
-
};
|
1494
|
-
var testBuffer = function(){
|
1495
|
-
var buffered = getBufferedString();
|
1496
|
-
if(buffered != lastBuffered){
|
1497
|
-
lastBuffered = buffered;
|
1498
|
-
$(elem).triggerHandler('progress');
|
1499
|
-
}
|
1500
|
-
};
|
1501
1489
|
|
1502
|
-
|
1503
|
-
|
1504
|
-
|
1505
|
-
|
1506
|
-
|
1507
|
-
|
1508
|
-
|
1509
|
-
|
1510
|
-
|
1511
|
-
|
1512
|
-
|
1513
|
-
lastBuffered = false;
|
1514
|
-
}
|
1515
|
-
clearTimeout(bufferTimer);
|
1490
|
+
//FF progress bug
|
1491
|
+
(function(){
|
1492
|
+
var bufferTimer;
|
1493
|
+
var lastBuffered;
|
1494
|
+
var elem = this;
|
1495
|
+
var getBufferedString = function(){
|
1496
|
+
var buffered = $.prop(elem, 'buffered');
|
1497
|
+
if(!buffered){return;}
|
1498
|
+
var bufferString = "";
|
1499
|
+
for(var i = 0, len = buffered.length; i < len;i++){
|
1500
|
+
bufferString += buffered.end(i);
|
1516
1501
|
}
|
1517
|
-
|
1518
|
-
|
1502
|
+
return bufferString;
|
1503
|
+
};
|
1504
|
+
var testBuffer = function(){
|
1505
|
+
var buffered = getBufferedString();
|
1506
|
+
if(buffered != lastBuffered){
|
1507
|
+
lastBuffered = buffered;
|
1508
|
+
$(elem).triggerHandler('progress');
|
1509
|
+
}
|
1510
|
+
};
|
1511
|
+
|
1512
|
+
$(this)
|
1513
|
+
.on({
|
1514
|
+
'play loadstart progress': function(e){
|
1515
|
+
if(e.type == 'progress'){
|
1516
|
+
lastBuffered = getBufferedString();
|
1517
|
+
}
|
1518
|
+
clearTimeout(bufferTimer);
|
1519
|
+
bufferTimer = setTimeout(testBuffer, 999);
|
1520
|
+
},
|
1521
|
+
'emptied stalled mediaerror abort suspend': function(e){
|
1522
|
+
if(e.type == 'emptied'){
|
1523
|
+
lastBuffered = false;
|
1524
|
+
}
|
1525
|
+
clearTimeout(bufferTimer);
|
1526
|
+
}
|
1527
|
+
})
|
1528
|
+
;
|
1529
|
+
})();
|
1519
1530
|
}
|
1520
1531
|
|
1521
1532
|
})
|
@@ -2002,19 +2013,29 @@ jQuery.webshims.register('mediaelement-swf', function($, webshims, window, docum
|
|
2002
2013
|
var hidevents = hideEvtArray.map(function(evt){
|
2003
2014
|
return evt +'.webshimspolyfill';
|
2004
2015
|
}).join(' ');
|
2005
|
-
|
2016
|
+
var opposite = {
|
2017
|
+
'html5': 'third',
|
2018
|
+
'third': 'html5'
|
2019
|
+
};
|
2006
2020
|
var hidePlayerEvents = function(event){
|
2007
2021
|
var data = webshims.data(event.target, 'mediaelement');
|
2008
2022
|
if(!data){return;}
|
2009
2023
|
var isNativeHTML5 = ( event.originalEvent && event.originalEvent.type === event.type );
|
2010
2024
|
if( isNativeHTML5 == (data.activating == 'third') ){
|
2011
2025
|
event.stopImmediatePropagation();
|
2012
|
-
if(stopEvents[event.type]
|
2013
|
-
|
2026
|
+
if(stopEvents[event.type]){
|
2027
|
+
if(data.isActive != data.activating){
|
2028
|
+
$(event.target).pause();
|
2029
|
+
} else {
|
2030
|
+
data.isActive = opposite[data.isActive];
|
2031
|
+
$(event.target).pause();
|
2032
|
+
data.isActive = opposite[data.isActive];
|
2033
|
+
}
|
2014
2034
|
}
|
2015
2035
|
}
|
2016
2036
|
};
|
2017
2037
|
|
2038
|
+
|
2018
2039
|
addMediaToStopEvents = function(elem){
|
2019
2040
|
$(elem)
|
2020
2041
|
.off(hidevents)
|
@@ -2146,6 +2167,10 @@ jQuery.webshims.register('mediaelement-swf', function($, webshims, window, docum
|
|
2146
2167
|
overflow: 'hidden'
|
2147
2168
|
})
|
2148
2169
|
;
|
2170
|
+
var setDimensions = function(){
|
2171
|
+
setElementDimension(data, $.prop(elem, 'controls'));
|
2172
|
+
};
|
2173
|
+
|
2149
2174
|
data = webshims.data(elem, 'mediaelement', webshims.objectCreate(playerStateObj, {
|
2150
2175
|
actionQueue: {
|
2151
2176
|
value: []
|
@@ -2218,9 +2243,9 @@ jQuery.webshims.register('mediaelement-swf', function($, webshims, window, docum
|
|
2218
2243
|
|
2219
2244
|
options.changeSWF(vars, elem, canPlaySrc, data, 'embed');
|
2220
2245
|
|
2221
|
-
|
2222
|
-
|
2223
|
-
|
2246
|
+
|
2247
|
+
$(document).on('updateshadowdom', setDimensions);
|
2248
|
+
$(elem).on('updatemediaelementdimensions', setDimensions);
|
2224
2249
|
|
2225
2250
|
|
2226
2251
|
swfobject.embedSWF(playerSwfPath, elemId, "100%", "100%", "9.0.0", false, vars, params, attrs, function(swfData){
|
@@ -2423,9 +2448,8 @@ jQuery.webshims.register('mediaelement-swf', function($, webshims, window, docum
|
|
2423
2448
|
mediaSup = webshims.defineNodeNameProperties(nodeName, descs, 'prop');
|
2424
2449
|
});
|
2425
2450
|
|
2426
|
-
if(hasFlash){
|
2451
|
+
if(hasFlash && $.cleanData){
|
2427
2452
|
var oldClean = $.cleanData;
|
2428
|
-
var gcBrowser = $.browser.msie && webshims.browserVersion < 9;
|
2429
2453
|
var flashNames = {
|
2430
2454
|
object: 1,
|
2431
2455
|
OBJECT: 1
|
@@ -2442,15 +2466,13 @@ jQuery.webshims.register('mediaelement-swf', function($, webshims, window, docum
|
|
2442
2466
|
elems[i][SENDEVENT]('play', false);
|
2443
2467
|
} catch(er){}
|
2444
2468
|
}
|
2445
|
-
|
2446
|
-
|
2447
|
-
|
2448
|
-
|
2449
|
-
elems[i][prop] = null;
|
2450
|
-
}
|
2469
|
+
try {
|
2470
|
+
for (prop in elems[i]) {
|
2471
|
+
if (typeof elems[i][prop] == "function") {
|
2472
|
+
elems[i][prop] = null;
|
2451
2473
|
}
|
2452
|
-
}
|
2453
|
-
}
|
2474
|
+
}
|
2475
|
+
} catch(er){}
|
2454
2476
|
}
|
2455
2477
|
}
|
2456
2478
|
|