var Resource = require('asset-loader').Resource, core = require('../core'); module.exports = function () { return function (resource, next) { // if no data, skip if (!resource.data) { next(); } // if loaded with xhr as a blob, we need to transform the blob into an Image object // TODO: Need an 'affinity' property on the Resource that says 'image' 'binary' 'xml' etc... if (resource.loadType === Resource.LOAD_TYPE.XHR && resource.xhrType === Resource.XHR_RESPONSE_TYPE.BLOB) { resource.data = new Image(); resource.data.src = window.URL.createObjectURL(request.data); // cleanup the no longer used blob after the image loads resource.data.onload = function () { window.URL.revokeObjectURL(resource.data.src); } } // if this is an image object if (resource.data.nodeName && resource.data.nodeName.toLowerCase() === 'img') { resource.texture = new core.Texture(new core.BaseTexture(resource.data)); } next(); }; };