1*6777b538SAndroid Build Coastguard Worker // Copyright 2015 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #include "components/nacl/browser/bad_message.h" 6*6777b538SAndroid Build Coastguard Worker 7*6777b538SAndroid Build Coastguard Worker #include "base/logging.h" 8*6777b538SAndroid Build Coastguard Worker #include "base/metrics/histogram_functions.h" 9*6777b538SAndroid Build Coastguard Worker #include "content/public/browser/browser_message_filter.h" 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker namespace nacl { 12*6777b538SAndroid Build Coastguard Worker namespace bad_message { 13*6777b538SAndroid Build Coastguard Worker ReceivedBadMessage(content::BrowserMessageFilter * filter,BadMessageReason reason)14*6777b538SAndroid Build Coastguard Workervoid ReceivedBadMessage(content::BrowserMessageFilter* filter, 15*6777b538SAndroid Build Coastguard Worker BadMessageReason reason) { 16*6777b538SAndroid Build Coastguard Worker LOG(ERROR) << "Terminating renderer for bad IPC message, reason " << reason; 17*6777b538SAndroid Build Coastguard Worker base::UmaHistogramSparse("Stability.BadMessageTerminated.NaCl", reason); 18*6777b538SAndroid Build Coastguard Worker filter->ShutdownForBadMessage(); 19*6777b538SAndroid Build Coastguard Worker } 20*6777b538SAndroid Build Coastguard Worker 21*6777b538SAndroid Build Coastguard Worker } // namespace bad_message 22*6777b538SAndroid Build Coastguard Worker } // namespace nacl 23