Title: [179668] trunk/Source/WebKit2
Revision
179668
Author
[email protected]
Date
2015-02-04 20:28:40 -0800 (Wed, 04 Feb 2015)

Log Message

[iOS] Selection callout does not follow selection when double-tap scrolling
https://bugs.webkit.org/show_bug.cgi?id=141214

Patch by Joseph Pecoraro <[email protected]> on 2015-02-04
Reviewed by Benjamin Poulain.

Implement the delegate that gets called after UIScrollView
setContentOffset animations. When scrolling to a rect, do the normal
willScroll, didScroll actions to update the selection assistant.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _scrollToRect:origin:minimumScrollDistance:]):
(-[WKWebView scrollViewDidEndScrollingAnimation:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (179667 => 179668)


--- trunk/Source/WebKit2/ChangeLog	2015-02-05 04:07:08 UTC (rev 179667)
+++ trunk/Source/WebKit2/ChangeLog	2015-02-05 04:28:40 UTC (rev 179668)
@@ -1,3 +1,18 @@
+2015-02-04  Joseph Pecoraro  <[email protected]>
+
+        [iOS] Selection callout does not follow selection when double-tap scrolling
+        https://bugs.webkit.org/show_bug.cgi?id=141214
+
+        Reviewed by Benjamin Poulain.
+
+        Implement the delegate that gets called after UIScrollView
+        setContentOffset animations. When scrolling to a rect, do the normal
+        willScroll, didScroll actions to update the selection assistant.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _scrollToRect:origin:minimumScrollDistance:]):
+        (-[WKWebView scrollViewDidEndScrollingAnimation:]):
+
 2015-02-04  Simon Fraser  <[email protected]>
 
         [iOS WK2] Layers that are created and destroyed in the same transaction shouldn't be encoded

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


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2015-02-05 04:07:08 UTC (rev 179667)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2015-02-05 04:28:40 UTC (rev 179668)
@@ -1019,7 +1019,7 @@
 
 - (void)_zoomToRect:(WebCore::FloatRect)targetRect atScale:(double)scale origin:(WebCore::FloatPoint)origin animated:(BOOL)animated
 {
-    // FIMXE: Some of this could be shared with _scrollToRect.
+    // FIXME: Some of this could be shared with _scrollToRect.
     const double visibleRectScaleChange = contentZoomScale(self) / scale;
     const WebCore::FloatRect visibleRect([self convertRect:self.bounds toView:self._currentContentView]);
     const WebCore::FloatRect unobscuredRect([self _contentRectForUserInteraction]);
@@ -1112,6 +1112,8 @@
     if (scrollDistance < minimumScrollDistance)
         return false;
 
+    [_contentView willStartZoomOrScroll];
+
     [_scrollView setContentOffset:([_scrollView contentOffset] + scrollViewOffsetDelta) animated:YES];
     return true;
 }
@@ -1406,6 +1408,11 @@
     [_contentView didZoomToScale:scale];
 }
 
+- (void)scrollViewDidEndScrollingAnimation:(UIScrollView *)scrollView
+{
+    [self _didFinishScrolling];
+}
+
 - (void)_frameOrBoundsChanged
 {
     CGRect bounds = self.bounds;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to