- From: Ali Juma <ajuma@chromium.org>
- Date: Mon, 2 Mar 2015 10:39:33 -0500
- To: Simon Pieters <simonp@opera.com>
- Cc: www-style <www-style@w3.org>, Kip Gilbert <kgilbert@mozilla.com>
- Message-ID: <CANLC6v0i9eeLxhLDhKsfACKni6uLkOETRvXTo33ae+fy_3cKwA@mail.gmail.com>
On Mon, Mar 2, 2015 at 8:10 AM, Simon Pieters <simonp@opera.com> wrote: > On Fri, 27 Feb 2015 10:25:17 +0100, Simon Pieters <simonp@opera.com> > wrote: > > The CSSOM View spec uses `double` in ScrollToOptions top/left dictionary >> members, which means that non-finite numbers throw TypeError per WebIDL. >> >> http://dev.w3.org/csswg/cssom-view/#dictdef-scrolltooptions >> >> The spec uses `unrestricted double` (and converts non-finite numbers to >> zero) for the arguments that were traditionally `long`, since it matches >> the traditional `long` behavior. >> >> Example: scrollTo(0, NaN); // same as x.scrollTo(0, 0); >> >> The ScrollToOptions dictionary is new so there is no Web compat to worry >> about. >> >> Example: scrollTo({top: NaN}); // throws TypeError per spec >> >> However, in Gecko and Blink they are implemented as `unrestricted >> double`; non-finite numbers do not throw TypeError. (Blink doesn't convert >> Infinity to zero, this is a known bug.) Should we change the spec to make >> ScrollToOptions top/left `unrestricted double`, so that the dictionary >> behaves more like the old arguments? Or do people think it is more useful >> to throw for non-finite numbers in the dictionary? >> > > kip, ajuma, any opinions? > Consistency with the existing scrolling methods seems like a good reason to make ScrollToOptions top/left 'unrestricted double'. But I don't feel super-strongly about this, so if others feel that the value of throwing on non-finite numbers here outweighs the value of consistency, I'd be fine with that too.
Received on Monday, 2 March 2015 15:40:09 UTC