You can clone with
Requesting the resource as a "blob" or "arraybuffer" is something new to xhr and is quite useful for working with binary data
In case of responseType is not text (arraybuffer, blob, document), the data passed to callback should be xhr.response, instead of xhr.responseText.
IIRC, Chrome sets xhr.response also in the responseType='', responseType='text' cases.
But that could very well be in implementation divergence from the spec.
feat($http): support reponseType