Index: ios/web_view/internal/cwv_scroll_view.mm |
diff --git a/ios/web_view/internal/cwv_scroll_view.mm b/ios/web_view/internal/cwv_scroll_view.mm |
index ceec039a0322fbd92eb14e51b3afb10ae983aeaa..53dc5d8cb22857e8edd9ced179bc94dcc5e9da57 100644 |
--- a/ios/web_view/internal/cwv_scroll_view.mm |
+++ b/ios/web_view/internal/cwv_scroll_view.mm |
@@ -62,6 +62,14 @@ |
[_proxy addGestureRecognizer:gestureRecognizer]; |
} |
+#pragma mark - NSObject |
+ |
+- (void)dealloc { |
+ // Removes |self| from |_proxy|'s observers. Otherwise |_proxy| will keep a |
+ // dangling pointer to |self| and cause SEGV later. |
+ [_proxy removeObserver:self]; |
+} |
+ |
#pragma mark - CRWWebViewScrollViewObserver |
- (void)webViewScrollViewWillBeginDragging: |