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..40d1ed9eeff627e9a18096c555b699732d7ba6c5 100644 |
--- a/content/public/browser/browser_message_filter.cc |
+++ b/content/public/browser/browser_message_filter.cc |
@@ -10,6 +10,7 @@ |
#include "base/process/kill.h" |
#include "base/process/process_handle.h" |
#include "base/task_runner.h" |
+#include "content/public/browser/content_browser_client.h" |
#include "content/public/browser/user_metrics.h" |
#include "content/public/common/result_codes.h" |
#include "ipc/ipc_sync_message.h" |
@@ -141,8 +142,10 @@ bool BrowserMessageFilter::CheckCanDispatchOnUI(const IPC::Message& message, |
} |
void BrowserMessageFilter::BadMessageReceived() { |
- base::KillProcess(PeerHandle(), content::RESULT_CODE_KILLED_BAD_MESSAGE, |
- false); |
+ if (GetContentClient()->browser()->ShouldKillChildProcessOnBadMessage()) { |
+ base::KillProcess(PeerHandle(), content::RESULT_CODE_KILLED_BAD_MESSAGE, |
+ false); |
+ } |
} |
BrowserMessageFilter::~BrowserMessageFilter() { |