- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Wed, 15 May 2013 16:35:11 +0200
- To: Jim Barnett <Jim.Barnett@genesyslab.com>
- CC: "public-webrtc@w3.org" <public-webrtc@w3.org>
- Message-ID: <51939D1F.7050005@alvestrand.no>
On 05/15/2013 04:29 PM, Jim Barnett wrote: > > But why require the developer to pass the id into the getter if it’s > an attribute of the instance? Why not just have a get() method with > no arguments? What if the developer passes in a different id? It > seems odd to have a method with an argument that has only one legal value. > Ah - sorry, I was looking at the wrong getter. You're right - the argument to the getter inside the RTCStats needs to be named something else. fieldName? > -Jim > > *From:*Harald Alvestrand [mailto:harald@alvestrand.no] > *Sent:* Wednesday, May 15, 2013 9:05 AM > *To:* Jim Barnett > *Cc:* public-webrtc@w3.org > *Subject:* Re: Stats interface - possible change in WebIDL > documentation format > > On 05/15/2013 02:29 PM, Jim Barnett wrote: > > What is the relationship between the id attribute of the RTCStats > interface and the id argument passed to the getter? It seems > confusing to me to have an object with an ‘id’ attribute and then > a getter method that takes some other id. > > They are the same (the only valid reason to use the same name). > > > -Jim > > *From:*Harald Alvestrand [mailto:harald@alvestrand.no] > *Sent:* Wednesday, May 15, 2013 7:59 AM > *To:* public-webrtc@w3.org <mailto:public-webrtc@w3.org> > *Subject:* Stats interface - possible change in WebIDL documentation > format > > (Theory-laden subject ahead... this should affect our WebIDL, but not > our Javascript. People who only care about the Javascript can skip this.) > > In an unrelated discussion this month, I learned something I hadn't > really considered before: > > In a dictionary, all members are by definition optional. > > This affects the stats interface specification. Currently we have: > > interface RTCStatsReport { > getter RTCStats (DOMString id); > }; > > dictionary RTCStats { > DOMHiResTimeStamp timestamp; > RTCStatsType type; > DOMString id; > }; > > And then all the other RTCStats objects are defined as subtypes of > this dictionary. > > But - timestamp, type and id are NOT intended to be optional. Thus, > the IDL does not provide the maximum amount of information to the user. > > One suggested approach, keeping the dictionaries for the rest of the > stuff, would be: > > interface RTCStats { > DOMHiResTimeStamp timestamp; > RTCStatsType type; > DOMString id; > getter Any(DOMString id); > } > > // Empty dictionary to serve as the base for further dictionaries > dictionary RTCStatsBase { > } > > > with the comment "The id argument to the RTCStats getter is > constrained to be a valid member of the RTCStatsBase dictionary or a > subtype thereof". > > Question to the group: > > - Does anyone care? > - Does the proposed solution make sense (both as WebIDL and as > documentation)? > > Harald > >
Received on Wednesday, 15 May 2013 14:35:41 UTC