commit | c3670194bbba14ba4657b01f40e5266ac848e6cf | [log] [tgz] |
---|---|---|
author | Robert Flack <[email protected]> | Tue Mar 30 16:18:09 2021 |
committer | Chromium LUCI CQ <[email protected]> | Tue Mar 30 16:18:09 2021 |
tree | 1ae37498dbe21a7a919b91e70ccec11a5d4791a4 | |
parent | 2d80cb60162966edd5723a6a92c48df740bf2a16 [diff] [blame] |
Store OverscrollControllerDelegate as a WeakPtr. This is a speculative fix for https://crbug.com/1183933. The OverscrollControllerDelegate is owned by the WebContentsViewAura but an unowned pointer is set on the given view's OverscrollController. It's unclear whether the WebContentsViewAura is guaranteed to outlive or live as long as the RenderWidgetHostViewAura. By using a weak pointer we ensure the delegate is no longer called if it is destructed. Bug: 1183933 Change-Id: I41dc6e2e4ba26dd5be958fff5e7da3a5fc66c513 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2791883 Reviewed-by: Ken Buchanan <[email protected]> Reviewed-by: Bo <[email protected]> Commit-Queue: Robert Flack <[email protected]> Cr-Commit-Position: refs/heads/master@{#867641}
diff --git a/content/browser/renderer_host/overscroll_controller_unittest.cc b/content/browser/renderer_host/overscroll_controller_unittest.cc index 986a654..e9e0a5b 100644 --- a/content/browser/renderer_host/overscroll_controller_unittest.cc +++ b/content/browser/renderer_host/overscroll_controller_unittest.cc
@@ -30,7 +30,7 @@ features::kTouchpadOverscrollHistoryNavigation); delegate_ = std::make_unique<TestOverscrollDelegate>(gfx::Size(400, 300)); controller_ = std::make_unique<OverscrollController>(); - controller_->set_delegate(delegate_.get()); + controller_->set_delegate(delegate_->GetWeakPtr()); } void TearDown() override {