move video GC workaround into VideoElement
This commit is contained in:
parent
96cbf49579
commit
9da1540653
2 changed files with 11 additions and 3 deletions
|
@ -20,9 +20,6 @@ Ox.GarbageCollection = (function() {
|
|||
Object.keys(Ox.UI.elements).forEach(function(id) {
|
||||
var $element = Ox.UI.elements[id];
|
||||
if ($element && Ox.isUndefined($element.$element.data('oxid'))) {
|
||||
//Chrome does not properly release resources, reset manually
|
||||
//http://code.google.com/p/chromium/issues/detail?id=31014
|
||||
$element.find('video').attr({src: ''});
|
||||
$element.remove();
|
||||
delete Ox.UI.elements[id];
|
||||
}
|
||||
|
|
|
@ -151,6 +151,7 @@ Ox.VideoElement = function(options, self) {
|
|||
}
|
||||
},
|
||||
timeupdate: function() {
|
||||
//fixme: use setInterval(...,30); to be more accurate
|
||||
if (self.video == this) {
|
||||
if (self.items[self.currentItem]
|
||||
&& self.items[self.currentItem].out
|
||||
|
@ -443,6 +444,16 @@ Ox.VideoElement = function(options, self) {
|
|||
return that;
|
||||
};
|
||||
|
||||
that.superRemove = that.remove;
|
||||
that.remove = function() {
|
||||
//Chrome does not properly release resources, reset manually
|
||||
//http://code.google.com/p/chromium/issues/detail?id=31014
|
||||
self.$videos.forEach(function($video) {
|
||||
$video.attr({src: ''});
|
||||
});
|
||||
return that.superRemove.apply(that, arguments);
|
||||
}
|
||||
|
||||
/*@
|
||||
videoHeight <f> get videoHeight
|
||||
@*/
|
||||
|
|
Loading…
Reference in a new issue