Commit b355c705 authored by Ramin Halavati's avatar Ramin Halavati Committed by Commit Bot

Gracefully exit when WebContents handler cannot create browser.

|ChromeWebContentsHandler::AddNewContents| assumed that a browser object
can be created in all situations but this is not true, at least if the
request comes during browser shutdown.

|ChromeWebContentsHandler::AddNewContents| is updated to consider the
case that browser cannot be created and gracefully exit.

Bug: 1141608, 1121894
Change-Id: Iaf0b2b4c1359ccf9b3b07ed606521a62c98ea4e3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2513209
Commit-Queue: Ramin Halavati <rhalavati@chromium.org>
Reviewed-by: default avatarDenis Kuznetsov [CET] <antrim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#823517}
parent 0309b0c3
...@@ -89,6 +89,14 @@ void ChromeWebContentsHandler::AddNewContents( ...@@ -89,6 +89,14 @@ void ChromeWebContentsHandler::AddNewContents(
Browser* browser = chrome::FindTabbedBrowser(profile, false); Browser* browser = chrome::FindTabbedBrowser(profile, false);
const bool browser_created = !browser; const bool browser_created = !browser;
if (!browser) { if (!browser) {
// TODO(https://crbug.com/1141608): Remove when root cause is found.
if (Browser::GetBrowserCreationStatusForProfile(profile) !=
Browser::BrowserCreationStatus::kOk) {
NOTREACHED() << "Browser creation status: "
<< static_cast<int>(
Browser::GetBrowserCreationStatusForProfile(profile));
return;
}
browser = Browser::Create( browser = Browser::Create(
Browser::CreateParams(Browser::TYPE_NORMAL, profile, user_gesture)); Browser::CreateParams(Browser::TYPE_NORMAL, profile, user_gesture));
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment