Created attachment 8682635 [details] bug.html User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0 Build ID: 20151016093648 Firefox for Android Steps to reproduce: Call history.pushState() or history.replaceState() during scrolling. Open the attached html file on mobile Firefox to see the problem (the problematic code is at the bottom). Actual results: Scrolling completely stops and the page sometimes visibly "jumps" a few pixels Expected results: Nothing. Neither should the scrolling come to a full stop, nor should the whole page jump visually when a history entry is pushed or replaced.
Confirmed behavior on Firefox 45 using a Nexus 5x.
Tested this with the C++ APZ and it appears to be fixed by that. Marking dependent on apz-fennec.
riding with APZ
Update: This bug occurs whenever the URL #hash changes, not only in history.pushState(), but also on window.location.hash = "#foo";
This should be fixed in the latest nightly as we have turned on the C++ APZ code. I'm changing the dependencies here so we can mark this fixed once we decide to ship the C++ APZ on Fennec.
APZ has shipped in Firefox 48, so closing this out.