Closed
Bug 1479757
Opened 6 years ago
Closed 6 years ago
Turn on containerless scrolling for WR in GeckoView
Categories
(Core :: Graphics: WebRender, enhancement, P3)
Tracking
()
RESOLVED
FIXED
mozilla64
Tracking | Status | |
---|---|---|
firefox64 | --- | fixed |
People
(Reporter: kats, Assigned: kats)
References
Details
(Whiteboard: [gfx-noted])
Attachments
(1 file)
Android currently uses containerful scrolling, and that means that the call at [1] can return a Nothing() for the root scrollframe, because mIsScrollableLayerInRootContainer will be true at [2]. This causes an assertion failure/crash in ClipManager when enabling WR on android.
We either need to handle this scenario more gracefully, or get bug 1459312 done so that Android switches to containerless scrolling. Note that we might need the graceful-handling scenario anyway to fix bug 1471671 so it's probably worth just doing that as a short-term solution anyway.
[1] https://searchfox.org/mozilla-central/rev/033d45ca70ff32acf04286244644d19308c359d5/gfx/layers/wr/ClipManager.cpp#265
[2] https://searchfox.org/mozilla-central/rev/033d45ca70ff32acf04286244644d19308c359d5/layout/generic/nsGfxScrollFrame.cpp#3910
Assignee | ||
Updated•6 years ago
|
Assignee: nobody → bugmail
Updated•6 years ago
|
Priority: -- → P3
Updated•6 years ago
|
Blocks: stage-wr-next
Assignee | ||
Comment 1•6 years ago
|
||
I think bug 1471671 is probably unrelated, and so I'll deal with that separately. For this bug, I think we should force containerless scrolling on in the GeckoView+WR configuration. For one thing, when WR is enabled, there are no container layers (or layers of any kind) so the containerful vs containerless distinction makes a lot less difference. We'll need to hook up zooming specifically for the WR codepath anyway, so we might as well do it in a "containerless" way.
Assignee | ||
Updated•6 years ago
|
Summary: Make WR work with containerful scrolling → Turn on containerless scrolling for WR in GeckoView
Assignee | ||
Comment 2•6 years ago
|
||
Assignee | ||
Comment 3•6 years ago
|
||
Assignee | ||
Comment 4•6 years ago
|
||
This changes the containerful scrolling pref to be an override pref
such that it is:
- always false on desktop (i.e. always use containerless there)
- always true in Fennec (i.e. never use containerless there)
- true in GeckoView if WebRender is disabled (i.e. only use
containerless with WebRender).
The first two cases are the same as before; the last case is new.
Because we don't create layers with WR, the containerless vs
containerful distinction doesn't make much sense there, and we need to
implement a bunch of zooming glue in either case. So it makes sense to
go with the "way of the future" and keep it containerless.
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/835e3524a6ca
Switch to containerless scrolling for GeckoView+WR. r=botond
Comment 6•6 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox64:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Updated•6 years ago
|
Depends on: containerless-scrolling
You need to log in
before you can comment on or make changes to this bug.
Description
•