Perfherder test-suite drop down is broken on mobile
Categories
(Core :: Panning and Zooming, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox76 | --- | unaffected |
firefox77 | --- | unaffected |
firefox78 | --- | fixed |
People
(Reporter: tcampbell, Assigned: botond)
References
(Regression)
Details
(Keywords: regression)
Attachments
(1 file)
On Fenix/GeckoViewExample on mobile.
STR:
- Visit https://treeherder.mozilla.org/perf.html#/comparechooser?newProject=mozilla-central&newRevision=5f7897d4523021ee64a2d75eb9ace78bdd8d6133
- Pinch-zoom (I do roughly 2x)
- Tap
talos
to get test-suite drop down - Tap
awsy
from the list
Expected:
- Selection changes to
awsy
Actual:
- Selection unchanged, and drop-down is dismissed.
I used geckoview-example ARM64 PGO builds from mozilla-central to confirm.
Last working: https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=385f49adaf00d02fc8e04da1e0031e3477182d67
Regressed by: https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=1fa1d4f4b0e247804927d474cfecdf6c6f185203
Still broken at: https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&revision=5f7897d4523021ee64a2d75eb9ace78bdd8d6133
Assignee | ||
Comment 1•4 years ago
|
||
Thanks for the report, I can reproduce.
Assignee | ||
Comment 3•4 years ago
|
||
This is an issue with doing main-thread hit testing in layout coordinates (nsDisplayListBuilder::IsRelativeToLayoutViewport() == true
).
In such scenarios, the point being hit tested is in layout coordinates, and we do not build an async zoom container or ever apply a visual-to-layout transform to the point. However, we clip the RCD-RSF's scrolled content to a "composition bounds clip".
The intent of this clip is to restrict the area being hit-tested to the visual viewport (composition bounds). Since we're hit-testing in layout coordinates, this should therefore be the visual viewport in layout coordinates.
The rect we're currently using, with the offset from mScrollPort
and the size being CalculateCompositionSizeForFrame()
, is essentially the visual viewport in visual coordinates. To get it to be in layout coordinates, we divide it by the resolution, but we need to also translate it by the offset of the visual viewport relative to the layout viewport.
Assignee | ||
Comment 4•4 years ago
|
||
Previously, we were only performing part of this transform
(scaling by the resolution) and not the other part
(translating by the offset between the two viewports).
Pushed by bballo@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/316df381b64b When hit testing in layout coordinates, transform the composition bounds clip to layout coordinates. r=tnikkel
Updated•4 years ago
|
Comment 7•4 years ago
|
||
bugherder |
Updated•4 years ago
|
Description
•