Re: [whatwg/fetch] data URLs: revised specification (#234)

Differences between browsers:

* Safari only accepts ";base64" at the end as per the RFC. Others also accept the part before the comma containing ";base64;". I'm inclined to go with others even though Safari is better.
* Chrome and Firefox drop unknown parameters. Others don't. (I haven't investigated deeply yet what is known and unknown, but on the surface it seems rather bogus as `image/gif;charset=x` is apparently fine.) Inclined to go with others.
* Chrome and Firefox lowercase MIME types and known parameter names (not parameter values). Others don't. Inclined to go with others.
* Chrome and Firefox remove U+0020 for non text/* MIME types (though note that application/xml does not count so it's more complicated and that %20 does end up as non-removed U+0020). This doesn't seem to be needed. See also one of the Mozilla bugs above for further analysis by me. Inclined to go with others.
* Edge and Firefox uses "text/plain" rather than "text/plain;charset=US-ASCII" as fallback for invalid MIME types. Safari often echoes the input string, doesn't even prepend a lone ";charset=x" with "text/plain". Inclined to go with Chrome (which uses the default also as the fallback).
* Chrome and Edge don't strip U+000C when base64 decoding. Chrome does for `window.atob()` so probably silly mismatch. Inclined to go with others.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/issues/234#issuecomment-322203886

Received on Monday, 14 August 2017 14:23:36 UTC