- From: Boris Zbarsky <bzbarsky@MIT.EDU>
- Date: Mon, 18 Jun 2012 23:18:41 -0400
- To: Travis Leithead <travis.leithead@microsoft.com>
- CC: "public-script-coord@w3.org" <public-script-coord@w3.org>
On 6/18/12 6:56 PM, Travis Leithead wrote:
> It seems to me, that an implementer must keep track of which API sets get mixed-in to what objects, and configure the "this" validator of each API to only accept instances that match those target objects. Everything else must throw.
>
> As a spec author, if I mix in some set of functionality onto my new interface, I expect that those APIs that I mixed in will work with instances of my new object.
Hmm. I'm not quite sure that you're answering my question.
Again, my question is this, and I will try to reduce confusion by using
methods instead of attributes. Given this IDL:
[NoInterfaceObject]
interface Mixin {
void doSomething();
};
[Constructor=()]
interface X {};
X implements Mixin;
[Constructor=()]
interface Y {};
Y implements Mixin;
and this script:
x = new X();
y = new Y();
x.doSomething.call(y);
should the call throw or should it do the same thing as y.doSomething()?
For that matter, should x.doSomething == y.doSomething test true or
false? Even _that_ is not obvious from the spec, now that I read it
again. I had initially read it as testing false, but now I'm not quite
sure. What exactly does it mean to have "a copy of each property"?
What gets copied?
-Boris
Received on Tuesday, 19 June 2012 03:19:11 UTC