Check if it is guest process before updating process ID

This commit is contained in:
Cheng Zhao 2015-04-26 17:26:00 +08:00
parent 3ff2959f0c
commit 4c78f98da6
2 changed files with 4 additions and 2 deletions

View file

@ -159,8 +159,8 @@ void AtomBrowserClient::AppendExtraCommandLineSwitches(
child_process_id = dying_process_id;
} else {
// 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
// WebViewManager here.
// then it might be a guest process, if it is we should update its
// process ID in the WebViewManager.
auto child_process = content::RenderProcessHost::FromID(child_process_id);
// Update the process ID in webview guests.
WebViewManager::UpdateGuestProcessID(dying_render_process_,

View file

@ -41,6 +41,8 @@ void WebViewManager::UpdateGuestProcessID(
base::AutoLock auto_lock(manager->lock_);
int old_id = old_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_.erase(old_id);
}