slow scroll leaves the image in a fixed position until its heights has passed
Categories
(Core :: Panning and Zooming, defect, P2)
Tracking
()
People
(Reporter: karlcow, Assigned: tnikkel)
References
(Regression, )
Details
(Keywords: regression)
Attachments
(2 files)
- Go to https://performive.com/managed-cloud/private-cloud
- Slow scroll
Actual:
some images stay in a fixed position until they slide in place after a bit.
Expected:
Images scroll with text.
This is not happening on Safari or Chrome.
I wonder if it's related or a duplicate of Bug 1492155
See the analysis on
https://github.com/webcompat/web-bugs/issues/83776
Comment 1•3 years ago
|
||
Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=a518405abe4c93e6d8df622f59d5f01c4766e1d5&tochange=a09e4ce9ebba8fa4a29a4833560c8ee807018c03
Updated•3 years ago
|
Assignee | ||
Comment 2•3 years ago
|
||
Regression range with allow_zooming prefed on
Probably either bug 1648500 or bug 1647034
Assignee | ||
Comment 4•3 years ago
|
||
Assignee | ||
Comment 5•3 years ago
|
||
(In reply to Timothy Nikkel (:tnikkel) from comment #2)
Regression range with allow_zooming prefed on
Probably either bug 1648500 or bug 1647034
(In reply to Timothy Nikkel (:tnikkel) from comment #3)
Guessing
https://hg.mozilla.org/mozilla-central/rev/9505095bc965807c39cf71f27c3eba4a9e6fa9b2
These guesses were wrong. It's actually https://hg.mozilla.org/mozilla-central/rev/96cd358e3eedc981b0bf4e00294ed73ce099d1c0 (Bug 1649270 - Add Navi12, Navi14, Arcturus and Renoir to AMD WebRender rollout. r=aosmond) which enabled webrender on my machine.
With webrender and allow_zooming both preffed on the testcase fails as far back as 2018-06-01 when webrender was still being stood up, not sure a proper regression range is do-able or useful.
Assignee | ||
Updated•3 years ago
|
Assignee | ||
Comment 6•3 years ago
|
||
Whether or not we build the async zoom display item is what triggers this, not sure why though.
Updated•3 years ago
|
Assignee | ||
Comment 7•3 years ago
|
||
The wr animation prop that we create here
in nsDisplayOwnLayer::CreateWebRenderCommands is what causes this.
Oddly, if I make all references to that zoom animation id assume the id is not set in APZCTreeManager::SampleForWebRender then the problem still exists.
Assignee | ||
Comment 8•3 years ago
|
||
And the values we set in APZCTreeManager::SampleForWebRender seem to be nice and smoothly increasing.
Updated•3 years ago
|
Assignee | ||
Comment 9•3 years ago
|
||
It seems as though the WebRenderCommandBuilder/ClipManager code is giving it the wrong spatial id (which is linked to the scroll id), so webrender doesn't know that it scrolls when we scroll the root scroll frame, and only updates it when it gets a new display list from content.
Updated•3 years ago
|
Assignee | ||
Updated•3 years ago
|
Reporter | ||
Updated•3 years ago
|
Reporter | ||
Updated•3 years ago
|
Updated•3 years ago
|
Updated•3 years ago
|
Assignee | ||
Comment 10•3 years ago
|
||
When we call WebRenderCommandBuilder::CreateWebRenderCommandsFromDisplayList one of the first things it does is call mClipManager.BeginList(aSc) which checks the StackingContextHelper to see if it needs to push an override for the scrollid of the current ASR. The problem is that sometimes we don't create a new StackingContextHelper, so we are pushing an override for a different ASR but for the same StackingContextHelper we've already pushed an override for.
In this case nsDisplayMasksAndClipPaths::CreateWebRenderCommands sometimes creates a StackingContextHelper, and sometimes it does not: https://searchfox.org/mozilla-central/rev/1e7f7235cf822e79cd79ba9e200329ede3d37925/layout/painting/nsDisplayList.cpp#8117 when it does not create a StackingContextHelper (in this case because the clip-path was not found) we experience the bug.
I audited other callers of WebRenderCommandBuilder::CreateWebRenderCommandsFromDisplayList and fixed the ones that also do not create a StackingContextHelper.
Updated•3 years ago
|
Comment 11•3 years ago
|
||
Comment 12•3 years ago
|
||
bugherder |
Updated•3 years ago
|
Updated•3 years ago
|
Description
•