Skip to content

Commit

Permalink
Merge branch 'memory-fixes'
Browse files Browse the repository at this point in the history
  • Loading branch information
bastimeyer committed Feb 6, 2016
2 parents be4cf7e + c5ba74b commit 44b6942
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
19 changes: 17 additions & 2 deletions src/app/components/PreviewImageComponent.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,24 @@ define([

checkError: function() {
var self = this;
this.$( "img" ).one( "error", function() {
var img = this.element.querySelector( "img" );

function unbind() {
img.removeEventListener( "error", onError, false );
img.removeEventListener( "load", onLoad, false );
}

function onError() {
unbind();
set( self, "error", true );
});
}

function onLoad() {
unbind();
}

img.addEventListener( "error", onError, false );
img.addEventListener( "load", onLoad, false );
}.on( "willInsertElement" )
});

Expand Down
18 changes: 16 additions & 2 deletions src/app/utils/preload.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,23 @@ define( [ "Ember" ], function( Ember ) {

var defer = Promise.defer();
var image = new Image();
image.addEventListener( "load", defer.resolve, false );
image.addEventListener( "error", withError ? defer.reject : defer.resolve, false );

image.addEventListener( "load", function() {
image = null;
defer.resolve();
}, false );

image.addEventListener( "error", function() {
image = null;
if ( withError ) {
defer.reject();
} else {
defer.resolve();
}
}, false );

image.src = src;

return defer.promise;
}

Expand Down

0 comments on commit 44b6942

Please sign in to comment.