Title: [160681] trunk/Source/WebKit2
- Revision
- 160681
- Author
- [email protected]
- Date
- 2013-12-16 17:35:02 -0800 (Mon, 16 Dec 2013)
Log Message
[WK2][iOS] WKView sends unscaled scroll position to WKContentView
https://bugs.webkit.org/show_bug.cgi?id=125819
Patch by Benjamin Poulain <[email protected]> on 2013-12-16
Reviewed by Anders Carlsson.
WKView was sending untransformed scroll coordinates to WKContentView. The scroll position
seen by WebKit was wrong when the content is scaled.
* UIProcess/API/ios/WKView.mm:
(-[WKView _didScroll]):
(-[WKView scrollViewDidEndDragging:willDecelerate:]):
(-[WKView scrollViewDidEndDecelerating:]):
(-[WKView scrollViewDidScrollToTop:]):
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (160680 => 160681)
--- trunk/Source/WebKit2/ChangeLog 2013-12-17 01:33:05 UTC (rev 160680)
+++ trunk/Source/WebKit2/ChangeLog 2013-12-17 01:35:02 UTC (rev 160681)
@@ -1,3 +1,19 @@
+2013-12-16 Benjamin Poulain <[email protected]>
+
+ [WK2][iOS] WKView sends unscaled scroll position to WKContentView
+ https://bugs.webkit.org/show_bug.cgi?id=125819
+
+ Reviewed by Anders Carlsson.
+
+ WKView was sending untransformed scroll coordinates to WKContentView. The scroll position
+ seen by WebKit was wrong when the content is scaled.
+
+ * UIProcess/API/ios/WKView.mm:
+ (-[WKView _didScroll]):
+ (-[WKView scrollViewDidEndDragging:willDecelerate:]):
+ (-[WKView scrollViewDidEndDecelerating:]):
+ (-[WKView scrollViewDidScrollToTop:]):
+
2013-12-16 Brady Eidson <[email protected]>
DatabaseProcess: Plumb through messaging for the 4 basic transaction operations
Modified: trunk/Source/WebKit2/UIProcess/API/ios/WKView.mm (160680 => 160681)
--- trunk/Source/WebKit2/UIProcess/API/ios/WKView.mm 2013-12-17 01:33:05 UTC (rev 160680)
+++ trunk/Source/WebKit2/UIProcess/API/ios/WKView.mm 2013-12-17 01:35:02 UTC (rev 160681)
@@ -188,21 +188,27 @@
_userHasChangedPageScale = YES;
}
+- (void)_didScroll
+{
+ CGPoint position = [_scrollView convertPoint:[_scrollView contentOffset] toView:_contentView.get()];
+ [_contentView didScrollTo:position];
+}
+
- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{
// If we're decelerating, scroll offset will be updated when scrollViewDidFinishDecelerating: is called.
if (!decelerate)
- [_contentView didScrollTo:scrollView.contentOffset];
+ [self _didScroll];
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
{
- [_contentView didScrollTo:scrollView.contentOffset];
+ [self _didScroll];
}
- (void)scrollViewDidScrollToTop:(UIScrollView *)scrollView
{
- [_contentView didScrollTo:scrollView.contentOffset];
+ [self _didScroll];
}
- (void)scrollViewDidEndZooming:(UIScrollView *)scrollView withView:(UIView *)view atScale:(CGFloat)scale
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes