- From: Dan Beam <dbeam@chromium.org>
- Date: Thu, 24 Apr 2014 21:06:15 -0700
- To: Domenic Denicola <domenic@domenicdenicola.com>
- Cc: WHATWG <whatwg@whatwg.org>, "bnicholson@mozilla.com" <bnicholson@mozilla.com>, Evan Stade <estade@chromium.org>
On Wed, Apr 16, 2014 at 6:59 PM, Domenic Denicola < domenic@domenicdenicola.com> wrote: > > From: dbeam@google.com [mailto:dbeam@google.com] On Behalf Of Dan Beam > > > So just pass no argument at all (i.e. arguments.length == 0)? I was under the impression some type of value should always be returned (but I'm biased by blink/v8's current implementation). > > It's equivalent, both for promises and for return values of functions. Both `new Promise(resolve => resolve())` and `new Promise(resolve => resolve(undefined))` give a promise whose fulfillment value is `undefined`. In this sense `resolve` behaves like all non-evil JavaScript functions, where evil is defined as "checking `arguments.length`" ;) > I've seen only positive feedback on this thread, so I've started implementing in Blink. Regarding the rejection argument: requestAutocomplete() can fail in a way that doesn't map intuitively to the current DOMException names (e.g. the invoking <form> has autocomplete="off" or isn't in a frame). Adding new names for these specific failure categories doesn't seem useful to the platform. Additionally, many potential failure causes may have the same reason property[1] ("disabled" => SecurityError, WrongDocumentError?, InvalidAccessError?)** and the terminology differs slightly ("cancel" => AbortError). This seems confusing to web authors, so I propose a new type instead (in IDL): interface AutocompleteError : DOMException { readonly attribute DOMString reason; // matches AutocompleteErrorEvent's reason[1] }; This new type would have a code of 0 (as other new exceptions have; code is deprecated). I've filed a bug to add this to the DOMException name table[2]. -- Dan Beam dbeam@chomium.org [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#the-autocompleteerrorevent-interface [2] https://www.w3.org/Bugs/Public/show_bug.cgi?id=25457 ** names with "?" are the closest existing error names I could find (but aren’t great)
Received on Friday, 25 April 2014 04:07:53 UTC