vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js in webshims-rails-1.14.4 vs vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js in webshims-rails-1.14.5
- old
+ new
@@ -351,10 +351,11 @@
}
if('_seekpause' in base){
delete base._seekpause;
}
wasPaused = null;
+ media.triggerHandler('updateprogress');
}
});
durationChange = function(){
duration = media.prop('duration');
@@ -1314,15 +1315,16 @@
$.jme.defineProp('autoplayfs');
$.jme.registerPlugin('buffer-progress', {
_create: function(control, media, base, options){
+ var progressTimer;
var indicator = $('<div class="buffer-progress-indicator" />').appendTo(control);
var drawBufferProgress = function(){
var progress = media.jmeProp('progress');
+ clearTimeout(progressTimer);
-
if(options.progress !== progress){
options.progress = progress;
indicator.css('width', progress +'%');
}
};
@@ -1330,11 +1332,18 @@
progress: drawBufferProgress,
emptied: function(){
indicator.css('width', 0);
options.progress = 0;
},
- playing: drawBufferProgress
+ playing: drawBufferProgress,
+ 'seeked seeking updateprogress': function(e){
+ clearTimeout(progressTimer);
+ if(e.type != 'seeking'){
+ progressTimer = setTimeout(drawBufferProgress, 100);
+ }
+ }
+
});
drawBufferProgress();
}
});
@@ -1416,11 +1425,11 @@
}
if(dir){
var buttons = this.buttons.not(':disabled');
var activeButton = buttons.filter(':focus');
- activeButton = buttons[buttons.index(activeButton) + dir] || buttons.filter(dir > 0 ? ':first' : ':last');
- activeButton.trigger('focus');
+ activeButton = (activeButton[0] && buttons[buttons.index(activeButton) + dir]) || buttons[dir > 0 ? 'first' : 'last']();
+ $(activeButton).trigger('focus');
e.preventDefault();
}
},
show: function(){
if(this.isVisible){return;}