Closed
Bug 1478304
Opened 7 years ago
Closed 6 years ago
Can't scroll when click/hover a sticky element in a parent with transform
Categories
(Core :: Panning and Zooming, defect, P3)
Tracking
()
RESOLVED
FIXED
mozilla64
People
(Reporter: bad__boss, Assigned: botond)
Details
(Whiteboard: [gfx-noted])
Attachments
(3 files)
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
Build ID: 20180724223402
Steps to reproduce:
Try to scroll(mouse wheel) when hovering or clicking a sticky element
scroll container
└ css:transform:- element
└ css:position:sticky element
Actual results:
Can't scroll
Expected results:
Can scroll
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0
Build ID: 20180726001822
I can reproduce the issue on Release 61.0.1, Beta 62.0b11 and latest Nightly 63.0a1(2018-07-26) on Windows 10 x64 and Mac OS X 10.12.
Status: UNCONFIRMED → NEW
status-firefox61:
--- → affected
status-firefox62:
--- → affected
status-firefox63:
--- → affected
Component: General → CSS Parsing and Computation
Ever confirmed: true
OS: Unspecified → All
Hardware: Unspecified → All
Comment 2•7 years ago
|
||
WFM with webrender, which means that this is likely a graphics bug instead.
Component: CSS Parsing and Computation → Graphics
Comment 3•7 years ago
|
||
Thanks for the testcase! This does seem like an APZ bug of some sort.
Component: Graphics → Panning and Zooming
Priority: -- → P3
Whiteboard: [gfx-noted]
Assignee | ||
Comment 4•6 years ago
|
||
What's happening here is:
* Layout code calls Layer::SetFixedPositionData() for both fixed
and sticky layers. This is necessary because at least some of
the fixed position data (the anchor and the sides) are used
by AsyncCompositionManager for both fixed and sticky layers.
* As a result, Layer::GetFixedPositionScrollContainerId() returns
non-NULL_SCROLL_ID for both fixed and sticky layers.
* When building the hit-testing tree, however, APZCTreeManager
interprets Layer::GetFixedPositionScrollContainerId() returning
non-NULL_SCROLL_ID as meaning the layer is fixed, and marks
the corresponding hit-testing node as fixed, which in turn
causes events that hit the node to be redirected to the
document's RSF.
Assignee: nobody → botond
Assignee | ||
Comment 5•6 years ago
|
||
Assignee | ||
Comment 6•6 years ago
|
||
Depends on D9327
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ebf726d7d48d
Ensure Layer::GetFixedPositionScrollContainerId() returns NULL_SCROLL_ID for layers that are not fixed. r=kats
https://hg.mozilla.org/integration/autoland/rev/4a875561b1ae
Add a mochitest. r=kats
Comment 8•6 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/ebf726d7d48d
https://hg.mozilla.org/mozilla-central/rev/4a875561b1ae
Status: NEW → RESOLVED
Closed: 6 years ago
status-firefox64:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Updated•6 years ago
|
Flags: in-testsuite+
You need to log in
before you can comment on or make changes to this bug.
Description
•