From a89cf08765d16eccc0b75d3579e4428210e94a8c Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Tue, 15 Dec 2020 12:35:43 -0800 Subject: [PATCH] Fix case where webContents is destroyed --- shell/browser/api/electron_api_base_window.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/shell/browser/api/electron_api_base_window.cc b/shell/browser/api/electron_api_base_window.cc index 54b532798b283..adbaab0d8b1d3 100644 --- a/shell/browser/api/electron_api_base_window.cc +++ b/shell/browser/api/electron_api_base_window.cc @@ -1081,10 +1081,12 @@ void BaseWindow::ResetBrowserViews() { !browser_view.IsEmpty()) { // There's a chance that the BrowserView may have been reparented - only // reset if the owner window is *this* window. - auto* owner_window = browser_view->web_contents()->owner_window(); - if (browser_view->web_contents() && owner_window == window_.get()) { - browser_view->web_contents()->SetOwnerWindow(nullptr); - owner_window->RemoveBrowserView(browser_view->view()); + if (browser_view->web_contents()) { + auto* owner_window = browser_view->web_contents()->owner_window(); + if (owner_window == window_.get()) { + browser_view->web_contents()->SetOwnerWindow(nullptr); + owner_window->RemoveBrowserView(browser_view->view()); + } } }