Closed Bug 1485834 Opened Last year Closed Last year

Zooming doesn't work on Android

Categories

(Core :: Graphics: WebRender, enhancement, P3)

63 Branch
enhancement

Tracking

()

RESOLVED FIXED
mozilla64
Tracking Status
firefox63 --- disabled
firefox64 --- fixed

People

(Reporter: jrmuizel, Assigned: kats)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

Trying to zoom into the page does nothing
Blocks: wr-android
This is presumably caused by disabing containerful scrolling with layout.scroll.root-frame-containers and would be fixed by bug 1479757.
Depends on: 1479757
Priority: -- → P3
We're also not sending the zoom to WR, just the scroll, at https://searchfox.org/mozilla-central/rev/55da592d85c2baf8d8818010c41d9738c97013d2/gfx/layers/apz/src/APZCTreeManager.cpp#618

Sending the zoom over might fix this regardless of containerful scrolling.
I'll look at this. We should fix it as part of "standing up WR on Android" (which I'm approximating to "allow users to enable WR on GeckoView")
Assignee: nobody → kats
Blocks: 1453367
No longer blocks: wr-android
Try push shows an assertion failure in ToScaleFactor() which seems plausibly caused by my patches. But kind of unexpected. I'll investigate.
We need to correctly populate the cumulative resolution field in the
ScrollMetadata in order to support zooming. Without this, the cumulative
resolution doesn't include the presShell resolution, and that results in
APZ getting into an inconsistent state.

Currently, the cumulative resolution is populated from the
ContainerLayerParameters object's scale, but in the case of WebRender,
we call ComputeScrollMetadata with an empty ContainerLayerParameters
since don't actually do layer building or rasterization in Gecko.
This patch makes this more explicit by changing the argument to a
Maybe<ContainerLayerParameters> and passing Nothing() from the WebRender
call sites.

In this scenario, we just use the cumulative presShell resolution as
the cumulative resolution, which should be correct for WebRender as
we won't have an "extra" CSS-derived resolution applied on the Gecko
side.

Depends on D9120
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/021f6173bd2c
Expose the zooming API from WebRender. r=Gankro
https://hg.mozilla.org/integration/autoland/rev/15786d06ad12
Sample APZ zoom values for webrender. r=botond
https://hg.mozilla.org/integration/autoland/rev/b466e005ccbb
Allow recomputing the cumulative resolution in ComputeScrollMetadata. r=botond
You need to log in before you can comment on or make changes to this bug.