| Index: chrome/browser/chrome_content_browser_client.cc
|
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc
|
| index 5abfa6ce2538a5c407410ced9a78e5d16d08ead3..23e2d63e68dff5011257e711ee53e7b44ea48712 100644
|
| --- a/chrome/browser/chrome_content_browser_client.cc
|
| +++ b/chrome/browser/chrome_content_browser_client.cc
|
| @@ -202,6 +202,10 @@
|
| #include "chrome/browser/chromeos/extensions/file_manager/file_manager_util.h"
|
| #endif
|
|
|
| +#if defined(ENABLE_IPC_FUZZER)
|
| +#include "chrome/browser/ipc_fuzzer_host.h"
|
| +#endif
|
| +
|
| using base::FileDescriptor;
|
| using content::AccessTokenStore;
|
| using content::BrowserChildProcessHostIterator;
|
| @@ -826,6 +830,10 @@ void ChromeContentBrowserClient::RenderProcessHostCreated(
|
|
|
| SendExtensionWebRequestStatusToHost(host);
|
|
|
| +#if defined(ENABLE_IPC_FUZZER)
|
| + SendTestcaseToIpcFuzzer(host);
|
| +#endif
|
| +
|
| RendererContentSettingRules rules;
|
| GetRendererContentSettingRules(profile->GetHostContentSettingsMap(), &rules);
|
| host->Send(new ChromeViewMsg_SetContentSettingRules(rules));
|
| @@ -1296,6 +1304,12 @@ void ChromeContentBrowserClient::AppendExtraCommandLineSwitches(
|
| browser_command_line.GetSwitchValuePath(switches::kUserDataDir);
|
| if (!user_data_dir.empty())
|
| command_line->AppendSwitchPath(switches::kUserDataDir, user_data_dir);
|
| +
|
| +#if defined(ENABLE_IPC_FUZZER)
|
| + if (browser_command_line.HasSwitch(switches::kIpcFuzzerTestcase))
|
| + command_line->AppendSwitch(switches::kIpcFuzzerOverride);
|
| +#endif
|
| +
|
| #if defined(OS_CHROMEOS)
|
| const std::string& login_profile =
|
| browser_command_line.GetSwitchValueASCII(
|
| @@ -2331,6 +2345,16 @@ void ChromeContentBrowserClient::GetAdditionalFileSystemBackends(
|
| #endif
|
| }
|
|
|
| +bool ChromeContentBrowserClient::ShouldKillChildProcessOnBadMessage() {
|
| +#if defined(ENABLE_IPC_FUZZER)
|
| + // Don't kill the IPC fuzzer process, if it sends a bad message.
|
| + if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kIpcFuzzerTestcase))
|
| + return false;
|
| +#endif
|
| +
|
| + return true;
|
| +}
|
| +
|
| #if defined(OS_POSIX) && !defined(OS_MACOSX)
|
| void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess(
|
| const CommandLine& command_line,
|
|
|