Re: Forbid constants on [noInterfaceObject] interfaces

Boris Zbarsky wrote:
> On 7/31/13 9:43 AM, David Bruant wrote:
>> given how they promote the feature [1] (see code snippets in the
>> article, it has both "PERSISTENT" and window.TEMPORARY), I doubt this is
>> a bug.
>
> It's a bug if merely having [NoInterfaceObject] on an interface causes
> its constants to end up on the global. That's just not what the spec
> says to do. If Chrome's binding generator has this behavior, it should
> be fixed.
>
> If, on the other hand, Chrome just unilaterally added some constants on
> Window... well, that's really unfortunate, but not a WebIDL issue.
>
>> Worse, I doubt this can be changed.
>
> Again, that just seems like something for the Window spec and bug
> reports to Chrome and other UAs, not an issue with WebIDL per se.

It's really the `Window implements LocalFileSystem;` statement in the 
spec that's putting the constants on the global.  With that, it makes 
sense that they were using the (never in the spec) [Supplemental].

Still, it doesn't seem to be a great design to be sticking these things 
on the global -- the constants or the requestFileSystem and 
resolveLocalFileSystemURL operations.

Received on Saturday, 3 August 2013 02:48:56 UTC