Pinch zoom is not working on parent process about: pages
Categories
(Core :: Panning and Zooming, defect, P2)
Tracking
()
People
(Reporter: gpalko, Unassigned)
References
(Blocks 2 open bugs)
Details
Affected versions
Nightly 79.0a1
Affected platforms
Devices with touchscreen or precision touchpad(tested on Lenovo yoga)
Preconditions
apz.allow_zooming = true
apz.windows.use_direct_manipulation = true
Steps to reproduce
1. Open about:support or any other about:page
2. Initiate pinch zooming from the touchscreen or the precision touchpad
Expected result
APZ zooming is performed
Actual Result
The page doesn't react to pinch gesture
Comment 1•4 years ago
|
||
I don't think this needs to block nightly, so I'm marking it as blocking release for now.
Comment 2•4 years ago
|
||
I'm guessing that about: pages are probably not content documents, thus they can't be root content documents and we only support zooming the root content document. Fenix does support zooming about:support, but about: pages might work differently there.
Updated•4 years ago
|
Updated•4 years ago
|
Comment 5•10 months ago
|
||
Updating the title to be more specific.
Fenix does support zooming about:support
Did this regress at some point? I'm not able to zoom about:support in Fenix.
Comment 6•7 months ago
|
||
(In reply to Gregory Pappas [:gregp] from comment #5)
Fenix does support zooming about:support
Did this regress at some point? I'm not able to zoom about:support in Fenix.
It looks that way. Bug 1890064 was filed about it recently and I just posted a regression range there.
Comment 7•7 months ago
•
|
||
I am going to leave comments what I found while I was working/investigating on bug 1890064.
- What preventing pinch-zooming on desktop is GetWidget in ZoomConstraintsClient specifically this code
- The function returns nullptr in the case where the top level content document lives in the parent process such as about:support
- The function needs to return the the browser window's nsIWidget in the case
- Just simply returning the browser window's nsIWidget will probably cause bug 1875274 on desktops
- To avoid bug 1875274, nsBaseWidget needs to keep multiple InitialZoomConstraints rather than the single one
- The UpdateZoomConstraints ipc call also needs to handle multiple ZoomConstraints
Comment 8•7 months ago
|
||
Instead of storing multiple zoom constraints on a widget, would it make sense to store the zoom constraints somewhere else, say the presshell?
Comment 9•7 months ago
|
||
It could be, but now there's no trigger to send each ZoomConstraints to APZ. The reason why we store a ZoomConstraints in a widget now is that when a presshell tries to send its ZoomConstraints to APZ via the widget, the APZ hasn't yet been instantiated, thus the widget holds the ZoomConstraints then send it after the APZ instantiation. If we store each ZoomConstraints in each presshell, we need to enumerate all such presshells when the APZ instantiation happens.
Description
•