- From: Simon Pieters <simonp@opera.com>
- Date: Tue, 24 Mar 2015 21:51:02 +0100
- To: "public-fx@w3.org" <public-fx@w3.org>
Sorry, I sent this to www-style instead of public-fx. Moving to public-fx... On Tue, 24 Mar 2015 21:35:19 +0100, Simon Pieters <simonp@opera.com> wrote: > The constructor for DOMQuad is currently: > > http://dev.w3.org/fxtf/geometry/#DOMQuad > > [Constructor(optional DOMPointInit p1, optional DOMPointInit p2, > optional DOMPointInit p3, optional DOMPointInit p4), > Constructor(optional DOMRectInit rect), > Exposed=(Window,Worker)] > interface DOMQuad { > [SameObject] readonly attribute DOMPoint p1; > [SameObject] readonly attribute DOMPoint p2; > [SameObject] readonly attribute DOMPoint p3; > [SameObject] readonly attribute DOMPoint p4; > [SameObject] readonly attribute DOMRectReadOnly bounds; > }; > > I think there are a few issues here. > > * All arguments are optional. This is invalid WebIDL since it's not > possible to distinguish which constructor to use. For other constructors > I've let the dictionary be optional and have the other constructor have > two required arguments. We can do that here as well. > > * If one does `new DOMQuad(other_domquad)`, it will convert the object > to a DOMRectInit and result in the same thing as `new DOMQuad({})` which > is probably not what was intended. Supporting two kinds of dictionaries > is not straightforward, though, since I think WebIDL doesn't distinguish > between different dictionaries. My proposal to fix this is to have a > dictionary type that can have rect members or quad members; see > https://www.w3.org/Bugs/Public/show_bug.cgi?id=27492#c1 > > Any opinions? -- Simon Pieters Opera Software
Received on Tuesday, 24 March 2015 20:51:34 UTC