Bug 146000

Summary: [iOS WK2] position:fixed elements sometimes truncated on scroll view bouncing
Product: WebKit Reporter: Simon Fraser (smfr) <simon.fraser>
Component: New BugsAssignee: Simon Fraser (smfr) <simon.fraser>
Status: RESOLVED FIXED    
Severity: Normal CC: benjamin, simon.fraser
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch benjamin: review+

Description Simon Fraser (smfr) 2015-06-15 18:36:45 PDT
[iOS WK2] position:fixed elements sometimes truncated on scroll view bouncing
Comment 1 Simon Fraser (smfr) 2015-06-15 18:41:15 PDT
Created attachment 254917 [details]
Patch
Comment 2 Simon Fraser (smfr) 2015-06-15 18:41:59 PDT
Created attachment 254918 [details]
Patch
Comment 3 Simon Fraser (smfr) 2015-06-15 18:42:23 PDT
rdar://problem/19448439
Comment 4 Benjamin Poulain 2015-06-15 18:48:35 PDT
Comment on attachment 254918 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=254918&action=review

> Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1522
> +- (BOOL)_scrollViewIsRubberBanding

Can we do ?

CGPoint contentOffset = [_scrollView contentOffset];
CGPoint validContentOffset = contentOffsetBoundedInValidRange(_scrollView.get(), contentOffset)
if (notEqualThingy(contentOffset, validContentOffset)
    return true;

> Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1563
> +    BOOL isStableState = !(_isChangingObscuredInsetsInteractively || [_scrollView isDragging] || [_scrollView isDecelerating] || [_scrollView isZooming] || [_scrollView isZoomBouncing] || [_scrollView _isAnimatingZoom] || [_scrollView _isScrollingToTop] || [self _scrollViewIsRubberBanding]);

Of course, [isDragging] and [isDecelerating] is not enough, that totally make sense :(
Comment 5 Simon Fraser (smfr) 2015-06-15 19:12:01 PDT
https://trac.webkit.org/r185576