This is awkward to have to XHR a blob from a blob url.  Better would be to modify metadata.js to add a getThumbnailBlob() method. And then modify getThumbnailURL to use getThumbnailBlob().  Basically most of the code in getThumbailURL() would move to getThumbnailBlob() and only the outermost layer of URL caching would remain in getThumbailURL().

But given the tight deadline, I'm okay with this code.