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.
Summary: Calling history.pushState() or history.replaceState() during scroll disrupts scrolling on FF for Android → Calling history.pushState() or history.replaceState() disrupts scrolling on FF for Android
Component: Untriaged → General
OS: Unspecified → Android
Product: Firefox → Firefox for Android
Version: 41 Branch → Firefox 41
Confirmed behavior on Firefox 45 using a Nexus 5x.
Status: UNCONFIRMED → NEW
tracking-fennec: --- → ?
Ever confirmed: true
Tested this with the C++ APZ and it appears to be fixed by that. Marking dependent on apz-fennec.
Depends on: 776030
riding with APZ
Update: This bug occurs whenever the URL #hash changes, not only in history.pushState(), but also on window.location.hash = "#foo";
Summary: Calling history.pushState() or history.replaceState() disrupts scrolling on FF for Android → Changing the URL #hash in JS (using location.hash or history.pushState()) disrupts scrolling on FF for Android
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.
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 48
You need to log in before you can comment on or make changes to this bug.