The following code:
a = new Blob([1,2,3], {type: "text/(plain"});
console.log(a.type) // prints text/(plain
works in Chrome and Firefox. It also works if you replace ( with \x02 or something
The spec, however, asks user agents to restrict values in the range U+0020 to U+007E in the constructor, and in the getter it only allows a nonempty value to be returned if it is a parseable MIME type.
Perhaps we should relax these restrictions in the spec?