Closed Bug 1389492 Opened 2 years ago Closed 2 years ago

helper_key_scroll can intermittently time out

Categories

(Core :: Panning and Zooming, enhancement, P3)

57 Branch
enhancement

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox55 --- unaffected
firefox56 --- wontfix
firefox57 --- fixed

People

(Reporter: kats, Assigned: kats)

References

Details

(Whiteboard: [gfx-noted])

Attachments

(1 file)

See Stone's investigation in bug 1351148 comment 156. What he found (which makes sense to me) is that since the VK_END scroll is running on the main thread, waiting for it to finish via waitForApzFlushedRepaints is incorrect. That function is intended to wait for APZ-side stuff to finish. In this case waitForApzFlushedRepaints might run the provided callback while the main-thread AsyncScroll thing is still going and triggering repaints.

I think if we take control of the refresh driver and tick it a few times that should be sufficient to let the AsyncScrollCallback calls finish up. I'm working on a patch to do this.
Assignee: nobody → bugmail
Comment on attachment 8896297 [details]
Bug 1389492 - Ensure the helper_key_scroll waits for repaints from the main-thread scroll to finish before triggering the async scroll.

Stone, can you check if this fixes the problem for you?
Attachment #8896297 - Flags: feedback?(sshih)
Comment on attachment 8896297 [details]
Bug 1389492 - Ensure the helper_key_scroll waits for repaints from the main-thread scroll to finish before triggering the async scroll.

https://reviewboard.mozilla.org/r/167570/#review172808

This seems reasonable to me. Thanks for adding better logging info also.
Attachment #8896297 - Flags: review?(rhunt) → review+
Pushed by kgupta@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/eeb77c809dc0
Ensure the helper_key_scroll waits for repaints from the main-thread scroll to finish before triggering the async scroll. r=rhunt
Priority: -- → P3
Whiteboard: [gfx-noted]
Comment on attachment 8896297 [details]
Bug 1389492 - Ensure the helper_key_scroll waits for repaints from the main-thread scroll to finish before triggering the async scroll.

It works for me. Can't reproduce it in local and on try server. Thanks.
Attachment #8896297 - Flags: feedback?(sshih) → feedback+
https://hg.mozilla.org/mozilla-central/rev/eeb77c809dc0
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Too late for 56. Mass won't fix for 56.
You need to log in before you can comment on or make changes to this bug.