vendor/assets/javascripts/webshims/shims/combos/34.js in webshims-rails-1.14.3 vs vendor/assets/javascripts/webshims/shims/combos/34.js in webshims-rails-1.14.4
- old
+ new
@@ -60,11 +60,11 @@
webshims.register('dom-extend', function($, webshims, window, document, undefined){
"use strict";
var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
var has = Object.prototype.hasOwnProperty;
- webshims.assumeARIA = supportGetSetAttribute || Modernizr.canvas || Modernizr.video || Modernizr.boxsizing;
+ webshims.assumeARIA = true;
if($('<input type="email" />').attr('type') == 'text' || $('<form />').attr('novalidate') === "" || ('required' in $('<input />')[0].attributes)){
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 similiar tools");
}
@@ -79,19 +79,10 @@
if (window.$) {
window.$ = webshims.$;
}
window.jQuery = webshims.$;
}
- if(webshims.M != Modernizr){
- webshims.error("Modernizr was included more than once. Make sure to include it only once! Webshims and other scripts might not work properly.");
- for(var i in Modernizr){
- if(!(i in webshims.M)){
- webshims.M[i] = Modernizr[i];
- }
- }
- Modernizr = webshims.M;
- }
};
switch$();
setTimeout(switch$, 90);
webshims.ready('DOM', switch$);
$(switch$);
@@ -416,11 +407,11 @@
var extendNativeValue = (function(){
var UNKNOWN = webshims.getPrototypeOf(document.createElement('foobar'));
//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
- var isExtendNativeSave = Modernizr.advancedObjectProperties && Modernizr.objectAccessor;
+ var isExtendNativeSave = webshims.support.advancedObjectProperties && webshims.support.objectAccessor;
return function(nodeName, prop, desc){
var elem , elemProto;
if( isExtendNativeSave && (elem = document.createElement(nodeName)) && (elemProto = webshims.getPrototypeOf(elem)) && UNKNOWN !== elemProto && ( !elem[prop] || !has.call(elem, prop) ) ){
var sup = elem[prop];
desc._supvalue = function(){
@@ -727,11 +718,11 @@
docObserve.handler({type: 'boxsizing'});
}
});
}
webshims.ready('WINDOWLOAD', this.test);
- $(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel', this.handler);
+ $(document).on('updatelayout.webshim pageinit popupafteropen panelbeforeopen tabsactivate collapsibleexpand shown.bs.modal shown.bs.collapse slid.bs.carousel playerdimensionchange', this.handler);
$(window).on('resize', this.handler);
}
}
};
@@ -1224,11 +1215,12 @@
var mediaelement = webshims.mediaelement;
var id = new Date().getTime();
//descriptions are not really shown, but they are inserted into the dom
var showTracks = {subtitles: 1, captions: 1, descriptions: 1};
var dummyTrack = $('<track />');
- var supportTrackMod = Modernizr.ES5 && Modernizr.objectAccessor;
+ var support = webshims.support;
+ var supportTrackMod = support.ES5 && support.objectAccessor;
var createEventTarget = function(obj){
var eventList = {};
obj.addEventListener = function(name, fn){
if(eventList[name]){
webshims.error('always use $.on to the shimed event: '+ name +' already bound fn was: '+ eventList[name] +' your fn was: '+ fn);
@@ -1533,38 +1525,44 @@
};
var ttmlTextToVTT = function(ttml){
ttml = $.parseXML(ttml) || [];
return $(ttml).find('[begin][end]').map(mapTtmlToVtt).get().join('\n\n') || '';
};
-
+ var loadingTracks = 0;
+
mediaelement.loadTextTrack = function(mediaelem, track, trackData, _default){
- var loadEvents = 'play playing';
+ var loadEvents = 'play playing loadedmetadata loadstart';
var obj = trackData.track;
var load = function(){
var error, ajax, createAjax;
- var src = obj.mode != 'disabled' && ($.attr(track, 'src') && $.prop(track, 'src'));
+ var isDisabled = obj.mode == 'disabled';
+ var videoState = !!($.prop(mediaelem, 'readyState') > 0 || $.prop(mediaelem, 'networkState') == 2 || !$.prop(mediaelem, 'paused'));
+ var src = (!isDisabled || videoState) && ($.attr(track, 'src') && $.prop(track, 'src'));
if(src){
$(mediaelem).off(loadEvents, load).off('updatetrackdisplay', load);
if(!trackData.readyState){
error = function(){
+ loadingTracks--;
trackData.readyState = 3;
obj.cues = null;
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = null;
$(track).triggerHandler('error');
};
trackData.readyState = 1;
try {
obj.cues = mediaelement.createCueList();
obj.activeCues = obj.shimActiveCues = obj._shimActiveCues = mediaelement.createCueList();
+ loadingTracks++;
createAjax = function(){
ajax = $.ajax({
dataType: 'text',
url: src,
success: function(text){
- var contentType = ajax.getResponseHeader('content-type');
+ loadingTracks--;
+ var contentType = ajax.getResponseHeader('content-type') || '';
if(!contentType.indexOf('application/xml')){
text = ttmlTextToVTT(text);
} else if(contentType.indexOf('text/vtt')){
webshims.error('set the mime-type of your WebVTT files to text/vtt. see: http://dev.w3.org/html5/webvtt/#text/vtt');
@@ -1576,17 +1574,20 @@
$(mediaelem).triggerHandler('updatetrackdisplay');
} else {
error();
}
});
-
},
error: error
});
};
if($.ajax && $.ajaxSettings.xhr){
- createAjax();
+ if(isDisabled){
+ setTimeout(createAjax, loadingTracks * 2);
+ } else {
+ createAjax();
+ }
} else {
webshims.ready('jajax', createAjax);
webshims.loader.loadList(['jajax']);
}
} catch(er){
@@ -1601,17 +1602,16 @@
obj._shimActiveCues = null;
obj.activeCues = null;
obj.cues = null;
$(mediaelem).on(loadEvents, load);
+
if(_default){
obj.mode = showTracks[obj.kind] ? 'showing' : 'hidden';
- webshims.ready('WINDOWLOAD', load);
+ load();
} else {
- webshims.ready('WINDOWLOAD', function(){
- $(mediaelem).on('updatetrackdisplay', load);
- });
+ $(mediaelem).on('updatetrackdisplay', load);
}
};
mediaelement.createTextTrack = function(mediaelem, track){
var obj, trackData;
@@ -1879,11 +1879,11 @@
}
return baseData.textTracks;
};
- if(!Modernizr.track){
+ if(!support.track){
webshims.defineNodeNamesBooleanProperty(['track'], 'default');
webshims.reflectProperties(['track'], ['srclang', 'label']);
webshims.defineNodeNameProperties('track', {
src: {
@@ -1894,11 +1894,11 @@
});
}
webshims.defineNodeNameProperties('track', {
kind: {
- attr: Modernizr.track ? {
+ attr: support.track ? {
set: function(value){
var trackData = webshims.data(this, 'trackData');
this.setAttribute('data-kind', value);
if(trackData){
trackData.attrKind = value;
@@ -1949,11 +1949,10 @@
}
});
//
-
webshims.defineNodeNamesProperties(['track'], {
ERROR: {
value: 3
},
LOADED: {
@@ -2059,11 +2058,11 @@
.each(function(){
updateMediaTrackList.call(this);
})
.on('emptied updatetracklist wsmediareload', thUpdateList)
.each(function(){
- if(Modernizr.track){
+ if(support.track){
var shimedTextTracks = $.prop(this, 'textTracks');
var origTextTracks = this.textTracks;
if(shimedTextTracks.length != origTextTracks.length){
webshims.warn("textTracks couldn't be copied");
@@ -2084,9 +2083,9 @@
}, 9);
}
});
});
- if(Modernizr.texttrackapi){
+ if(support.texttrackapi){
$('video, audio').trigger('trackapichange');
}
});