When using JS scrolling, prevents the web view from automatically
scrolling inputs into view when they are either scrolled under the
keyboard or already below the keyboard and typed into.
This update allows `<ion-refresher>` to work with native scrolling. Native scrolling can be enabled in the state deffinition, through the `$ionicConfigProvider` like `$ionicConfig.scrolling.jsScrolling(false);` or in the controller directly. It should function exactly the same as with JS scrolling enabled.
This is a merge of the wip-scrolling branch.
On line 1188 and 1094, only make updates to the content element’s
transform style when there are actual DOM changes that need to be made,
instead of accessing the DOM just to set the same value. Also many
style() updates.
By default the scroll bar is being created for each view, then
immediately it adds the .scroll-bar-fade-out class. On every transition
you sometimes saw the scroll bar appear then fade away quickly. Sure
that was annoying and has been fixed to prevent that, but the real
issue is that on every view transition, the scroll bar’s opacity
transition fired off a transitionend event, which bubbled up to the
view and messed with Angular’s $animate. If timed out correctly, at the
time the scroll bar’s transitionend event bubbled up, and an element
was actively leaving the view, it would confuse $animate and cause the
leave animation to abruptly end, which caused an ugly flicker.
When a state change happens, ensure the keyboard is hidden. When a
keyboard is hidden, ensure all pending timers our cleared. When
resetting scrollView, ensure it’s only doing it when it has to.
For testing: #1670#2192
When a list was within a side menu it could scroll up and down, but if
the user happened to drag a little bit on the X axis, then it would try
to open the side menu and the Y scroll of the content stopped. Closes
#1541
Safari and Chrome have two different opinions of what `scrollHeight`
means. It appears Safari is not taking into account that the parent
element can have padding applied which changes the scrollHeight. Closes
#1411