[Fullscreen] Add a pinch-to-exit gesture
authorjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Jun 2018 22:24:30 +0000 (22:24 +0000)
committerjer.noble@apple.com <jer.noble@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 22 Jun 2018 22:24:30 +0000 (22:24 +0000)
commit58dd5e26ebefaad100fa85de3c5f52b85a8101eb
treecf7fd31bee391cc29d591749a31ad64000636bda
parent7b20e1cf562d88a4eabfa8f0b6a8a4fda3b22d27
[Fullscreen] Add a pinch-to-exit gesture
https://bugs.webkit.org/show_bug.cgi?id=186821

Reviewed by Tim Horton.

Add a pinch gesture recognizer that overrides the pan gesture recognizer when active. Hide the
WKFullscreenViewController's controls while a dismiss gesture is active.

* UIProcess/ios/fullscreen/WKFullScreenViewController.h:
* UIProcess/ios/fullscreen/WKFullScreenViewController.mm:
(-[WKFullScreenViewController setAnimating:]):
(-[WKFullScreenViewController prefersStatusBarHidden]):
(-[WKFullScreenViewController gestureRecognizer:shouldReceiveTouch:]):
(-[WKFullScreenViewController _touchDetected:]):
* UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullscreenAnimationController context]):
(-[WKFullscreenAnimationController updateWithProgress:scale:translation:anchor:]):
(-[WKFullScreenInteractiveTransition animator]):
(-[WKFullScreenInteractiveTransition updateInteractiveTransition:withScale:andTranslation:]):
(-[WKFullScreenWindowController enterFullScreen]):
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]):
(-[WKFullScreenWindowController interactionControllerForDismissal:]):
(-[WKFullScreenWindowController _startToDismissFullscreenChanged:]):
(-[WKFullScreenWindowController _dismissFullscreenViewController]):
(-[WKFullScreenWindowController _interactiveDismissChanged:]):
(-[WKFullScreenWindowController _interactivePinchDismissChanged:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233104 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/ChangeLog
Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.h
Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenViewController.mm
Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm