Re: [heycam/webidl] Is a subclass still a platform object? (#540)

So to make sure we're on the same page here, we're looking at both interface objects and named constructors, right?

Prior to https://github.com/heycam/webidl/commit/4a8f57e, there were no additional normative requirements for platform objects created by interface objects to be of the same Realm as the interface object that constructed them beyond the `|O|.\[[Realm]] is equal to |F|.\[[Realm]]` assertion. I think the idea was that it was for the spec defining the interface to be explicit about the Realm platform objects were created in (is that right, @domenic?). I agree that the assertion makes that requirement on the interface defining spec sort of redundant, however. IMHO, this is something we should fix in the platform object creation algorithm I'm working on, by making it explicit. Do we agree?

Wrt to named constructors, that requirement is still there, it just was rephrase a bit and moved to the second paragraph of [§3.6.2. Named constructors](https://heycam.github.io/webidl/#named-constructors) (emphasis mine):

> If the actions listed in the description of the constructor return normally, then those steps must return an object that implements interface I. This object’s relevant Realm _must be the same as that of the named constructor._

This should be also fixed in the same platform object creation algorithm. Does that make sense?

Am I missing anything?



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/issues/540#issuecomment-381075586

Received on Friday, 13 April 2018 09:13:33 UTC