- From: Cullen Jennings <fluffy@iii.ca>
- Date: Thu, 22 Oct 2015 16:38:24 -0600
- To: Harald Tveit Alvestrand <harald@alvestrand.no>
- Cc: public-webrtc@w3.org
+1 on coming up with a consistent set of principles we are going to use then changing all the specs to match that > On Oct 22, 2015, at 7:57 AM, Harald Alvestrand <harald@alvestrand.no> wrote: > > I can't bring myself to worry overmuch about this, but the recent > changes to the ICE stuff goes the opposite way, changing what used to be > an interface into dictionaries. > > We might want to spend f2f time on "when are dictionaries appropriate, > when are interfaces approriate, and when should we have interfaces with > dictionary constructors?" > > AFAIK, more or less: > > - Dictionaries can't be attributes > - Dictionaries can't be subclassed on return values (so we have to use > "object" in our WebIDL) > - Dictionaries have auto-init from a { type: value ... } Javascript > argument, ignoring superfluous entries > - Interfaces are the same thing if they have a dictionary-argument > constructor > - Dictionaries are pass-by-value; modifying a dictionary has no effect > on other objects (but modifying an object *in* a dictionary can have) > - Interfaces can have read-only and read-write members; because of the > previous point, the topic is irrelevant to dictionaries > > What this means for when we should use one or the other is a good > question; I'd like to get a common understanding on that first, so that > we don't continue to flip-flop between them. > > > Den 21. okt. 2015 22:54, skrev Martin Thomson: >> I've submitted a PR that changes a bunch of the support infrastructure >> for RTCRtpSender.[gs]etParameters() to interfaces. >> >> The PR has a longer discussion of the trade-offs and rationale (included below): >> >> https://github.com/w3c/webrtc-pc/pull/350 >> >> There are very few things in here that are actually mutable as it >> turns out. Having them as dictionaries is contrary to some of the >> advice I've received internally on the design of web APIs. >> >> Most of the entire tree can be safely turned into interfaces with >> readonly attributes. I think that ideally we should move getParameters >> to an attribute, but I don't want to re-open that discussion again. I >> get the point of having an atomic setParameters though I think that >> we'll find that it isn't necessary in practice. >> >> One consequence of this is that it is much more clear now on what can >> be changed and what cannot. The SSRC was the only one that was >> previously mutable, which might have been inadvisable with a=ssrc in >> such heavy use; with the move to RID-based identification, I think >> that I can accept this being changed. >> >> The main consequence of this change is that you have to take a copy of >> the parameters if you want to change them. I think that this is an >> acceptable cost. >> >
Received on Thursday, 22 October 2015 22:38:50 UTC