- From: Harald Alvestrand <harald@alvestrand.no>
- Date: Fri, 07 Feb 2014 05:28:42 +0100
- To: public-media-capture@w3.org
- Message-ID: <52F460FA.9040905@alvestrand.no>
On 02/07/2014 12:52 AM, Jim Barnett wrote: > I don't think that this definition captures the interactions between > constraints. If aspectRatio and width have already been constrained, > it is not enough to check that the requested value for width is > within the range specified by the relevant Capability. Your first > four points are more precise than what's currently in the spec, but > the last two have to be modified to talk of a set of property values > satisfying a set of ConstraintSets. You're right. The "intersection" has to be in terms of what's possible given the already-satisfied constraints, not just what that particular constraint has been constrained to. > > - Jim > On 2/6/2014 5:49 PM, Harald Alvestrand wrote: >> As promised, hashing out the language of ConstraintSet.... >> >> First, an admission: I don't understand how initialization of complex >> argument types in WebIDL is supposed to work. >> >> I tried to parse the WebIDL spec to figure out "here is how you >> specify that an argument of type T can be constructed from a JS >> Object O when O is passed as an argument to the function that takes >> an argument of type T", but I did not find it. So I guess I'm left >> with prose - and possibly supporting WebIDL. >> >> The algorithm I have in mind, which is a making-more-precise of >> section 11.1.2 of the current (abbreviated) draft, says: >> >> WebIDL: >> >> typedef object ConstraintSet; >> >> The following operation is executed to figure out if the >> Constrainable object O, which has capabilities CA, satisfies >> ConstraintSet C: >> >> - For each immediate attribute A of C (as defined by HasOwnProperty): >> - If N, the name of A, is not a member of CA, fail. >> - If V, the value of A, cannot be interpreted as a >> ConstraintValues, fail. >> - If V does not permit any of the allowed values for CA(N), fail. >> - Set the constraint of N in O to be the intersection of any >> previous constraint >> and V. If the result of this intersection is empty, fail. >> - If satisfaction succeeded, return the newly-constrained object O. >> >> Here's where the now-deleted definition of ConstraintSet may come in >> useful: >> >> In this algorithm specification, the access to C is done as if C had >> the WebIDL definition: >> >> [NoInterfaceObject] >> interface ConstraintSetInternalRepresentation { >> ConstraintValues getter (DOMString name); >> }; >> >> (this may need extension. I'm not sure how. Or it may have no value, >> and should be deleted.) >> >> Does this seem like a precise (and therefore implementable) algorithm? >> >> >> >> >> >> >> -- >> Surveillance is pervasive. Go Dark. > > -- > Jim Barnett > Genesys -- Surveillance is pervasive. Go Dark.
Received on Friday, 7 February 2014 04:29:19 UTC