Title: [200624] trunk/Source/WebKit2
Revision
200624
Author
[email protected]
Date
2016-05-10 10:05:29 -0700 (Tue, 10 May 2016)

Log Message

Clicks do not work in Safari after pressing the Track package button in Gmail
https://bugs.webkit.org/show_bug.cgi?id=157508
<rdar://problem/22646404>

Reviewed by Anders Carlsson.

* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::viewDidMoveToWindow):
Explicitly cancel the force-click animation when we're removing the gesture
recognizer due to the WK*View being unparented. This works around a bug
where we don't get the cancellation callback in this situation, causing
Safari to be left in an inconsistent and unexpected state.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (200623 => 200624)


--- trunk/Source/WebKit2/ChangeLog	2016-05-10 16:34:26 UTC (rev 200623)
+++ trunk/Source/WebKit2/ChangeLog	2016-05-10 17:05:29 UTC (rev 200624)
@@ -1,3 +1,18 @@
+2016-05-10  Tim Horton  <[email protected]>
+
+        Clicks do not work in Safari after pressing the Track package button in Gmail
+        https://bugs.webkit.org/show_bug.cgi?id=157508
+        <rdar://problem/22646404>
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/Cocoa/WebViewImpl.mm:
+        (WebKit::WebViewImpl::viewDidMoveToWindow):
+        Explicitly cancel the force-click animation when we're removing the gesture
+        recognizer due to the WK*View being unparented. This works around a bug
+        where we don't get the cancellation callback in this situation, causing
+        Safari to be left in an inconsistent and unexpected state.
+
 2016-05-10  Michael Catanzaro  <[email protected]>
 
         [Linux] Remove seccomp filters support

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm (200623 => 200624)


--- trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm	2016-05-10 16:34:26 UTC (rev 200623)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/WebViewImpl.mm	2016-05-10 17:05:29 UTC (rev 200624)
@@ -1230,8 +1230,11 @@
 
         dismissContentRelativeChildWindowsWithAnimation(false);
 
-        if (m_immediateActionGestureRecognizer)
+        if (m_immediateActionGestureRecognizer) {
+            // Work around <rdar://problem/22646404> by explicitly cancelling the animation.
+            cancelImmediateActionAnimation();
             [m_view removeGestureRecognizer:m_immediateActionGestureRecognizer.get()];
+        }
     }
 
     m_page->setIntrinsicDeviceScaleFactor(intrinsicDeviceScaleFactor());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to