vendor/assets/javascripts/webshims/shims/combos/23.js in webshims-rails-1.14.3 vs vendor/assets/javascripts/webshims/shims/combos/23.js in webshims-rails-1.14.4

- old
+ new

@@ -156,11 +156,11 @@ return true; } : webshims.$.noop ; - if(!Modernizr.video){ + if(!webshims.support.mediaelement){ loadEmbed(); } else { webshims.ready('WINDOWLOAD', loadEmbed); } @@ -219,13 +219,14 @@ expressInstallCallback: wasRemoved }; }(); webshims.isReady('swfmini', true); -;(function(Modernizr, webshims){ +;(function(webshims){ "use strict"; - var hasNative = Modernizr.audio && Modernizr.video; + var support = webshims.support; + var hasNative = support.mediaelement; var supportsLoop = false; var bugs = webshims.bugs; var swfType = 'mediaelement-jaris'; var loadSwf = function(){ webshims.ready(swfType, function(){ @@ -244,26 +245,26 @@ return; } if(hasNative){ var videoElem = document.createElement('video'); - Modernizr.videoBuffered = ('buffered' in videoElem); - Modernizr.mediaDefaultMuted = ('defaultMuted' in videoElem); + support.videoBuffered = ('buffered' in videoElem); + support.mediaDefaultMuted = ('defaultMuted' in videoElem); supportsLoop = ('loop' in videoElem); - Modernizr.mediaLoop = supportsLoop; + support.mediaLoop = supportsLoop; webshims.capturingEvents(['play', 'playing', 'waiting', 'paused', 'ended', 'durationchange', 'loadedmetadata', 'canplay', 'volumechange']); - if( !Modernizr.videoBuffered || !supportsLoop || (!Modernizr.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){ + if( !support.videoBuffered || !supportsLoop || (!support.mediaDefaultMuted && isIE && 'ActiveXObject' in window) ){ webshims.addPolyfill('mediaelement-native-fix', { d: ['dom-support'] }); webshims.loader.loadList(['mediaelement-native-fix']); } } - if(Modernizr.track && !bugs.track){ + if(support.track && !bugs.track){ (function(){ if(!bugs.track){ if(window.VTTCue && !window.TextTrackCue){ window.TextTrackCue = window.VTTCue; @@ -591,23 +592,11 @@ if(data && data.isActive == 'third') { mediaelement.setActive(elem, 'html5', data); } } }; - var allowedPreload = {'metadata': 1, 'auto': 1, '': 1}; - var fixPreload = function(elem){ - var preload, img; - if(elem.getAttribute('preload') == 'none'){ - if(allowedPreload[(preload = $.attr(elem, 'data-preload'))]){ - $.attr(elem, 'preload', preload); - } else if(hasNative && (preload = elem.getAttribute('poster'))){ - img = document.createElement('img'); - img.src = preload; - } - } - }; - var stopParent = /^(?:embed|object|datalist)$/i; + var stopParent = /^(?:embed|object|datalist|picture)$/i; var selectSource = function(elem, data){ var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {}); var _srces = mediaelement.srces(elem); var parent = elem.parentNode; @@ -618,11 +607,10 @@ if(!_srces.length || !parent || parent.nodeType != 1 || stopParent.test(parent.nodeName || '')){return;} data = data || webshims.data(elem, 'mediaelement'); if(mediaelement.sortMedia){ _srces.sort(mediaelement.sortMedia); } - fixPreload(elem); stepSources(elem, data, _srces); }; mediaelement.selectSource = selectSource; @@ -642,11 +630,11 @@ var initMediaElements = function(){ var testFixMedia = function(){ if(webshims.implement(this, 'mediaelement')){ selectSource(this); - if(!Modernizr.mediaDefaultMuted && $.attr(this, 'muted') != null){ + if(!support.mediaDefaultMuted && $.attr(this, 'muted') != null){ $.prop(this, 'muted', true); } } }; @@ -667,11 +655,11 @@ selectSource(this, data); if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){ supLoad.prop._supvalue.apply(this, arguments); } - if(!loadTrackUi.loaded && $('track', this).length){ + if(!loadTrackUi.loaded && this.querySelector('track')){ loadTrackUi(); } $(this).triggerHandler('wsmediareload'); } } @@ -766,6 +754,6 @@ webshims.ready(swfType, initMediaElements); } webshims.ready('track', loadTrackUi); }); -})(Modernizr, webshims); +})(webshims);