Summary: | Text cursor blinks outside of input box after scrolling | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Danyao Wang <danyao> | ||||
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED DUPLICATE | ||||||
Severity: | Normal | CC: | ajuma, bfulgham, fred.wang, simon.fraser, zalan | ||||
Priority: | P2 | ||||||
Version: | Safari 11 | ||||||
Hardware: | iPhone / iPad | ||||||
OS: | iOS 11 | ||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=138201 | ||||||
Attachments: |
|
Description
Danyao Wang
2017-11-21 13:26:42 PST
I can confirm the bug on trunk. @Danyao: I've actually been studying stack traces to re-position the fixed node for other bugs and it is: WebCore::ScrollingStateFixedNode::reconcileLayerPositionForViewportRect WebCore::AsyncScrollingCoordinator::reconcileViewportConstrainedLayerPositions WebCore::AsyncScrollingCoordinator::reconcileScrollingState WebKit::WebPage::updateVisibleContentRects Also IIRC AsyncScrollingCoordinator::reconcileScrollingState is called from WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll if you perform a programmatic scroll of the main frame (instead of user interaction). WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll is also called when doing user interaction in "overflow: auto; webkit-overflow-scrolling: touch" nodes and interestingly in that case we tell WebEditorClient that the overflow scroll position has changed. Maybe you can try to compare your testcase using scrollingElement.scrollTop = ... or "overflow: auto; webkit-overflow-scrolling: touch" nodes and see whether you get the same issue? @Danyao: It seems that this bug is fixed in WebKit trunk (I tried the testcase with the simulator), can you please try again? *** This bug has been marked as a duplicate of bug 176896 *** |