Closed Bug 1523329 Opened 8 months ago Closed 8 months ago

Non-scrollable pages can't be scrolled after zooming in

Categories

(Core :: Web Painting, defect, P2)

66 Branch
All
Android
defect

Tracking

()

VERIFIED FIXED
mozilla67
Tracking Status
firefox-esr60 --- unaffected
firefox65 --- unaffected
firefox66 --- verified
firefox67 --- verified

People

(Reporter: csheany, Assigned: miko)

References

Details

(Keywords: regression)

Attachments

(2 files)

User Agent: Mozilla/5.0 (Android 7.1.1; Tablet; rv:66.0) Gecko/66.0 Firefox/66.0

Steps to reproduce:

  1. Open miketaylr.com/posts/2013/10/user-scalable-more-like-loser-scalable-amirite.html

Actual results:

The page can't be scrolled

Expected results:

The page can be scrolled

It makes it easier to test things if you make links be actually clickable:

https://miketaylr.com/posts/2013/10/user-scalable-more-like-loser-scalable-amirite.html

I can scroll this page fine on a phone, though I note that it's a fairly short page. Likely on a tablet the whole page fits on one screen. Why are you expecting it to be scrollable? Can you include a screenshot?

Thank you for your response.

The page does fit on one screen on a tablet. I wonder if that is a factor.

I expect it to be scrollable after zooming in.

(In reply to csheany from comment #3)

I expect it to be scrollable after zooming in.

Ah, ok. I agree, the page should be scrollable after zooming in, even if it fits onto one page at the initial zoom. It is for me.

Can you think of any reason it wouldn't be given the fact it behaves otherwise?

I was able to get a hold of an Android tablet, and I can reproduce the problem on the tablet.

Component: General → Panning and Zooming
Product: Firefox for Android → Core
Version: Firefox 66 → 66 Branch
Assignee: nobody → botond
Status: UNCONFIRMED → NEW
Ever confirmed: true
OS: Unspecified → Android
Hardware: Unspecified → All
Summary: Pages can't be scrolled → Non-scrollable pages can't be scrolled after zooming in

P2 for now since it seems kind of bad. I'm assuming this is a regression, we should find out which branches are affected. I don't have an Android tablet to repro with.

Priority: -- → P2

This is a Layout bug. The layer for the scrollable content has empty event regions, so hit testing falls back to the chrome APZC which doesn't have a scroll range.

Component: Panning and Zooming → Layout
Attached file Display list dump

Attached is a display list dump.

Note the absence of event regions on the layer for the scrollable content (0xb1314800), and the absence of any CompositorHitTestInfo items other than p=0xbacef010 (which presumably contributes to the hit region of the background ColorLayer).

Ouch, that bug should not have introduced any behavior changes. I'll investigate, thank you for the report!

Assignee: botond → mikokm
Status: NEW → ASSIGNED
Flags: needinfo?(mikokm)
Component: Layout → Web Painting
Pushed by mikokm@gmail.com:
https://hg.mozilla.org/integration/autoland/rev/e0ea8e062d9f
Create hit test info items in BuildDisplayListForSimpleChild() if the frame is an AGR r=mattwoodrow
Status: ASSIGNED → RESOLVED
Closed: 8 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla67

Please nominate this for Beta approval when you get a chance.

Flags: needinfo?(mikokm)

Comment on attachment 9040461 [details]
Bug 1523329 - Create hit test info items in BuildDisplayListForSimpleChild() if the frame is an AGR r=mattwoodrow

Beta/Release Uplift Approval Request

Feature/Bug causing the regression

Bug 1512244

User impact if declined

Sometimes pages cannot be scrolled on Android device.

Is this code covered by automated tests?

No

Has the fix been verified in Nightly?

Yes

Needs manual test from QE?

Yes

If yes, steps to reproduce

  1. Open miketaylr.com/posts/2013/10/user-scalable-more-like-loser-scalable-amirite.html on Android device
  2. Zoom in
  3. Try to scroll. The page should be scrollable.

List of other uplifts needed

None

Risk to taking this patch

Low

Why is the change risky/not risky? (and alternatives if risky)

The problem is easily understood, the patch simply changes one boolean from false to true.

String changes made/needed

Flags: needinfo?(mikokm)
Attachment #9040461 - Flags: approval-mozilla-beta?
Flags: qe-verify+
Whiteboard: [qa-triaged]

Verified as fixed on the latest Nightly, with Samsung Galaxy Tab S3 (Android 8).

Flags: qe-verify+

Comment on attachment 9040461 [details]
Bug 1523329 - Create hit test info items in BuildDisplayListForSimpleChild() if the frame is an AGR r=mattwoodrow

regression fix, verified in nightly, approved for 66.0b9

Attachment #9040461 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [qa-triaged]
Whiteboard: [qa-triaged]

Verified as fixed on 66.0 Build 3.
Device: Nexus 9(Android 7.1.1).

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triaged]
You need to log in before you can comment on or make changes to this bug.