Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:126.96.36.199pre) Gecko/20101016 Firefox/3.6.12pre ID:20101016044945 Autoscroll stops unintentionally while page is scrolling. This happens on Linux build too. http://hg.mozilla.org/mozilla-central/rev/cfd18201f49b Mozilla/5.0 (X11; Linux i686; rv:2.0b8pre) Gecko/20101018 Firefox/4.0b8pre ID:20101018030619 However, This does not happen on 3.6.10 Reproducible: Always Steps to Reproduce: 1. Start Minefield with new profile 2. Open URL ( http://www.msnbc.msn.com/id/39715022/ns/world_news-americas/ ) 3. Wait till throbber of the tab stops 4. Start Autoscroll by middle button. and scroll to bottom Actual Results: Autoscroll stops unintentionally. And autoscroll marker disappears. Expected Results: Autoscroll should not stop, Regression window for m-c build: Works: http://hg.mozilla.org/mozilla-central/rev/5aeec895393f Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b4pre) Gecko/20100806 Minefield/4.0b4pre ID:20100806224818 Fails: http://hg.mozilla.org/mozilla-central/rev/ddedaa587215 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0b4pre) Gecko/20100806 Minefield/4.0b4pre ID:20100806235707 Pushlog: http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=5aeec895393f&tochange=ddedaa587215 Regression window for TM build: Works: http://hg.mozilla.org/tracemonkey/rev/785488c82d41 Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b3pre) Gecko/20100805 Minefield/4.0b3pre ID:20100805054905 Fails: http://hg.mozilla.org/tracemonkey/rev/c15ed7c71e27 Mozilla/5.0 (Windows; Windows NT 6.1; WOW64; rv:2.0b3pre) Gecko/20100806 Minefield/4.0b3pre ID:20100806043626 Pushlog: http://hg.mozilla.org/tracemonkey/pushloghtml?fromchange=785488c82d41&tochange=c15ed7c71e27
In loacl build, the following chagesets causes the problem. 6ea9b217883a Blake Kaplan — Bug 546573 - EnsureInnerWindow from wrappers. r=jst sr=bzbarsky
7 years ago
Blake, this was caused by your commit, assuming the blame in the previous comment is correct.
I can't reproduce on Linux.
Olli, can you help out here? mrbkap was able to reproduce this on Linux but doesn't have time to debug any time soon. We know this started with the compartments landing, but we need to figure out what goes wrong, and maybe at that point mrbkap can help fix it if it's not something someone else can do.
OK, if I read and debug this correctly, the problem is that browser.xml handles pagehide event and it doesn't check the target of the event. It just always hides the autoscroller when such event happens. So bug 546573 seems to have changed the timing of some session history operations, but in practice this bug does exist on branches too.
Created attachment 500004 [details] [diff] [review] patch I'm not sure who should review this.
Comment on attachment 500004 [details] [diff] [review] patch >+ var doc = this._scrollable.ownerDocument ? >+ this._scrollable.ownerDocument : this._scrollable.document; I'd probably prefer it if you made an instanceof Window test to be consistent with autoScrollLoop. Or you could use || which works like Perl, not C++.
comment 9 ++ I thought I edited the style guide to recommend writing a || b not a ? a : b, and a && b not a ? b : a. If I didn't or that edit was lost, feel free to fix. /be