Closed Bug 1486695 Opened 6 years ago Closed 6 years ago

Scrolling not working in an iframe on Android.

Categories

(Core :: Layout: Scrolling and Overflow, defect, P3)

63 Branch
ARM
Android
defect

Tracking

()

VERIFIED FIXED
mozilla64
Tracking Status
firefox63 --- verified
firefox64 --- verified

People

(Reporter: karlcow, Assigned: botond)

References

()

Details

(Whiteboard: [webcompat])

Attachments

(1 file)

This is a spin-off of https://webcompat.com/issues/18316



This is a test case created by Daniel Holbert
https://fiddle.jshell.net/g0Ljc9f4/show/

And the following comment
https://webcompat.com/issues/18316#issuecomment-414862903
==========================
Here's a reduced testcase, with a skinnier iframe to make the "trapping" more obvious: https://jsfiddle.net/g0Ljc9f4/

Here's a version you can load on your phone (without most of the jsfiddle ui):
https://fiddle.jshell.net/g0Ljc9f4/show/

STR, from that testcase:
STEP 1. Try tapping to the right of the purple box, and scrolling up and down.
STEP 2. Try tapping inside and scrolling up and down.
STEP 3. Try tapping to the right again and scrolling up and down. Does it still work? Can you scroll to see the bottom purple border?

In Firefox on Android, I'm unable to scroll the outer scrolling context in step 3 -- after I've tapped inside the iframe, that's the only piece that Firefox will let me scroll.

==========================
Flags: needinfo?(botond)
Thanks for the reduced testcase!

This is a very simple page for us to be getting wrong... will investigate.
Assignee: nobody → botond
Flags: needinfo?(botond)
Looking like an issue in the scroll frame activation code during display list building / FrameLayerBuilder.
Component: Panning and Zooming → Layout: Scrolling and Overflow
And the difference in behaviour between Fennec and RDM is probably due to containerful vs. containerless scrolling.
Indeed, I can reproduce the problem on desktop (no RDM required even) if I flip layout.scroll.root-frame-containers.
We were mistakenly using it for subframe RSF's as well.
This patch is causing layout/reftests/async-scrolling/fixed-pos-scrolled-clip-4.html to fail on Android.
Comment on attachment 9011121 [details]
Bug 1486695 - Only set nsDisplayListBuilder::mActiveScrolledRootForRootScrollframe for the RCD-RSF. r?mstange

Markus Stange [:mstange] has approved the revision.
Attachment #9011121 - Flags: review+
Attachment #9011121 - Attachment description: Bug 1486695 - Only use the SetActiveScrolledRootForRootScrollframe() workaround for the RCD-RSF. r?mstange → Bug 1486695 - Only set nsDisplayListBuilder::mActiveScrolledRootForRootScrollframe for the RCD-RSF. r?mstange
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/fa1831cceeae
Only set nsDisplayListBuilder::mActiveScrolledRootForRootScrollframe for the RCD-RSF. r=mstange
https://hg.mozilla.org/mozilla-central/rev/fa1831cceeae
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Comment on attachment 9011121 [details]
Bug 1486695 - Only set nsDisplayListBuilder::mActiveScrolledRootForRootScrollframe for the RCD-RSF. r?mstange

Approval Request Comment
[Feature/Bug causing the regression]:
  Likely bug 1298218

[User impact if declined]:
  On pages with a certain structure (iframe inside 
  scrollable <div>), scrolling the iframe results in
  no longer being able to scroll the <div>.

[Is this code covered by automated tests?]:
  This particular scenario isn't, but test coverage of
  the code being touched is fairly good (e.g. several
  previous attempts at fixing this bug that were misguided
  were caught by test failures).

[Has the fix been verified in Nightly?]:
  Yes, by me.

[Needs manual test from QE? If yes, steps to reproduce]: 
  No.

[List of other uplifts needed for the feature/fix]:
  None.

[Is the change risky?]:
  Low risk.

[Why is the change risky/not risky?]:
  Small, targeted, and (by now) well-understood change

[String changes made/needed]:
  None
Attachment #9011121 - Flags: approval-mozilla-beta?
Comment on attachment 9011121 [details]
Bug 1486695 - Only set nsDisplayListBuilder::mActiveScrolledRootForRootScrollframe for the RCD-RSF. r?mstange

Targeted fix, uplift accepted for 63 beta 11, thanks.
Attachment #9011121 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
I have also verified this fix.
Status: RESOLVED → VERIFIED
Hardware: Unspecified → ARM
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: