Title: [184246] branches/safari-601.1.32-branch/Source/WebKit/mac
Revision
184246
Author
[email protected]
Date
2015-05-12 21:08:45 -0700 (Tue, 12 May 2015)

Log Message

Merge r183957. rdar://problem/20811128

Modified Paths

Diff

Modified: branches/safari-601.1.32-branch/Source/WebKit/mac/ChangeLog (184245 => 184246)


--- branches/safari-601.1.32-branch/Source/WebKit/mac/ChangeLog	2015-05-13 04:02:09 UTC (rev 184245)
+++ branches/safari-601.1.32-branch/Source/WebKit/mac/ChangeLog	2015-05-13 04:08:45 UTC (rev 184246)
@@ -2,65 +2,85 @@
 Dana Burkart  <[email protected]
 [email protected]>
 
-        Merge r183954. rdar://problem/20281886
+        Merge r183957. rdar://problem/20811128
 
-    2015-05-07  Beth Dakin  <[email protected]>
+    2015-05-07  Timothy Horton  <[email protected]>
 
-            New force-related DOM events should fire in WK1 views
-            https://bugs.webkit.org/show_bug.cgi?id=144663
-            -and corresponding-
-            rdar://problem/20281886
+            Occasional null deref in WebImmediateActionController
+            https://bugs.webkit.org/show_bug.cgi?id=144772
+            <rdar://problem/20811128>
 
-            Reviewed by Sam Weinig.
+            Reviewed by Beth Dakin.
 
-            Pass the lastPressureEvent to WebCore.
-            * WebView/WebHTMLView.mm:
-            (-[WebHTMLView _updateMouseoverWithEvent:]):
-            (-[WebHTMLView rightMouseUp:]):
-            (-[WebHTMLView menuForEvent:]):
-            (-[WebHTMLView acceptsFirstMouse:]):
-            (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
-            (-[WebHTMLView mouseDown:mouseDown:]):
-            (-[WebHTMLView mouseDragged:]):
-            (-[WebHTMLView mouseUp:mouseUp:]):
+            * WebView/WebImmediateActionController.mm:
+            (-[WebImmediateActionController _defaultAnimationController]):
+            (-[WebImmediateActionController _animationControllerForDataDetectedText]):
+            (-[WebImmediateActionController _animationControllerForDataDetectedLink]):
+            Null-check TextIndicators before dereferencing.
 
-            New NSRespnder method for pressure changes.
-            (-[WebHTMLView pressureChangeWithEvent:]):
+    2015-05-12  Dana Burkart
+    Dana Burkart  <[email protected]
+    [email protected]>
 
-            New BOOL _contentPreventsDefault tracks whether the HitTestResult prevented the
-            default action. Get rid of willHandleMouseDown; now that the gesture recognizer
-            sets delaysPrimaryMouseButtonEvents to NO, we don’t need this.
-            * WebView/WebImmediateActionController.h:
-            * WebView/WebImmediateActionController.mm:
-            (-[WebImmediateActionController _clearImmediateActionState]):
+            Merge r183954. rdar://problem/20281886
 
-            Set all of the immediateActionStages on EventHandler. This is critical to keep
-            link navigation happening at the right time now that
-            delaysPrimaryMouseButtonEvents is set to NO.
-            (-[WebImmediateActionController performHitTestAtPoint:]):
-            (-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
-            (-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
-            (-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
+        2015-05-07  Beth Dakin  <[email protected]>
 
-            Use a dummy animation controller if the content prevents default.
-            (-[WebImmediateActionController _defaultAnimationController]):
-            (-[WebImmediateActionController _updateImmediateActionItem]):
-            (-[WebImmediateActionController webView:willHandleMouseDown:]): Deleted.
+                New force-related DOM events should fire in WK1 views
+                https://bugs.webkit.org/show_bug.cgi?id=144663
+                -and corresponding-
+                rdar://problem/20281886
 
-            Set delaysPrimaryMouseButtonEvents to NO so that we get existing mouse events when
-            we expect to.
-            * WebView/WebView.mm:
-            (-[WebView _commonInitializationWithFrameName:groupName:]):
+                Reviewed by Sam Weinig.
 
-            Cache the most recent pressure event so that we can send it to WebCore for all of
-            the mouse events.
-            (-[WebView _pressureEvent]):
-            (-[WebView _setPressureEvent:]):
-            * WebView/WebViewData.h:
-            * WebView/WebViewData.mm:
-            (-[WebViewPrivate dealloc]):
-            * WebView/WebViewInternal.h:
+                Pass the lastPressureEvent to WebCore.
+                * WebView/WebHTMLView.mm:
+                (-[WebHTMLView _updateMouseoverWithEvent:]):
+                (-[WebHTMLView rightMouseUp:]):
+                (-[WebHTMLView menuForEvent:]):
+                (-[WebHTMLView acceptsFirstMouse:]):
+                (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
+                (-[WebHTMLView mouseDown:mouseDown:]):
+                (-[WebHTMLView mouseDragged:]):
+                (-[WebHTMLView mouseUp:mouseUp:]):
 
+                New NSRespnder method for pressure changes.
+                (-[WebHTMLView pressureChangeWithEvent:]):
+
+                New BOOL _contentPreventsDefault tracks whether the HitTestResult prevented the
+                default action. Get rid of willHandleMouseDown; now that the gesture recognizer
+                sets delaysPrimaryMouseButtonEvents to NO, we don’t need this.
+                * WebView/WebImmediateActionController.h:
+                * WebView/WebImmediateActionController.mm:
+                (-[WebImmediateActionController _clearImmediateActionState]):
+
+                Set all of the immediateActionStages on EventHandler. This is critical to keep
+                link navigation happening at the right time now that
+                delaysPrimaryMouseButtonEvents is set to NO.
+                (-[WebImmediateActionController performHitTestAtPoint:]):
+                (-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
+                (-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
+                (-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
+
+                Use a dummy animation controller if the content prevents default.
+                (-[WebImmediateActionController _defaultAnimationController]):
+                (-[WebImmediateActionController _updateImmediateActionItem]):
+                (-[WebImmediateActionController webView:willHandleMouseDown:]): Deleted.
+
+                Set delaysPrimaryMouseButtonEvents to NO so that we get existing mouse events when
+                we expect to.
+                * WebView/WebView.mm:
+                (-[WebView _commonInitializationWithFrameName:groupName:]):
+
+                Cache the most recent pressure event so that we can send it to WebCore for all of
+                the mouse events.
+                (-[WebView _pressureEvent]):
+                (-[WebView _setPressureEvent:]):
+                * WebView/WebViewData.h:
+                * WebView/WebViewData.mm:
+                (-[WebViewPrivate dealloc]):
+                * WebView/WebViewInternal.h:
+
 2015-04-02  Myles C. Maxfield  <[email protected]>
 
         Introducing the Platform Abstraction Layer (PAL)

Modified: branches/safari-601.1.32-branch/Source/WebKit/mac/WebView/WebImmediateActionController.mm (184245 => 184246)


--- branches/safari-601.1.32-branch/Source/WebKit/mac/WebView/WebImmediateActionController.mm	2015-05-13 04:02:09 UTC (rev 184245)
+++ branches/safari-601.1.32-branch/Source/WebKit/mac/WebView/WebImmediateActionController.mm	2015-05-13 04:08:45 UTC (rev 184246)
@@ -260,7 +260,8 @@
 
             RefPtr<Range> linkRange = rangeOfContents(*_hitTestResult.URLElement());
             RefPtr<TextIndicator> indicator = TextIndicator::createWithRange(*linkRange, TextIndicatorPresentationTransition::FadeIn);
-            [_webView _setTextIndicator:*indicator withLifetime:TextIndicatorLifetime::Permanent];
+            if (indicator)
+                [_webView _setTextIndicator:*indicator withLifetime:TextIndicatorLifetime::Permanent];
 
             QLPreviewMenuItem *item = [NSMenuItem standardQuickLookMenuItem];
             item.previewStyle = QLPreviewStylePopover;
@@ -419,7 +420,8 @@
 
     _currentActionContext = [actionContext contextForView:_webView altMode:YES interactionStartedHandler:^() {
     } interactionChangedHandler:^() {
-        [_webView _setTextIndicator:*detectedDataTextIndicator withLifetime:TextIndicatorLifetime::Permanent];
+        if (detectedDataTextIndicator)
+            [_webView _setTextIndicator:*detectedDataTextIndicator withLifetime:TextIndicatorLifetime::Permanent];
     } interactionStoppedHandler:^() {
         [_webView _clearTextIndicatorWithAnimation:TextIndicatorDismissalAnimation::FadeOut];
     }];
@@ -450,7 +452,8 @@
 
     _currentActionContext = [actionContext contextForView:_webView altMode:YES interactionStartedHandler:^() {
     } interactionChangedHandler:^() {
-        [_webView _setTextIndicator:*indicator withLifetime:TextIndicatorLifetime::Permanent];
+        if (indicator)
+            [_webView _setTextIndicator:*indicator withLifetime:TextIndicatorLifetime::Permanent];
     } interactionStoppedHandler:^() {
         [_webView _clearTextIndicatorWithAnimation:TextIndicatorDismissalAnimation::FadeOut];
     }];
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to