also looking at this
fix(mobile): preserve native editing, navigation, and durable media requests
#369
36 files
+864
-185
Review threads live on the whole diff, not on one commit, so none are shown here - a thread's line means something in the branch's final form, and painting it into an intermediate step would put it on code it is not about.
| @@ -1936,7 +1936,14 @@ final class CraftHybridController: UIViewController, UINavigationControllerDeleg | ||
| 1936 | 1936 | /// The edge swipe goes ahead of the web view's own gestures, which |
| 1937 | 1937 | /// otherwise hold every touch over the page until the page has answered it. |
| 1938 | 1938 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { |
| 1939 | gestureRecognizer === visibleStack?.interactivePopGestureRecognizer | |
| 1939 | if gestureRecognizer === visibleStack?.interactivePopGestureRecognizer { return true } | |
| 1940 | guard tabSwipeRecognizers.contains(where: { $0 === gestureRecognizer }), | |
| 1941 | let scroll = otherGestureRecognizer.view as? UIScrollView, | |
| 1942 | otherGestureRecognizer === scroll.panGestureRecognizer, | |
| 1943 | scroll.isScrollEnabled else { return false } | |
| 1944 | // A vertical list must not suppress the shell's horizontal tab pan. | |
| 1945 | // Horizontal content keeps ownership of its own drag instead. | |
| 1946 | return !scroll.alwaysBounceHorizontal && scroll.contentSize.width <= scroll.bounds.width + 1 | |
| 1940 | 1947 | } |
| 1941 | 1948 | |
| 1942 | 1949 | func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool { |