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
@@ -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
|
jQuery.webshims.register('form-datalist', function($, webshims, window, document, undefined){
|
@@ -1166,7 +1170,6 @@ jQuery.webshims.register('form-datalist', function($, webshims, window, document
|
|
1166
1170
|
range: 1,
|
1167
1171
|
date: 1
|
1168
1172
|
};
|
1169
|
-
var lteie6 = ($.browser.msie && parseInt($.browser.version, 10) < 7);
|
1170
1173
|
var globStoredOptions = {};
|
1171
1174
|
var getStoredOptions = function(name){
|
1172
1175
|
if(!name){return [];}
|
@@ -1450,7 +1453,7 @@ jQuery.webshims.register('form-datalist', function($, webshims, window, document
|
|
1450
1453
|
this.arrayOptions = allOptions;
|
1451
1454
|
this.shadowList.html('<div class="datalist-outer-box"><div class="datalist-box"><ul role="list">'+ list.join("\n") +'</ul></div></div>');
|
1452
1455
|
|
1453
|
-
if($.fn.bgIframe
|
1456
|
+
if($.fn.bgIframe){
|
1454
1457
|
this.shadowList.bgIframe();
|
1455
1458
|
}
|
1456
1459
|
|
@@ -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
|
jQuery.webshims.register('details', function($, webshims, window, doc, undefined, options){
|
@@ -1149,7 +1153,9 @@ jQuery.webshims.register('details', function($, webshims, window, doc, undefined
|
|
1149
1153
|
if(hasSwf && !options.preferFlash && webshims.mediaelement.createSWF && !$(e.target).closest('audio, video').is('.nonnative-api-active')){
|
1150
1154
|
options.preferFlash = true;
|
1151
1155
|
document.removeEventListener('error', switchOptions, true);
|
1152
|
-
$('audio, video').
|
1156
|
+
$('audio, video').each(function(){
|
1157
|
+
webshims.mediaelement.selectSource(this);
|
1158
|
+
});
|
1153
1159
|
webshims.info("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src);
|
1154
1160
|
} else if(!hasSwf){
|
1155
1161
|
document.removeEventListener('error', switchOptions, true);
|
@@ -1553,7 +1559,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1553
1559
|
data = data || webshims.data(elem, 'mediaelement');
|
1554
1560
|
stepSources(elem, data, options.preferFlash || undefined, _srces);
|
1555
1561
|
};
|
1556
|
-
|
1562
|
+
mediaelement.selectSource = selectSource;
|
1557
1563
|
|
1558
1564
|
$(document).on('ended', function(e){
|
1559
1565
|
var data = webshims.data(e.target, 'mediaelement');
|
@@ -1619,52 +1625,57 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
|
|
1619
1625
|
var media = $('video, audio', context)
|
1620
1626
|
.add(insertedElement.filter('video, audio'))
|
1621
1627
|
.each(function(){
|
1622
|
-
|
1628
|
+
var data = webshims.data(this, 'mediaelement');
|
1629
|
+
|
1630
|
+
if(hasNative && $.prop(this, 'paused') && !$.prop(this, 'readyState') && $(this).is('audio[preload="none"][controls]:not([autoplay])') && (!data || data.isActive == 'html5')){
|
1631
|
+
//IE controls not visible bug
|
1623
1632
|
$(this).prop('preload', 'metadata').mediaLoad();
|
1624
1633
|
} else {
|
1625
|
-
selectSource(this);
|
1634
|
+
selectSource(this, data);
|
1626
1635
|
}
|
1627
1636
|
|
1628
|
-
|
1629
|
-
|
1630
1637
|
if(hasNative){
|
1631
|
-
var bufferTimer;
|
1632
|
-
var lastBuffered;
|
1633
|
-
var elem = this;
|
1634
|
-
var getBufferedString = function(){
|
1635
|
-
var buffered = $.prop(elem, 'buffered');
|
1636
|
-
if(!buffered){return;}
|
1637
|
-
var bufferString = "";
|
1638
|
-
for(var i = 0, len = buffered.length; i < len;i++){
|
1639
|
-
bufferString += buffered.end(i);
|
1640
|
-
}
|
1641
|
-
return bufferString;
|
1642
|
-
};
|
1643
|
-
var testBuffer = function(){
|
1644
|
-
var buffered = getBufferedString();
|
1645
|
-
if(buffered != lastBuffered){
|
1646
|
-
lastBuffered = buffered;
|
1647
|
-
$(elem).triggerHandler('progress');
|
1648
|
-
}
|
1649
|
-
};
|
1650
1638
|
|
1651
|
-
|
1652
|
-
|
1653
|
-
|
1654
|
-
|
1655
|
-
|
1656
|
-
|
1657
|
-
|
1658
|
-
|
1659
|
-
|
1660
|
-
|
1661
|
-
|
1662
|
-
lastBuffered = false;
|
1663
|
-
}
|
1664
|
-
clearTimeout(bufferTimer);
|
1639
|
+
//FF progress bug
|
1640
|
+
(function(){
|
1641
|
+
var bufferTimer;
|
1642
|
+
var lastBuffered;
|
1643
|
+
var elem = this;
|
1644
|
+
var getBufferedString = function(){
|
1645
|
+
var buffered = $.prop(elem, 'buffered');
|
1646
|
+
if(!buffered){return;}
|
1647
|
+
var bufferString = "";
|
1648
|
+
for(var i = 0, len = buffered.length; i < len;i++){
|
1649
|
+
bufferString += buffered.end(i);
|
1665
1650
|
}
|
1666
|
-
|
1667
|
-
|
1651
|
+
return bufferString;
|
1652
|
+
};
|
1653
|
+
var testBuffer = function(){
|
1654
|
+
var buffered = getBufferedString();
|
1655
|
+
if(buffered != lastBuffered){
|
1656
|
+
lastBuffered = buffered;
|
1657
|
+
$(elem).triggerHandler('progress');
|
1658
|
+
}
|
1659
|
+
};
|
1660
|
+
|
1661
|
+
$(this)
|
1662
|
+
.on({
|
1663
|
+
'play loadstart progress': function(e){
|
1664
|
+
if(e.type == 'progress'){
|
1665
|
+
lastBuffered = getBufferedString();
|
1666
|
+
}
|
1667
|
+
clearTimeout(bufferTimer);
|
1668
|
+
bufferTimer = setTimeout(testBuffer, 999);
|
1669
|
+
},
|
1670
|
+
'emptied stalled mediaerror abort suspend': function(e){
|
1671
|
+
if(e.type == 'emptied'){
|
1672
|
+
lastBuffered = false;
|
1673
|
+
}
|
1674
|
+
clearTimeout(bufferTimer);
|
1675
|
+
}
|
1676
|
+
})
|
1677
|
+
;
|
1678
|
+
})();
|
1668
1679
|
}
|
1669
1680
|
|
1670
1681
|
})
|
@@ -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
|
jQuery.webshims.register('details', function($, webshims, window, doc, undefined, options){
|