[CSSOM View] WebIDL changes to Element and Window break backwards-compatibility

Changes to the Element and Window WebIDL in the CSSOM View
specification break backwards compatibility, causing scripts to fail
and sites to fail to render.

Such content may fail as it expects the coordinates
passed to CSSOM-View functions to treat non-finite numbers
(NaN, Infininity, and -Infinity) as 0.

WebIDL for these functions defines the x and y coordinates using the
"double" data type:

http://www.w3.org/TR/cssom-view/#extensions-to-the-window-interface
http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface

This affects all functions that accept a double value for
coordinates, including:

window.scroll
window.scrollTo
window.scrollBy
element.scrollTop;
element.scrollLeft

I propose that this could be solved by defining the
coordinates as "unrestricted double" so that these functions
can accept the non-finite values.  The function
implementations should then coerce any non-finite values to 0.

For example, window.scrollTo would be defined as:

void scrollTo(unrestricted double x, unrestricted double y, optional
ScrollOptions options);

Kearwood “Kip” Gilbert

Received on Wednesday, 10 September 2014 18:28:24 UTC