Closed
Bug 1478304
Opened 6 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•6 years ago
|
||
WFM with webrender, which means that this is likely a graphics bug instead.
Component: CSS Parsing and Computation → Graphics
Comment 3•6 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
•