W3C home > Mailing lists > Public > public-device-apis@w3.org > December 2012

Re: [ambient light events LC] Feedback

From: Tab Atkins Jr. <jackalmage@gmail.com>
Date: Tue, 18 Dec 2012 10:47:52 -0800
Message-ID: <CAAWBYDASr2sSLf2qgu8eTU06DkfCvt1QuL8D_WsinDR2kAs4RQ@mail.gmail.com>
To: Anne van Kesteren <annevk@annevk.nl>
Cc: Glenn Maynard <glenn@zewt.org>, public-device-apis <public-device-apis@w3.org>, public-webapps <public-webapps@w3.org>
On Tue, Dec 18, 2012 at 10:02 AM, Anne van Kesteren <annevk@annevk.nl> wrote:
> On Tue, Dec 18, 2012 at 6:58 PM, Tab Atkins Jr. <jackalmage@gmail.com> wrote:
>> It seems weird that enums would have a different "no value" behavior
>> than all the other attributes in the DOM.  Nulling things is the
>> common idiom here.
> For strings and especially enums you'd either have a defined value as
> default (which could be "default" or some such) or you'd use the empty
> string as the default (like XMLHttpRequest).
> Also, I don't think nulling things is the common idiom. Typical
> defaults for a list would be the empty list, 0 for a number, given
> that enums are strings, ...

Makes sense, I guess (though I'm not super happy with having to
explicitly add the empty string to every enum that's supposed to be
"nullable").  In that case, the IDL would be:

enum LightLevel { "dim", "normal", "bright", "" };
[Constructor (DOMString type, optional LightLevelEventInit eventInitDict)]
interface LightLevelEvent : Event {
    readonly attribute LightLevel value;
dictionary LightLevelEventInit : EventInit {
    LightLevel value = "";

Received on Tuesday, 18 December 2012 18:48:39 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:32:47 UTC