... if the scroller is currently not in motion (isScrolling returns false) and the scroller is in overscroll. This causes problems if the scrollTop property of the scroll math is set to something greater than 0. I am curious why in the getScrollTop method of the TouchScrollStrategy kind the call is delegated to the super kind if the scroller is currently not scrolling. (
https://github.com/enyojs/enyo/blob/master/source/touch/TouchScrollStrategy.js#L249). The ScrollStrategy kind returns this.scrollNode.scrollTop which is not the correct value if the scroller is in overscroll, since the TouchScrollStrategy uses a css transform to achieve negative scrollTop values. Simply returning this.scrollTop would solve the problem but I'm sure there is a reason for the current implementation.
I realize this is a corner case but I need this resolved. In case you're curious what I need it for: I am implementing a mixin for the Scroller kind that enables pull-to-refresh functionality and this requires setting the topBoundary of the scroll math to values other than 0. This means that the scroller can come to rest at a negative scrollTop value. In this case, calling getScrollTop will return an incorrect value - 0 - for the reasons described above.
So, long story short: Can anyone think of a reason why the line
return this.isScrolling() ? this.scrollTop : sup.apply(this, arguments);
can not be replaced with
Martin