Bug 139245 - Programmatic scrolling and content changes are not always synchronized
Summary: Programmatic scrolling and content changes are not always synchronized
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
Keywords: InRadar
Depends on:
Reported: 2014-12-03 17:20 PST by Simon Fraser (smfr)
Modified: 2014-12-05 17:25 PST (History)
9 users (show)

See Also:

Patch (9.18 KB, patch)
2014-12-05 17:04 PST, Simon Fraser (smfr)
andersca: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2014-12-03 17:20:56 PST
Content that changes the scroll offset, and changes the style of an element at the same time should be able to make that element appear in a fixed position. However, for some reason WebKit is unable to always synchronize the two, and the element flickers.
Comment 1 Simon Fraser (smfr) 2014-12-03 17:21:14 PST
Comment 2 Simon Fraser (smfr) 2014-12-05 16:05:44 PST
Even when programmatic scrolling, AsyncScrollingCoordinator::requestScrollPositionUpdate() sends the scroll off to the scrolling thread, which sometime later tells the UI thread that we scrolled in AsyncScrollingCoordinator::scheduleUpdateScrollPositionAfterAsyncScroll(), which (on a timer) hits AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll().
Comment 3 Simon Fraser (smfr) 2014-12-05 17:04:50 PST
Created attachment 242685 [details]
Comment 4 Simon Fraser (smfr) 2014-12-05 17:25:04 PST