- From: Jonas Sicking <jonas@sicking.cc>
- Date: Wed, 29 Feb 2012 17:25:33 +0100
- To: Anne van Kesteren <annevk@opera.com>
- Cc: Marcos Caceres <w3c@marcosc.com>, www-dom@w3.org
On Wed, Feb 29, 2012 at 3:24 PM, Anne van Kesteren <annevk@opera.com> wrote: > On Mon, 27 Feb 2012 15:18:55 +0100, Marcos Caceres <w3c@marcosc.com> wrote: >> >> On Thursday, February 23, 2012 at 3:18 PM, Jonas Sicking wrote: >>> >>> I think the way we should do this is to enable instantiating >>> EventTarget objects using an EventTarget ctor. This won't give you a >>> neato extension syntax, but I think we'll have to rely on ES.next for >>> that. Before ecma-script has a better solution you can always >>> monkeypatch the object. >>> >>> So something like: >>> a = new EventTarget(); >>> b = new EventTarget(a); // a is the parent in the target chain >>> >>> should be doable. I don't know if we need a way to modify the parent >>> chain after construction. It's somewhat complex to allow this while >>> still preventing cycles from being created. >> >> It would be great to see something like the above. > > Unless someone explains how that graph model applies to the tree model we > have now and what the processing model around it will, I'm not sure this > will go anywhere. Sorry, I guess I left out that critical part. The simplest solution would be that for something like b = new EventTarget(a); say that "a" must be an object created using the EventTarget constructor. As long as we don't have syntax for modifying the "event target parent" there would be no way of constructing arbitrary graphs. Only trees would be constructable. That's what I meant with the part about not being able to modify the parent in the original email. A more complex solution would also allow modifying the target-chain parent. For something like b.eventTargetParent = a; we would have to walk up a's parent chain and check if b is in the chain. If it is we'd have to throw an exception. We'd also have to require that a is constructed using the EventTarget constructor. Either of these methods will result in only trees and not arbitrary graphs. / Jonas
Received on Wednesday, 29 February 2012 16:26:34 UTC