Title: [169304] trunk/Source/WebKit2
Revision
169304
Author
benja...@webkit.org
Date
2014-05-23 21:35:51 -0700 (Fri, 23 May 2014)

Log Message

REGRESSION: Rubberbanding out jumps to top left corner on google.com
https://bugs.webkit.org/show_bug.cgi?id=133253
<rdar://problem/17025664>

Patch by Ian Henderson <i...@apple.com> on 2014-05-23
Reviewed by Benjamin Poulain.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
Avoid deceleration during zooming to work around a UIKit bug.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (169303 => 169304)


--- trunk/Source/WebKit2/ChangeLog	2014-05-24 04:31:55 UTC (rev 169303)
+++ trunk/Source/WebKit2/ChangeLog	2014-05-24 04:35:51 UTC (rev 169304)
@@ -1,3 +1,15 @@
+2014-05-23  Ian Henderson  <i...@apple.com>
+
+        REGRESSION: Rubberbanding out jumps to top left corner on google.com
+        https://bugs.webkit.org/show_bug.cgi?id=133253
+        <rdar://problem/17025664>
+
+        Reviewed by Benjamin Poulain.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView scrollViewWillEndDragging:withVelocity:targetContentOffset:]):
+        Avoid deceleration during zooming to work around a UIKit bug.
+
 2014-05-23  Benjamin Poulain  <bpoul...@apple.com>
 
         [iOS][WK2] Avoid updating the view from the viewport configuration unnecessarily

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (169303 => 169304)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2014-05-24 04:31:55 UTC (rev 169303)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2014-05-24 04:35:51 UTC (rev 169304)
@@ -940,6 +940,14 @@
     [_contentView didFinishScrolling];
 }
 
+- (void)scrollViewWillEndDragging:(UIScrollView *)scrollView withVelocity:(CGPoint)velocity targetContentOffset:(inout CGPoint *)targetContentOffset
+{
+    // Work around <rdar://problem/16374753> by avoiding deceleration while
+    // zooming. We'll animate to the right place once the zoom finishes.
+    if ([scrollView isZooming])
+        *targetContentOffset = [scrollView contentOffset];
+}
+
 - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
 {
     // If we're decelerating, scroll offset will be updated when scrollViewDidFinishDecelerating: is called.
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to