- From: Ian Hickson <ian@hixie.ch>
- Date: Thu, 14 Jul 2011 00:54:37 +0000 (UTC)
- To: Jonas Sicking <jonas@sicking.cc>
- cc: public-webapps@w3.org
- Message-ID: <Pine.LNX.4.64.1107140053150.3775@ps20323.dreamhostps.com>
On Wed, 13 Jul 2011, Jonas Sicking wrote: > On Mon, Jul 11, 2011 at 11:36 AM, Ian Hickson <ian@hixie.ch> wrote: > > On Mon, 11 Jul 2011, Marcos Caceres wrote: > >> On 7/11/11 8:23 PM, Ian Hickson wrote: > >> > On Mon, 11 Jul 2011, Jonas Sicking wrote: > >> > > On Mon, Jul 11, 2011 at 11:04 AM, Ian Hickson<ian@hixie.ch> wrote: > >> > > > On Fri, 8 Jul 2011, Jonas Sicking wrote: > >> > > > > > >> > > > > On the other hand, we should [not] do things now that are > >> > > > > likely to create a more complicated or inconsistent platform > >> > > > > in the future. > >> > > > > >> > > > I agree, indeed that's my main reason for not wanting to make > >> > > > objects inherit from EventTarget. :-) > >> > > > >> > > I think adding EventTarget to the chain is a simplification as it > >> > > makes that interface more consistent with the majority of other > >> > > ones. > >> > > >> > I mean in general, on any interface. > >> > > >> > IMHO nothing should inherit from EventTarget. That some interfaces > >> > do in the specs today is a relatively new development and IMHO one > >> > that will complicate the platform in the future. > >> > >> Interesting. How so? Do you have an example where inheriting from > >> EventTarget has become an issue or is going to be an issue? I > >> personally don't have a position on this, I'm just really interested > >> because I had this come up in other (proprietary) contexts. > > > > Why is EventTarget special? > > > > If one day we decide that many objects should all implement something > > else, e.g. a Clonable interface or something, what do we do? > > Then we'll add Clonable as a mixin at that time. Similar to what we'd do > if we have some interface that we only want to apply to some > HTMLElements (such as all form controls, or all "sectioning" elements). > > Adding EventTarget as a base interface is only a bad idea if there > appears in the future an interface which is more widely inherited than > EventTarget and more widely used than EventTarget. This seems highly > unlikely to me given how widely used and inherited EventTarget is. > > EventTarget is no different from Node. Node supplies the ability to take > part in the document tree, EventTarget supplies the ability to receive > events. So basically the answer to "Why is it special" is "because it is the first interface to have such wide applicability". I don't know if that's convincing. But I can probably live with it, especially since I don't have a good alternative. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Thursday, 14 July 2011 00:55:03 UTC