Hit-testing over the overscroll gutter of a subframe is incorrect (non-WebRender edition)
Categories
(Core :: Panning and Zooming, defect, P2)
Tracking
()
People
(Reporter: botond, Assigned: botond)
References
(Blocks 1 open bug)
Details
Attachments
(5 files)
In bug 1686146, I am fixing hit-testing over the overscroll gutter of the root scroll frame.
Hit-testing over the overscroll gutter of subframes requires additional fixes (likely separate ones for WR and non-WR), which I'm going to handle in this bug.
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 1•4 years ago
|
||
Assignee | ||
Comment 2•4 years ago
|
||
Attached is a test exercising the subframe case. It does not pass yet.
Assignee | ||
Comment 3•4 years ago
|
||
As mentioned, this is going to require separate fixes for WR and non-WR, with the WR fix being more involved (requiring changes to Rust code and such).
I'm going to fix the non-WR case in this bug, and do WR in a follow-up.
Assignee | ||
Comment 4•4 years ago
|
||
(In reply to Botond Ballo [:botond] from comment #3)
I'm going to fix the non-WR case in this bug, and do WR in a follow-up.
The WR follow-up is bug 1701831.
Updated•4 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
This patch makes two improvements:
-
The function no longer assumes that the point, disregarding the
overscroll transform, is inside the composition bounds. It now
checks for this as well. -
A ParentLayerPoint overloaded is added, such that if we already
have the hit-test point available in APZC coordinates, we don't
have to convert it again.
Depends on D109986
Assignee | ||
Comment 6•4 years ago
|
||
This is the portion that applies to fixed layers as well, and we do want
the overscroll transform to apply to fixed layers.
Depends on D110182
Assignee | ||
Comment 7•4 years ago
|
||
If the function returns a transform that includes an overscroll transform,
the out-parameter is populated with the APZC which is the source of the overscroll.
This is mostly for convenience, to avoid the caller having to duplicate
the logic for this (which is somewhat nontrivial as the overscroll transform
is part of the visual component of the async transform, which for the root
content APZC is lifted from the APZC's node to the async zoom container node).
Depends on D110183
Assignee | ||
Comment 8•4 years ago
|
||
Depends on D110184
Comment 10•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/9f742dfcf070
https://hg.mozilla.org/mozilla-central/rev/a9a93f421f57
https://hg.mozilla.org/mozilla-central/rev/b935afc0bbd0
https://hg.mozilla.org/mozilla-central/rev/4b9bae5ba565
https://hg.mozilla.org/mozilla-central/rev/1572f2bd328f
Comment 11•4 years ago
|
||
Verified fixed in beta 89.0b2 (20210420191345) and Nightly 90.0a1 (2021-04-20) (20210420213949) on MacOS 11.2.3 and M1 MacOS Big Sur 11.0.1. This was tested with webrender on/off.
Description
•