Title: [177600] trunk/Source/WebKit2
Revision
177600
Author
[email protected]
Date
2014-12-19 15:54:14 -0800 (Fri, 19 Dec 2014)

Log Message

WKView's ignoresNonWheelEvents should ignore immediate actions
https://bugs.webkit.org/show_bug.cgi?id=139839
<rdar://problem/19312111>

Reviewed by Anders Carlsson.

* UIProcess/API/mac/WKView.mm:
(-[WKView initWithFrame:context:configuration:webView:]):
(-[WKView _setIgnoresNonWheelEvents:]):
Install/uninstall the immediate action gesture recognizer when
toggling ignoresNonWheelEvents.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (177599 => 177600)


--- trunk/Source/WebKit2/ChangeLog	2014-12-19 23:53:37 UTC (rev 177599)
+++ trunk/Source/WebKit2/ChangeLog	2014-12-19 23:54:14 UTC (rev 177600)
@@ -1,3 +1,17 @@
+2014-12-19  Timothy Horton  <[email protected]>
+
+        WKView's ignoresNonWheelEvents should ignore immediate actions
+        https://bugs.webkit.org/show_bug.cgi?id=139839
+        <rdar://problem/19312111>
+
+        Reviewed by Anders Carlsson.
+
+        * UIProcess/API/mac/WKView.mm:
+        (-[WKView initWithFrame:context:configuration:webView:]):
+        (-[WKView _setIgnoresNonWheelEvents:]):
+        Install/uninstall the immediate action gesture recognizer when
+        toggling ignoresNonWheelEvents.
+
 2014-12-19  Csaba Osztrogonác  <[email protected]>
 
         URTBF after r177593.

Modified: trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm (177599 => 177600)


--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2014-12-19 23:53:37 UTC (rev 177599)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.mm	2014-12-19 23:54:14 UTC (rev 177600)
@@ -264,6 +264,7 @@
     BOOL _automaticallyAdjustsContentInsets;
     RetainPtr<WKActionMenuController> _actionMenuController;
     RetainPtr<WKImmediateActionController> _immediateActionController;
+    RetainPtr<NSImmediateActionGestureRecognizer> _immediateActionGestureRecognizer;
 #endif
 
 #if WK_API_ENABLED
@@ -3622,10 +3623,10 @@
     }
 
     if (Class gestureClass = NSClassFromString(@"NSImmediateActionGestureRecognizer")) {
-        RetainPtr<NSImmediateActionGestureRecognizer> recognizer = adoptNS([(NSImmediateActionGestureRecognizer *)[gestureClass alloc] initWithTarget:nil action:NULL]);
-        _data->_immediateActionController = adoptNS([[WKImmediateActionController alloc] initWithPage:*_data->_page view:self recognizer:recognizer.get()]);
-        [recognizer setDelegate:_data->_immediateActionController.get()];
-        [self addGestureRecognizer:recognizer.get()];
+        _data->_immediateActionGestureRecognizer = adoptNS([(NSImmediateActionGestureRecognizer *)[gestureClass alloc] initWithTarget:nil action:NULL]);
+        _data->_immediateActionController = adoptNS([[WKImmediateActionController alloc] initWithPage:*_data->_page view:self recognizer:_data->_immediateActionGestureRecognizer.get()]);
+        [_data->_immediateActionGestureRecognizer setDelegate:_data->_immediateActionController.get()];
+        [self addGestureRecognizer:_data->_immediateActionGestureRecognizer.get()];
     }
 #endif
 
@@ -4104,6 +4105,11 @@
 
     _data->_ignoresNonWheelEvents = ignoresNonWheelEvents;
     _data->_page->setShouldDispatchFakeMouseMoveEvents(!ignoresNonWheelEvents);
+
+    if (ignoresNonWheelEvents)
+        [self removeGestureRecognizer:_data->_immediateActionGestureRecognizer.get()];
+    else
+        [self addGestureRecognizer:_data->_immediateActionGestureRecognizer.get()];
 }
 
 - (BOOL)_ignoresNonWheelEvents
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to