[Bug 11032] HTMLPropertiesCollection shouldn't be callable

http://www.w3.org/Bugs/Public/show_bug.cgi?id=11032

--- Comment #3 from Cameron McCormack <cam@mcc.id.au> 2010-10-14 22:15:01 UTC ---
Technically, you can't override any of the special operations in Web IDL.  (It
says that it's undefined what happens if a host object implements two
interfaces with a name getter, for example.)  Seems like that's needed for
various interfaces in HTML5.  Filed
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11056.

(In reply to comment #2)
> Maybe you can remove the callable from HTMLCollection and mint a new interface
> that inherits from HTMLCollection (or implements HTMLCollection?) with
> [NoInterfaceObject] that has callable?

Having an HTMLCallableCollection that implements HTMLCollection wouldn't work,
due to the way mixin interfaces are currently specced -- you wouldn't be able
to add a property to HTMLCollection.prototype and see that reflected on objects
implementing interfaces inheriting from HTMLCallableCollection.

But minting a new one to place in the inheritance chain should work:

  interface HTMLCollection { ... }

  [NoInterfaceObject]
  interface HTMLCallableCollection : HTMLCollection {
    caller ...
  }

  interface HTMLAllCollection : HTMLCallableCollection { ... }

  interface HTMLPropertiesCollection : HTMLCollection { ... }

Now, there still would exist an interface prototype object for
HTMLCallableCollection.  And if you didn't want that, putting [Supplemental] on
it wouldn't work; you'd need a new extended attribute to mean that interfaces
that inherit from it get all of its properties.

Or, another way:

  interface HTMLCollection { ... }

  [NoInterfaceObject]
  interface HTMLCollectionCaller {
    caller ...
  }

  interface HTMLAllCollection : HTMLCollection {
    ...
  }
  HTMLAllCollection implements HTMLCollectionCaller;

  interface HTMLPropertiesCollection : HTMLCollection { }

The interface prototype object for HTMLCollectionCaller need not even exist,
since it's not accessible anywhere.

-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Thursday, 14 October 2010 22:15:03 UTC