- From: Arun Ranganathan <arun@mozilla.com>
- Date: Wed, 3 Apr 2013 16:11:36 -0400
- To: Glenn Maynard <glenn@zewt.org>
- Cc: Arun Ranganathan <aranganathan@mozilla.com>, WebApps WG <public-webapps@w3.org>, Alexey Proskuryakov <ap@webkit.org>, Jonas Sicking <jonas@sicking.cc>, Anne van Kesteren <annevk@annevk.nl>
- Message-Id: <009B4986-6B68-40D9-B090-41DDE14021AF@mozilla.com>
On Mar 19, 2013, at 8:52 PM, Glenn Maynard wrote:
> On Tue, Mar 19, 2013 at 1:41 PM, Arun Ranganathan <arun@mozilla.com> wrote:
>
> > 2. Convert every character in relativeContentType to lower case.
>
> I recommend referencing "Converting a string to ASCII lowercase" in HTML. http://www.whatwg.org/specs/web-apps/current-work/#converted-to-ascii-lowercase
Done.
>
> > 1. If relativeContentType contains any non-ASCII characters, then set relativeContentType to the empty string and return from these substeps.
> > 3. If relativeContentType contains any line break characters like "CR" or "LF" or any CTLs or separators, then set relativeContentType to the empty string and return from these substeps.
>
> #3 is too vague. I recommend combining #1 and #3, saying: "If any character in relativeContentType outside of the range U+0020 to U+007E". That's the printable ASCII range, and excludes all control characters.
>
Done (+ thanks).
> > 4. Parse relativeContentType as an RFC2616 media-type, tokenizing it according to the ABNF for media-type [RFC2616] with the ASCII "/" character separating tokens representing the type and subtype productions. If relativeContentType cannot be tokenized according to the ABNF for media-type [RFC2616], then set relativeContentType to the empty string and return from these substeps.
>
> I'm not sure we should be this strict. I'd lean towards keeping it simple, allowing any string at all as long as it contains only lowercase, printable ASCII.
Done -- we restrict it now, but don't mandate tokenization along the lines of RFC2616.
> You don't need to say "The following requirements are normative for this parameter". That's what the normative language that follows ("must") means.
Done.
> My only concern is that blob.type should never contain parameters. Comparing it to "text/plain" or "image/jpeg" should work, and not mysteriously fail a year later when somebody eventually throws a MIME type parameter into the mix. Today, all browsers expose text files at text/plain. If a browser a year from now decides to call text files with a UTF-8 BOM "text/plain; charset=UTF-8", it'll break interop.
>
> Additionally, determining a blob's file type seems like the most obvious use of this property, and making people say "if(blob.type.split(";")[0] == 'text/plain')" is simply not a good interface.
OK -- you're strongly opinionated on the matter of NOT allowing a charset parameter. I'd like to see if implementers who had an opinion on its usefulness can weigh in -- Darin? Alexey?
http://dev.w3.org/2006/webapi/FileAPI/
-- A*
Received on Wednesday, 3 April 2013 20:12:08 UTC