1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/browser/bad_message.h"
7 #include "base/logging.h"
8 #include "base/metrics/sparse_histogram.h"
9 #include "content/public/browser/browser_message_filter.h"
10 #include "content/public/browser/render_process_host.h"
13 namespace bad_message
{
17 void LogBadMessage(BadMessageReason reason
) {
18 LOG(ERROR
) << "Terminating renderer for bad IPC message, reason " << reason
;
19 UMA_HISTOGRAM_SPARSE_SLOWLY("Stability.BadMessageTerminated.Content", reason
);
24 void ReceivedBadMessage(RenderProcessHost
* host
, BadMessageReason reason
) {
25 LogBadMessage(reason
);
26 host
->ShutdownForBadMessage();
29 void ReceivedBadMessage(BrowserMessageFilter
* filter
, BadMessageReason reason
) {
30 LogBadMessage(reason
);
31 filter
->ShutdownForBadMessage();
34 } // namespace bad_message
35 } // namespace content