- From: Rik Cabanier <cabanier@gmail.com>
- Date: Wed, 19 Oct 2016 11:37:43 -0700
- To: Simon Fraser <smfr@me.com>
- Cc: "public-fx@w3.org" <public-fx@w3.org>
- Message-ID: <CAGN7qDDpjaHtRBvTPpMqkskxUs7ChHjyLhVUb5Texx7r=Oh_ug@mail.gmail.com>
On Tue, Oct 18, 2016 at 11:29 AM, Simon Fraser <smfr@me.com> wrote: > DOMQuad seems like the odd one out of the Geometry interfaces. It doesn’t > have a ReadOnly variant, and, unlike DOMRect, its points are 3D DOMPoints > (with x,y,w,z). In the WebKit implementation, we never have a need to store > quads in 3D space; they only ever exist in the plane of an element. We do > have code that tracks an accumulated matrix along with a planar quad when > mapping through 3D rendering contexts, but the quads are only ever used > once you flatten into the plane of an element. > > Also, I think [SameObject] readonly attribute DOMPoint cause unwanted > behavior for JS authors. > > Consider: > > var quad = DOMQuad.fromQuad({ p1:{ x:11, y:12 }, p2:{ x:22, y:23 }, p3:{ > x:33, y:34 }, p4:{ x:44, y:45 } }); > > var firstPoint = quad.p1; > firstPoint.x = 9999; > > if (quad.p1.x == 9999) > console.log(“what the hey”); <— this happens > > I think it’s very counterintuitive for JS authors to have the points be > “live” if you pass them to other parts of the code and then modify them. > I don't understand why that would be counter-intuitive. Isn't this normal JavaScript behavior? Having them be non-live would be "magic" because a DOMQuad is supposed to be a simple detached object.
Received on Wednesday, 19 October 2016 18:38:12 UTC