Skip to content

Commit e6c6351

Browse files
committed
Fix nwjs#3165: crash on auth in webview
1 parent 5b8e688 commit e6c6351

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/browser/shell_login_dialog_views.cc

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,6 @@ namespace content {
6767
void ShellLoginDialog::PlatformCreateDialog(const base::string16& message) {
6868
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
6969

70-
login_view_ = new LoginView(message);
71-
7270
// Scary thread safety note: This can potentially be called *after* SetAuth
7371
// or CancelAuth (say, if the request was cancelled before the UI thread got
7472
// control). However, that's OK since any UI interaction in those functions
@@ -80,6 +78,15 @@ void ShellLoginDialog::PlatformCreateDialog(const base::string16& message) {
8078
WebContents* requesting_contents = WebContents::FromRenderFrameHost(rfh);
8179
WebContentsModalDialogManager* web_contents_modal_dialog_manager =
8280
WebContentsModalDialogManager::FromWebContents(requesting_contents);
81+
82+
if (!web_contents_modal_dialog_manager) {
83+
UserCancelledAuth();
84+
DeleteDelegate();
85+
return;
86+
}
87+
88+
login_view_ = new LoginView(message);
89+
8390
WebContentsModalDialogManagerDelegate* modal_delegate =
8491
web_contents_modal_dialog_manager->delegate();
8592
CHECK(modal_delegate);

0 commit comments

Comments
 (0)