commit | 7a87e4e8fbbe98545bd248eb0b84108e7b2bb372 | [log] [tgz] |
---|---|---|
author | Christopher Cameron <ccameron@chromium.org> | Thu Apr 26 07:25:57 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Thu Apr 26 07:25:57 2018 |
tree | 2ce2523d09571b32a230432fbb53d4b1ccc97155 | |
parent | f10f8aa0442f2966821914d6a821b2c288e07990 [diff] |
mac: Fix WebContentsImpl::UpdateWebContentsVisibility calling RWHVMac We encounter the following stack when destroying the RWHVMac RenderWidgetHostViewMac::Show WebContentsImpl::WasShown WebContentsImpl::UpdateWebContentsVisibility ... -[NSView removeFromSuperview] RenderWidgetHostViewNSViewBridgeLocal::~(dtor) RenderWidgetHostViewMac::Destroy This is problematic, as WebContentsImpl::UpdateWebContentsVisibility will make a bunch of calls on RenderWidgetHostViewMac that all assume that we are not mid-tear-down. To avoid this, make the call to -[NSView removeFromSuperview] be a delayed callback. That way the call will happen after the RWHVMac has been entirely destroyed, and UpdateWebContentsVisibility will no longer have a RWHVMac to call back into. Bug: 834931 Change-Id: I88412173b005dfdc26026db6b4c12b31e6541e7c Reviewed-on: https://chromium-review.googlesource.com/1025396 Reviewed-by: Sidney San MartÃn <sdy@chromium.org> Commit-Queue: ccameron <ccameron@chromium.org> Cr-Commit-Position: refs/heads/master@{#553941}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .