Check if it is guest process before updating process ID
This commit is contained in:
parent
3ff2959f0c
commit
4c78f98da6
2 changed files with 4 additions and 2 deletions
|
@ -159,8 +159,8 @@ void AtomBrowserClient::AppendExtraCommandLineSwitches(
|
||||||
child_process_id = dying_process_id;
|
child_process_id = dying_process_id;
|
||||||
} else {
|
} else {
|
||||||
// It appears that the dying process doesn't belong to a BrowserWindow,
|
// It appears that the dying process doesn't belong to a BrowserWindow,
|
||||||
// then it must be a guest process, we should update its process ID in the
|
// then it might be a guest process, if it is we should update its
|
||||||
// WebViewManager here.
|
// process ID in the WebViewManager.
|
||||||
auto child_process = content::RenderProcessHost::FromID(child_process_id);
|
auto child_process = content::RenderProcessHost::FromID(child_process_id);
|
||||||
// Update the process ID in webview guests.
|
// Update the process ID in webview guests.
|
||||||
WebViewManager::UpdateGuestProcessID(dying_render_process_,
|
WebViewManager::UpdateGuestProcessID(dying_render_process_,
|
||||||
|
|
|
@ -41,6 +41,8 @@ void WebViewManager::UpdateGuestProcessID(
|
||||||
base::AutoLock auto_lock(manager->lock_);
|
base::AutoLock auto_lock(manager->lock_);
|
||||||
int old_id = old_process->GetID();
|
int old_id = old_process->GetID();
|
||||||
int new_id = new_process->GetID();
|
int new_id = new_process->GetID();
|
||||||
|
if (!ContainsKey(manager->webview_info_map_, old_id))
|
||||||
|
return;
|
||||||
manager->webview_info_map_[new_id] = manager->webview_info_map_[old_id];
|
manager->webview_info_map_[new_id] = manager->webview_info_map_[old_id];
|
||||||
manager->webview_info_map_.erase(old_id);
|
manager->webview_info_map_.erase(old_id);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue