Closed Bug 1638655 Opened 4 years ago Closed 4 years ago

Perfherder test-suite drop down is broken on mobile

Categories

(Core :: Panning and Zooming, defect, P2)

defect

Tracking

()

RESOLVED FIXED
mozilla78
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:

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

Thanks for the report, I can reproduce.

Assignee: nobody → botond
Severity: -- → S2
Priority: -- → P2

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.

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
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla78
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: