- From: Tobie Langel <notifications@github.com>
- Date: Tue, 08 Nov 2016 08:02:03 -0800
- To: heycam/webidl <webidl@noreply.github.com>
- Message-ID: <heycam/webidl/pull/211/c259177313@github.com>
@bzbarsky wrote: > Here's a concrete example of why the current [SameObject] thing is silly: Node has various string-or-null-valued attributes (localName, namespaceID) that can never change and we should be able to annotate that. Right now we can't. Oh, OK. So there are requirements I wasn't aware of. So what's the plan? 1. Define object types as: ``` The {{object}} type, all [=interface types=], the [=promise type=], the [=exception types=], the [=buffer source types=], and [=union types=] whose [=member types|members=] are [=object types=] are known as <dfn id="dfn-object-type" export>object types</dfn>. ``` 2. Make [NewObject] refer to it. 3. Add a new [Constant] extended attribute that's works on any type and always returns the same reference for objects and the same value otherwise (so `[Constant] readonly attribute DOMString tagName;` means that if tagName returns "DIV" once, it'll always do so.) 4. What to do with [SameObject]? Mark it as legacy? @annevk wrote: > do we have a case where a [NewObject]-operation can return null or a string? On the face of it something like that seems rather weird. I wasn't aware string was a requirement for [SameObject]. Agreed it's potentially a bit weird for [NewObject] but `null` doesn't strike me as absurd. -- 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/pull/211#issuecomment-259177313
Received on Tuesday, 8 November 2016 16:03:26 UTC