RESOLVED FIXED 146482
Provide delegate SPI for clients to notify WebKit about content inset changes
https://bugs.webkit.org/show_bug.cgi?id=146482
Summary Provide delegate SPI for clients to notify WebKit about content inset changes
Brent Fulgham
Reported 2015-06-30 17:26:45 PDT
WebKit clients may sometimes modify the contents insets of the view while the user is performing scroll gestures. We should have a delegate method that WebKit can use to ask the host application if any such changes will happen so that we can properly animate to the final window state.
Attachments
Patch (3.42 KB, patch)
2015-06-30 17:33 PDT, Brent Fulgham
no flags
Patch (3.58 KB, patch)
2015-07-02 10:46 PDT, Brent Fulgham
darin: review+
Brent Fulgham
Comment 1 2015-06-30 17:26:58 PDT
Brent Fulgham
Comment 2 2015-06-30 17:33:55 PDT
Sam Weinig
Comment 3 2015-07-01 10:49:30 PDT
Comment on attachment 255883 [details] Patch Given the limited use case, this should start as SPI on WKUIDelegatePrivate.h
Brent Fulgham
Comment 4 2015-07-02 10:46:27 PDT
Darin Adler
Comment 5 2015-07-02 15:06:52 PDT
Comment on attachment 256015 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=256015&action=review > Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1474 > + UIEdgeInsets contentInset = [self _computedContentInset]; > + > + id<WKUIDelegatePrivate> uiDelegatePrivate = static_cast<id <WKUIDelegatePrivate>>([self UIDelegate]); > + if ([uiDelegatePrivate respondsToSelector:@selector(_webView:finalObscuredInsetsForScrollView:withVelocity:targetContentOffset:)]) > + contentInset = [uiDelegatePrivate _webView:self finalObscuredInsetsForScrollView:scrollView withVelocity:velocity targetContentOffset:targetContentOffset]; Would be better to use else so we don’t unnecessarily call _computedContentInset every time.
Brent Fulgham
Comment 6 2015-07-02 15:15:54 PDT
Comment on attachment 256015 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=256015&action=review >> Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:1474 >> + contentInset = [uiDelegatePrivate _webView:self finalObscuredInsetsForScrollView:scrollView withVelocity:velocity targetContentOffset:targetContentOffset]; > > Would be better to use else so we don’t unnecessarily call _computedContentInset every time. Good idea! Will do.
Brent Fulgham
Comment 7 2015-07-02 15:18:38 PDT
Note You need to log in before you can comment on or make changes to this bug.