Title: [195570] branches/safari-601.1.46-branch/Source/WebKit2

Diff

Modified: branches/safari-601.1.46-branch/Source/WebKit2/ChangeLog (195569 => 195570)


--- branches/safari-601.1.46-branch/Source/WebKit2/ChangeLog	2016-01-26 00:43:42 UTC (rev 195569)
+++ branches/safari-601.1.46-branch/Source/WebKit2/ChangeLog	2016-01-26 00:43:45 UTC (rev 195570)
@@ -1,3 +1,28 @@
+2016-01-25  Matthew Hanson  <matthew_han...@apple.com>
+
+        Merge r195424. rdar://problem/24222456
+
+    2016-01-21  Dean Jackson  <d...@apple.com>
+
+            [iOS] Crash in _endPotentialTapAndEnableDoubleTapGesturesIfNecessary
+            https://bugs.webkit.org/show_bug.cgi?id=153326
+            <rdar://problem/24264339>
+
+            Reviewed by Anders Carlsson.
+
+            UIKit's UIGestureRecognizer could call back into the WKContentView
+            after the associated WKWebView has disappeared. The fix is to
+            explicitly null the WKWebView reference as we deallocate.
+
+            * UIProcess/API/Cocoa/WKWebView.mm:
+            (-[WKWebView dealloc]): Tell the WKContentView we are going away.
+            * UIProcess/ios/WKContentView.h:
+            * UIProcess/ios/WKContentView.mm:
+            (-[WKContentView _webViewDestroyed]):
+            * UIProcess/ios/WKContentViewInteraction.mm:
+            (-[WKContentView _endPotentialTapAndEnableDoubleTapGesturesIfNecessary]):
+            Only do something if the WKWebView is still around.
+
 2016-01-20  Matthew Hanson  <matthew_han...@apple.com>
 
         Merge r195082. rdar://problem/23633319

Modified: branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (195569 => 195570)


--- branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-01-26 00:43:42 UTC (rev 195569)
+++ branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2016-01-26 00:43:45 UTC (rev 195570)
@@ -423,6 +423,10 @@
 
 - (void)dealloc
 {
+#if PLATFORM(IOS)
+    [_contentView _webViewDestroyed];
+#endif
+
     if (_remoteObjectRegistry)
         _page->process().processPool().removeMessageReceiver(Messages::RemoteObjectRegistry::messageReceiverName(), _page->pageID());
 

Modified: branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentView.h (195569 => 195570)


--- branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentView.h	2016-01-26 00:43:42 UTC (rev 195569)
+++ branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentView.h	2016-01-26 00:43:45 UTC (rev 195570)
@@ -74,6 +74,8 @@
 - (void)didZoomToScale:(CGFloat)scale;
 - (void)willStartZoomOrScroll;
 
+- (void)_webViewDestroyed;
+
 - (std::unique_ptr<WebKit::DrawingAreaProxy>)_createDrawingAreaProxy;
 - (void)_processDidExit;
 - (void)_didRelaunchProcess;

Modified: branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm (195569 => 195570)


--- branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm	2016-01-26 00:43:42 UTC (rev 195569)
+++ branches/safari-601.1.46-branch/Source/WebKit2/UIProcess/ios/WKContentView.mm	2016-01-26 00:43:45 UTC (rev 195570)
@@ -455,6 +455,11 @@
     }
 }
 
+- (void)_webViewDestroyed
+{
+    _webView = nil;
+}
+
 #pragma mark PageClientImpl methods
 
 - (std::unique_ptr<DrawingAreaProxy>)_createDrawingAreaProxy
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to