Subdocument scrolling is broken on any page with touch events

VERIFIED FIXED in Firefox 15

Status

()

Firefox for Android
Graphics, Panning and Zooming
VERIFIED FIXED
5 years ago
10 months ago

People

(Reporter: mcomella, Assigned: kats)

Tracking

(Blocks: 1 bug, {regression})

14 Branch
Firefox 16
ARM
Android
regression
Points:
---

Firefox Tracking Flags

(firefox14- wontfix, firefox15+ fixed, firefox16 verified)

Details

Attachments

(3 attachments)

Created attachment 639929 [details]
Unscrollable dropdown (Firefox)

1) Open Firefox.
2) Open the URL bar and go to news.google.com.
2a) If you are served the mobile site, scroll to the bottom and select "Classic" to get the desktop site.
3) Select the "U.S. edition" dropdown under the search bar (the dropdown text might vary based upon your location).
4) Attempt to scroll the dropdown.

Expected: The dropdown scrolls.
Actual: The dropdown is unscrollable and the entire page moves instead.

Both dropdowns on the page do not work.

The content appears to be div based, using custom css - a "goog-menu".

This is problematic on tablet devices which are served the desktop site by default.

Stock browser and Chrome are also unable to scroll. Chrome (phone) displays a improperly placed scrollbar but does not scroll. Tablet versions of both browsers expand the dropdown to be visible all at once.
Created attachment 639930 [details]
Expanded dropdown (Stock browser - Tablet)
Blocks: 668288
Kats/Matt, thoughts?
Component: General → Graphics, Panning and Zooming
(In reply to Michael Comella (:mcomella) from comment #0)
> Stock browser and Chrome are also unable to scroll. Chrome (phone) displays
> a improperly placed scrollbar but does not scroll.

On a Galaxy Nexus with ICS it works in both the stock browser and Chrome, for me. The stock browser glitches while scrolling it but it's generally usable. I got it to scroll the first time I loaded it in nightly, but it hasn't worked since then, which is odd. I'll debug it to see what's going on.
Assignee: nobody → bugmail.mozilla
It looks like this happens on any subdocument scrolling when the page has touch listeners registered. The code from PanZoomController.onTouchStart gets run after the Panning:Override message comes in from browser.js. One of the first things PanZoomController.onTouchStart does is call mSubscroller.cancel() which cancels the panning override behaviour, which aborts subdocument scrolling.
status-firefox13: affected → ---
Version: Firefox 13 → Firefox 14
Likely a regression from bug 744518 which made the browser.js Panning:Override code run earlier (before the PanZoomController.onTouchStart code).
Keywords: regression
Created attachment 640248 [details] [diff] [review]
Patch

We need to make sure we do subscroller.cancel() earlier on the touch event handling, so this code makes it happen before we even dispatch the event to gecko for processing.
Attachment #640248 - Flags: review?(wjohnston)
Duplicate of this bug: 771750
tracking-fennec: --- → ?
Summary: Google News (desktop site) custom dropdowns ("goog-menu" divs) are unscrollable → Subdocument scrolling is broken on any page with touch events
Attachment #640248 - Flags: review?(wjohnston) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/5990b7ced37d
status-firefox16: affected → fixed
Target Milestone: --- → Firefox 16
https://hg.mozilla.org/mozilla-central/rev/5990b7ced37d
Status: NEW → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
Would like to see this go into 14 and 15 as well, requesting tracking.
tracking-fennec: ? → ---
tracking-firefox14: --- → ?
tracking-firefox15: --- → ?
Actually I guess it won't into 14 unless we're doing another point release for that, which I don't think we are.

Updated

5 years ago
Duplicate of this bug: 772427

Updated

5 years ago
tracking-firefox15: ? → +
(In reply to Kartikaya Gupta (:kats) from comment #10)
> Would like to see this go into 14 and 15 as well, requesting tracking.

Is this a regression from 14.0? If bug 744518 is the culprit, it wouldn't appear so.
This issue was fixed on the latest Nightly build.
Closing bug as verified fixed on:

Firefox 16.0a1 (2012-07-11)
Device: Galaxy Nexus
OS: Android 4.0.4
Status: RESOLVED → VERIFIED
status-firefox16: fixed → verified
(In reply to Alex Keybl [:akeybl] from comment #13)
> Is this a regression from 14.0? If bug 744518 is the culprit, it wouldn't
> appear so.

I'm not sure what you mean by "regression from 14.0". This bug occurs in 14 (all released versions), 15, and 16. We didn't catch it before shipping but I think it's severe enough to uplift to any more releases we do on 14.
(In reply to Kartikaya Gupta (:kats) from comment #15)
> (In reply to Alex Keybl [:akeybl] from comment #13)
> > Is this a regression from 14.0? If bug 744518 is the culprit, it wouldn't
> > appear so.
> 
> I'm not sure what you mean by "regression from 14.0".

Is this bug present on 14.0, or has it regressed since? It sounds like it was present on 14.0. Given that, the fact that this hasn't been a major pain point for users, and we're past our last planned beta, I'm wontfixing for FF14.
status-firefox14: affected → wontfix
tracking-firefox14: ? → -
Yeah, makes sense.
Comment on attachment 640248 [details] [diff] [review]
Patch

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 744518
User impact if declined: panning subdocuments (iframes, overflow:scroll, etc) on pages which have touch event listeners doesn't work
Testing completed (on m-c, etc.): verified on m-c
Risk to taking this patch (and alternatives if risky): mobile-only. i'd say low risk but this code is fairly brittle and hard to get right.
String or UUID changes made by this patch: none
Attachment #640248 - Flags: approval-mozilla-aurora?

Updated

5 years ago
Attachment #640248 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
https://hg.mozilla.org/releases/mozilla-aurora/rev/32af216468ee
status-firefox15: affected → fixed
Duplicate of this bug: 773696
Duplicate of this bug: 773696
https://hg.mozilla.org/mozilla-central/rev/fd673fa4d1d7
Apparently I'm dsylexic and landed the above patch with the wrong bug number. fd673fa4d1d7 actually belongs to bug 771575, not this bug.
Duplicate of this bug: 782055
You need to log in before you can comment on or make changes to this bug.