As part of #963, we will have to specify CountQueuingStrategy and ByteLengthQueuingStrategy in WebIDL. There are a couple of things about these classes that are "strange" from a WebIDL point-of-view:
- size() is a function (as opposed to a method), but it is inherited
highWaterMark is added by the constructor as a property of the object, rather than coming from the prototype.
I think problem 2. can be fixed quite easily by making highWaterMark a normal interface attribute.
Problem 1. is harder. WebIDL doesn't seem to have functions as such at all. The closest thing is "Callback functions", but it doesn't appear that they can exist as attributes on an interface. There are also "static operations", which are a bit like functions, but appear as properties of the constructor, not the prototype.
As part of #963, we will have to specify CountQueuingStrategy and ByteLengthQueuingStrategy in WebIDL. There are a couple of things about these classes that are "strange" from a WebIDL point-of-view:
highWaterMarkis added by the constructor as a property of the object, rather than coming from the prototype.I think problem 2. can be fixed quite easily by making
highWaterMarka normal interface attribute.Problem 1. is harder. WebIDL doesn't seem to have functions as such at all. The closest thing is "Callback functions", but it doesn't appear that they can exist as attributes on an interface. There are also "static operations", which are a bit like functions, but appear as properties of the constructor, not the prototype.