Closed Bug 1461122 Opened 6 years ago Closed 6 years ago

Autoscrolling does not work on about:support

Categories

(Core :: Graphics: WebRender, defect, P1)

x86_64
All
defect

Tracking

()

VERIFIED FIXED
mozilla62
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox60 --- unaffected
firefox61 --- unaffected
firefox62 --- disabled

People

(Reporter: jan, Assigned: kats)

References

Details

(Keywords: nightly-community, regression)

Attachments

(4 files)

Attached video 2018-05-12_19-32-02.mp4
Debian Testing, KDE, Radeon RX480
Win10 1803, GeForce GTX 1060
2560x1440 (Dell U2515H)

Attached video: 
1. Middle click, moving my mouse down. Nothing happens. Left click.
2. Ctrl+T (Painting is stuck), Ctrl+T.

gfx.webrender.async-scene-build:0 does not help.

mozregression --good 2018-05-11 --bad 2018-05-12 --pref gfx.webrender.all:true general.autoScroll:true startup.homepage_welcome_url:'about:support'
> 6:08.77 INFO: Last good revision: 2083171b3ecbc178bc5eaebe629a28800635bd1b
> 6:08.77 INFO: First bad revision: 61f51684cc29e527504f1ec72824bf5b53fa1853
> 6:08.77 INFO: Pushlog:
> https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=2083171b3ecbc178bc5eaebe629a28800635bd1b&tochange=61f51684cc29e527504f1ec72824bf5b53fa1853

> 61f51684cc29	Kartikaya Gupta — Bug 1452390 - Implement paint-skipping support in WebRender. r=botond
> d8b7069bf6ca	Kartikaya Gupta — Bug 1452390 - Make WebRenderScrollData::HasMetadataFor work properly on the parent side. r=botond
Assignee: nobody → bugmail
So.. the call to DidComposite at [1], when called from the root WRBP, does nothing. Because that DidComposite function that's getting called is a no-op [2][3]. So when we send a series of empty transactions over with no WR commands but with scroll offset updates, the first one of that series will have sendDidComposite=true at [4], add an entry into mPendingTransactionIds, and not actually flush it to the content side. Because the content side believes the transaction is still pending it doesn't fire rAF, so the main-thread autoscroll loop at [5] doesn't loop.

It seems to me that calling DidComposite(LayersId, ...) on the root CompositorBridgeParent should work. Fixing that alone doesn't solve the problem fully for me though, still investigating.

[1] https://searchfox.org/mozilla-central/rev/a85db9e29eb3f022dbaf8b9a6390ecbacf51e7dd/gfx/layers/wr/WebRenderBridgeParent.cpp#761
[2] https://searchfox.org/mozilla-central/rev/a85db9e29eb3f022dbaf8b9a6390ecbacf51e7dd/gfx/layers/ipc/CompositorBridgeParent.h#581
[3] https://searchfox.org/mozilla-central/rev/a85db9e29eb3f022dbaf8b9a6390ecbacf51e7dd/gfx/layers/ipc/CompositorBridgeParent.h#141
[4] https://searchfox.org/mozilla-central/rev/a85db9e29eb3f022dbaf8b9a6390ecbacf51e7dd/gfx/layers/wr/WebRenderBridgeParent.cpp#754
[5] https://searchfox.org/mozilla-central/rev/a85db9e29eb3f022dbaf8b9a6390ecbacf51e7dd/toolkit/content/browser-content.js#312
Priority: -- → P1
Comment on attachment 8975592 [details]
Bug 1461122 - Ensure we recomposite when getting a main-thread scroll offset update.

https://reviewboard.mozilla.org/r/243834/#review249752
Attachment #8975592 - Flags: review?(botond) → review+
Comment on attachment 8975591 [details]
Bug 1461122 - Clean up the composition flow for empty transactions.

https://reviewboard.mozilla.org/r/243832/#review249890
Attachment #8975591 - Flags: review?(sotaro.ikeda.g) → review+
Comment on attachment 8975590 [details]
Bug 1461122 - Implement DidComposite(LayersId,...) for CompositorBridgeParent.

https://reviewboard.mozilla.org/r/243830/#review249888
Attachment #8975590 - Flags: review?(sotaro.ikeda.g) → review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0efbd05857c2
Implement DidComposite(LayersId,...) for CompositorBridgeParent. r=sotaro
https://hg.mozilla.org/integration/autoland/rev/9f87280ba566
Clean up the composition flow for empty transactions. r=sotaro
https://hg.mozilla.org/integration/autoland/rev/90445f7b62cd
Ensure we recomposite when getting a main-thread scroll offset update. r=botond
Flags: needinfo?(bugmail)
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0b04c87960ad
Implement DidComposite(LayersId,...) for CompositorBridgeParent. r=sotaro
https://hg.mozilla.org/integration/autoland/rev/1232f9a7403c
Clean up the composition flow for empty transactions. r=sotaro
https://hg.mozilla.org/integration/autoland/rev/232e90a05b02
Ensure we recomposite when getting a main-thread scroll offset update. r=botond
https://hg.mozilla.org/mozilla-central/rev/0b04c87960ad
https://hg.mozilla.org/mozilla-central/rev/1232f9a7403c
https://hg.mozilla.org/mozilla-central/rev/232e90a05b02
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Depends on: 1461942
Verified fixed in Nightly 62 x64 20180516100125 de_DE @ Debian Testing (Radeon RX480). Thanks!
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: