Add OnRenderProcessTerminated and OnPluginCrashed notifications to CefLoadHandler (issue #633).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@710 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2012-06-25 19:49:17 +00:00
parent 6f2897cb50
commit 89c70a8b11
10 changed files with 179 additions and 0 deletions

View File

@ -1125,6 +1125,20 @@ void CefBrowserHostImpl::RenderViewReady() {
void CefBrowserHostImpl::RenderViewGone(base::TerminationStatus status) {
queue_messages_ = true;
cef_termination_status_t ts = TS_ABNORMAL_TERMINATION;
if (status == base::TERMINATION_STATUS_PROCESS_WAS_KILLED)
ts = TS_PROCESS_WAS_KILLED;
else if (status == base::TERMINATION_STATUS_PROCESS_CRASHED)
ts = TS_PROCESS_CRASHED;
else if (status != base::TERMINATION_STATUS_ABNORMAL_TERMINATION)
return;
if (client_.get()) {
CefRefPtr<CefLoadHandler> handler = client_->GetLoadHandler();
if (handler.get())
handler->OnRenderProcessTerminated(this, ts);
}
}
void CefBrowserHostImpl::DidCommitProvisionalLoadForFrame(
@ -1179,6 +1193,14 @@ void CefBrowserHostImpl::DidFailLoad(int64 frame_id,
OnLoadEnd(frame, validated_url);
}
void CefBrowserHostImpl::PluginCrashed(const FilePath& plugin_path) {
if (client_.get()) {
CefRefPtr<CefLoadHandler> handler = client_->GetLoadHandler();
if (handler.get())
handler->OnPluginCrashed(this, plugin_path.value());
}
}
bool CefBrowserHostImpl::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(CefBrowserHostImpl, message)