enyojs/enyo — pull request #894 by graynorton (2014-10-21 09:33:16+00:00)
Title: ENYO-349: Fixes issues with TranslateScrollStrategy

TranslateScrollStrategy was not working properly when the
'translateOptimized' option was disabled. In this case, the
strategy uses CSS translation during scrolling, but removes the
translation and sets 'scrollTop' when the scroller stops. There
are several methods in the strategy that need to behave differently
depending on whether translation is currently applied, but before
this fix these methods were sometimes taking the wrong code path
because we weren't explicitly keeping track of whether a
translation was currently applied and the logic we used instead
was wrong in certain cases -- in particular when starting a new
drag or flick before the previous one completed.

In testing this fix, I also came across an issue when using
enyo.TouchScrollStrategy or any of its subkinds with enyo.DataList.
In certain cases, when you scrolled continuously from the top of a
list to the bottom, the scroll boundaries and thumb would become
inaccurate by the time you reached the bottom of the list (because
DataList progressively refines its calculation of the list's size
as it pages). To fix this, I added 'remeasure' methods to Scroller
and TouchScrollStrategy to manually trigger remeasurement, and then
used this feature in VerticalDelegate to force the Scroller to
remeasure whenever DataList refines its list size calculation.

Enyo-DCO-1.1-Signed-Off-By: Gray Norton (gray.norton@lge.com)