Re: [CSSOM View] Extensions to Element.scrollLeft and Element.scrollTop are not valid WebIDL

Sorry for a late response, but is it possible to set scrollRight rather than scrollLeft? This might be needed when writing-mode: vertical-rl[1].

Or could we rename scrollLeft to scrollStart or scrollBlockStart by following abstract dimensions[2], and let it aware of block direction?

[1] http://dev.w3.org/csswg/css-writing-modes/#propdef-writing-mode
[2] http://dev.w3.org/csswg/css-writing-modes/#abstract-axes

/koji

On Jul 30, 2014, at 7:45 AM, Jet Villegas W3C <w3c@junglecode.net<mailto:w3c@junglecode.net>> wrote:

It doesn't look like there are any objections to this proposal from last week. We're going to implement the solution described in bug 26294<https://www.w3.org/Bugs/Public/show_bug.cgi?id=26294> unless we've got other comments with a better idea.

Thanks,

--Jet


On Tue, Jul 22, 2014 at 5:39 PM, Kip Gilbert <kgilbert@mozilla.com<mailto:kgilbert@mozilla.com>> wrote:
In the "Extensions to the Element Interface" section
(http://www.w3.org/TR/cssom-view/#extensions-to-the-element-interface),
the scrollTop and
scrollLeft attributes have been extended:

  attribute (double or ScrollOptionsVertical) scrollTop;
  attribute (double or ScrollOptionsHorizontal) scrollLeft;

The ScrollOptionsVertical and ScrollOptionsHorizontal dictionaries
include the x and y position with the intent of setting the position
and ScrollOptions simultaneously:

  dictionary ScrollOptionsHorizontal : ScrollOptions {
    double x;
  };
  dictionary ScrollOptionsVertical : ScrollOptions  {
    double y;
  };

As the scrollLeft and scrollTop attributes are described in the CSSOM
View specification as always returning double values while the setter
functions receive either a double or dictionary value.  Setting an
attribute with one datatype and returning a value with another data
type is not allowed by the WebIDL specification.

I have created a bug for this issue:

https://www.w3.org/Bugs/Public/show_bug.cgi?id=26294

I would like to suggest that the scrollTop and scrollLeft attributes
remain as double data type only, and that a separate method be added
to the Element interface for scrolling with ScrollOptions:

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

Calling this method would be equivalent to setting both the scrollTop
and scrollLeft attributes while simultanously specifying the
ScrollOptions.

- Kearwood "Kip" Gilbert

Received on Wednesday, 30 July 2014 02:56:41 UTC