Title: [253076] trunk/Source/WebKit
- Revision
- 253076
- Author
- cdu...@apple.com
- Date
- 2019-12-03 18:04:01 -0800 (Tue, 03 Dec 2019)
Log Message
[iOS] Unable to interact with the view after a back swipe until lifting the finger off the screen
https://bugs.webkit.org/show_bug.cgi?id=204821
Reviewed by Tim Horton.
If you swipe back on iOS and then put your finger on the screen before the view gesture snapshot is taken down,
your gestures will not be recognized, even after the snapshot is taken down, until after you lift your finger
off the screen and back on. This makes MobileSafari look more unresponsive than it needs to be.
To address the issue, disable user interactions for the snapshot view, so that interactions go through to the
actual view underneath.
* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
Modified Paths
Diff
Modified: trunk/Source/WebKit/ChangeLog (253075 => 253076)
--- trunk/Source/WebKit/ChangeLog 2019-12-04 01:42:51 UTC (rev 253075)
+++ trunk/Source/WebKit/ChangeLog 2019-12-04 02:04:01 UTC (rev 253076)
@@ -1,5 +1,22 @@
2019-12-03 Chris Dumez <cdu...@apple.com>
+ [iOS] Unable to interact with the view after a back swipe until lifting the finger off the screen
+ https://bugs.webkit.org/show_bug.cgi?id=204821
+
+ Reviewed by Tim Horton.
+
+ If you swipe back on iOS and then put your finger on the screen before the view gesture snapshot is taken down,
+ your gestures will not be recognized, even after the snapshot is taken down, until after you lift your finger
+ off the screen and back on. This makes MobileSafari look more unresponsive than it needs to be.
+
+ To address the issue, disable user interactions for the snapshot view, so that interactions go through to the
+ actual view underneath.
+
+ * UIProcess/ios/ViewGestureControllerIOS.mm:
+ (WebKit::ViewGestureController::beginSwipeGesture):
+
+2019-12-03 Chris Dumez <cdu...@apple.com>
+
Use a 3 second timeout for the view gesture snapshot on macOS
https://bugs.webkit.org/show_bug.cgi?id=204818
Modified: trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm (253075 => 253076)
--- trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm 2019-12-04 01:42:51 UTC (rev 253075)
+++ trunk/Source/WebKit/UIProcess/ios/ViewGestureControllerIOS.mm 2019-12-04 02:04:01 UTC (rev 253076)
@@ -201,6 +201,11 @@
RetainPtr<UIViewController> snapshotViewController = adoptNS([[UIViewController alloc] init]);
m_snapshotView = adoptNS([[UIView alloc] initWithFrame:liveSwipeViewFrame]);
+
+ // Disabling user interaction on the snapshot view lets the gestures go through the snapshot view, to the
+ // actual underlying view.
+ [m_snapshotView setUserInteractionEnabled:NO];
+
[m_snapshotView layer].name = @"SwipeSnapshot";
RetainPtr<UIColor> backgroundColor = [UIColor whiteColor];
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes