- From: Jonas Sicking <jonas@sicking.cc>
- Date: Mon, 2 May 2011 17:48:59 -0700
On Mon, May 2, 2011 at 4:37 PM, Ian Hickson <ian at hixie.ch> wrote: > On Wed, 5 Jan 2011, Mounir Lamouri wrote: >> On 01/05/2011 02:29 AM, Ian Hickson wrote: >> > On Thu, 14 Oct 2010, Olli Pettay wrote: >> >> >> >> may I wonder why on earth any new API, like >> >> link.sizes uses PutForwards? >> >> IMHO, PutForwards should be limited to the >> >> awkward DOM0 APIs like window.location. >> > >> > On Fri, 15 Oct 2010, Olli Pettay wrote: >> >> >> >> It makes getters and setters work in a very different way. >> >> Inconsistency in APIs isn't a good thing. >> > >> > I don't understand how they work in a different way? >> > >> > The idea is to make the attribute appear to work like a DOMString for most >> > purposes, but to allow methods to be invoked on it. (All the attributes >> > that have [PutForwards] set also have a stringifier on their object's >> > interface.) >> >> Is there a use case for [PutForwards] (except saving a few characters >> for the authors) that could justify the inconsistency? > > I don't understand how it's inconsistent. Inconsistent with what? > > The idea is to be consistent with all the other reflecting attributes, > which can mostly all be treated as either strings or numbers. Contrast > this with the way attributes are reflected in SVG, where there's a step of > indirection to get to the string value due to the animation API. I think > this is a case where [PutForwards] and stringification makes sense. It's inconsistent in that all other objects in javascript stringify to "[Object Foo]", whereas this object doesn't. If the concern is that link.sizes should be consistent with other attribute-mapping properties then you're only half-way there since typeof tests still behaves differently. I definitely agree that the way SVG does it is not ideal. How about simply creating a second property, like link.parsedSizes which returns the tokenlist? / Jonas
Received on Monday, 2 May 2011 17:48:59 UTC