| 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 bbc6b13c03baa3b40dc9c5223be96d709458a077..cca9d309f01454b3c50a1ea1809aba2c58514621 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"
|
|
|
| @@ -177,8 +179,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() {
|
|
|