W3C home > Mailing lists > Public > public-webapps@w3.org > October to December 2014

Re: Help with WebIDL v1?

From: Boris Zbarsky <bzbarsky@mit.edu>
Date: Mon, 01 Dec 2014 17:30:05 -0800
Message-ID: <547D161D.9070504@mit.edu>
To: public-webapps@w3.org
On 12/1/14, 1:49 PM, Travis Leithead wrote:
> I believe so; this will give many specs a baseline WebIDL document to point to in their references at the very least. Many specs don't rely on the more advanced feature set being defined in WebIDL Second Edition.

Here's the problem.

As of today, v2 is not just v1 plus some more features.  They actually 
have some disagreements on how identical IDL syntactic constructs are 
handled.  For example, sequence behavior is different: in v1 a sequence 
has magic for platform array objects and the gets the "length" property 
and goes from 0 to length, while in v2 a sequence is an iterable and 
uses the ES6 iterator protocol.

Or another example: in v1 having an indexed getter implies nothing about 
being iterable, but in v2 it implies ES6 iterability.

More generally, v1 is pretty much defined in ES5 terms, while v2 is 
aiming for closer convergence with ES6.

What happens when a spec uses a sequence argument and references v1? 
Are UAs supposed to implement the v1 behavior or v2 behavior?

> However, let's not hijack this thread; I'd love to hear what the next steps are for moving this v1 forward.

I think that actually depends on how we want to handle the problem I 
describe above.

Some obvious options are:

1)  Backport all behavior changes from v2 to v1 so they agree on the set 
of syntactic constructs supported by v1.  This makes v1 depend on ES6, 
which I understood to be a non-goal (or perhaps even anti-goal, given 
ES6 is not finalized yet?  But it's close).

2)  Treat v1 as a syntax spec (with v2 a superset of the syntax) and 
explicitly say somewhere in v1 that v2 can redefine the behavior.  Not 
sure how happy people referencing v1 will be with that.

Other options?

-Boris
Received on Tuesday, 2 December 2014 01:30:41 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 18:14:32 UTC