- From: Adam Bergkvist <adam.bergkvist@ericsson.com>
- Date: Tue, 30 Jun 2015 06:31:35 +0000
- To: Jan-Ivar Bruaroey <jib@mozilla.com>, "public-media-capture@w3.org" <public-media-capture@w3.org>
On 2015-06-19 00:54, Jan-Ivar Bruaroey wrote: > In hindsight, I think it's clear that getUserMedia({ }) should be a > TypeError rather than a NotSupportedError. > > Having { lasers: true } throw NotSupportedError may sound good, but > gives the wrong impression, as it leads to surprise when { lasers: true, > audio: true } succeeds without error. > > More importantly, the arrival of the required keyword for dictionary > members in WebIDL suggests that empty dictionaries in new APIs are more > likely to throw TypeError than anything else. > > Even though the 'required' keyword wont work in our particular case, who > knows, WebIDL may someday add a way to specify mutually-exclusive > required members, and we'd wish we'd made this change now. > > This also aligns well with the recent move to make this validation > synchronous #182 To clarify, empty dictionaries in new APIs throw TypeError when there is at least one required member specified for those dictionaries, right? If there's a trend towards specifying dictionaries more strictly (like with required) then I think TypeError is the way to go. That would make our "custom requirements", described in prose, indistinguishable from errors enforced by WebIDL extensions such as the required keyword. /Adam
Received on Tuesday, 30 June 2015 06:32:34 UTC