blob: f7e30368f89b83bab714ea71f2c8c0f220946ad0 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/browser/bad_message.h"
#include "base/logging.h"
#include "base/metrics/sparse_histogram.h"
#include "content/public/browser/browser_message_filter.h"
#include "content/public/browser/render_process_host.h"
namespace content {
namespace bad_message {
namespace {
void LogBadMessage(BadMessageReason reason) {
LOG(ERROR) << "Terminating renderer for bad IPC message, reason " << reason;
UMA_HISTOGRAM_SPARSE_SLOWLY("Stability.BadMessageTerminated.Content", reason);
}
} // namespace
void ReceivedBadMessage(RenderProcessHost* host, BadMessageReason reason) {
LogBadMessage(reason);
host->ShutdownForBadMessage();
}
void ReceivedBadMessage(BrowserMessageFilter* filter, BadMessageReason reason) {
LogBadMessage(reason);
filter->ShutdownForBadMessage();
}
} // namespace bad_message
} // namespace content