Closed Bug 605127 Opened 14 years ago Closed 14 years ago

Autoscroll stops unintentionally while page is scrolling

Categories

(Toolkit :: XUL Widgets, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla2.0
Tracking Status
blocking2.0 --- final+

People

(Reporter: alice0775, Assigned: smaug)

References

()

Details

(Keywords: regression)

Attachments

(3 files)

Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12pre) 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
blocking2.0: --- → ?
Target Milestone: --- → Firefox 4.0
In loacl build, the following chagesets causes the problem. 6ea9b217883a Blake Kaplan — Bug 546573 - EnsureInnerWindow from wrappers. r=jst sr=bzbarsky
Assignee: nobody → general
Component: General → JavaScript Engine
Product: Firefox → Core
QA Contact: general → general
Target Milestone: Firefox 4.0 → mozilla2.0
Keywords: regression
Blocks: 546573
Assignee: general → nobody
Component: JavaScript Engine → XPConnect
QA Contact: general → xpconnect
Blake, this was caused by your commit, assuming the blame in the previous comment is correct.
Assignee: nobody → mrbkap
blocking2.0: ? → final+
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.
Assignee: mrbkap → Olli.Pettay
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.
Attached file testcase (deleted) —
Assignee: Olli.Pettay → nobody
Component: XPConnect → XUL Widgets
Product: Core → Toolkit
QA Contact: xpconnect → xul.widgets
Attached file a bit more complex testcase (deleted) —
Attached patch patch (deleted) — Splinter Review
I'm not sure who should review this.
Assignee: nobody → Olli.Pettay
Attachment #500004 - Flags: review?(neil)
Status: NEW → ASSIGNED
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++.
Attachment #500004 - Flags: review?(neil) → review+
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
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: