| Index: content/public/browser/browser_message_filter.cc
|
| diff --git a/content/public/browser/browser_message_filter.cc b/content/public/browser/browser_message_filter.cc
|
| index 53c0f872b2abb855511ba80b77d4b9de2ce1d26e..efafece7210c98608325b38ec8a721d0a5f9650d 100644
|
| --- a/content/public/browser/browser_message_filter.cc
|
| +++ b/content/public/browser/browser_message_filter.cc
|
| @@ -6,11 +6,13 @@
|
|
|
| #include "base/bind.h"
|
| #include "base/bind_helpers.h"
|
| +#include "base/command_line.h"
|
| #include "base/logging.h"
|
| #include "base/process/kill.h"
|
| #include "base/process/process_handle.h"
|
| #include "base/task_runner.h"
|
| #include "content/public/browser/user_metrics.h"
|
| +#include "content/public/common/content_switches.h"
|
| #include "content/public/common/result_codes.h"
|
| #include "ipc/ipc_sync_message.h"
|
|
|
| @@ -141,8 +143,12 @@ bool BrowserMessageFilter::CheckCanDispatchOnUI(const IPC::Message& message,
|
| }
|
|
|
| void BrowserMessageFilter::BadMessageReceived() {
|
| - base::KillProcess(PeerHandle(), content::RESULT_CODE_KILLED_BAD_MESSAGE,
|
| - false);
|
| + CommandLine* command_line = CommandLine::ForCurrentProcess();
|
| +
|
| + if (!command_line->HasSwitch(switches::kDisableKillAfterBadIPC)) {
|
| + base::KillProcess(PeerHandle(), content::RESULT_CODE_KILLED_BAD_MESSAGE,
|
| + false);
|
| + }
|
| }
|
|
|
| BrowserMessageFilter::~BrowserMessageFilter() {
|
|
|