Chromium Code Reviews| Index: content/browser/web_contents/web_contents_impl.cc |
| diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc |
| index ff003ddb3c808f2ecd7ce45abb86207620d9d2bd..9b443fc7460fcff4e7e2f93154fd09989d991012 100644 |
| --- a/content/browser/web_contents/web_contents_impl.cc |
| +++ b/content/browser/web_contents/web_contents_impl.cc |
| @@ -2763,8 +2763,16 @@ void WebContentsImpl::OnDidRunInsecureContent( |
| } |
| void WebContentsImpl::OnDocumentLoadedInFrame() { |
| - CHECK(render_frame_message_source_); |
| - CHECK(!render_view_message_source_); |
| + if (!render_frame_message_source_) { |
| + RecordAction(base::UserMetricsAction("BadMessageTerminate_RVD2")); |
|
Charlie Reis
2015/01/27 00:18:03
Why RVD2? I thought we usually abbreviated the cl
nasko
2015/01/27 01:29:37
Fixed both. I forgot it on the first iteration.
|
| + // TODO(nasko): With --site-per-process, subframes can be in a different |
| + // process from the main frame and this will kill the wrong process. |
| + // Once RenderViewHost is not used to route messages, this should not |
| + // happen. |
|
Charlie Reis
2015/01/27 00:18:03
I don't think this TODO is necessary. "!render_fr
nasko
2015/01/27 01:29:36
Done.
|
| + GetRenderProcessHost()->ReceivedBadMessage(); |
| + return; |
| + } |
| + |
| RenderFrameHostImpl* rfh = |
| static_cast<RenderFrameHostImpl*>(render_frame_message_source_); |
| FOR_EACH_OBSERVER( |