| Index: content/browser/child_process_launcher.cc
|
| ===================================================================
|
| --- content/browser/child_process_launcher.cc (revision 88440)
|
| +++ content/browser/child_process_launcher.cc (working copy)
|
| @@ -20,6 +20,7 @@
|
|
|
| #if defined(OS_WIN)
|
| #include "base/file_path.h"
|
| +#include "content/browser/handle_enumerator_win.h"
|
| #include "content/common/sandbox_policy.h"
|
| #elif defined(OS_MACOSX)
|
| #include "chrome/browser/mach_broker_mac.h"
|
| @@ -216,6 +217,20 @@
|
| if (!terminate_child_on_shutdown_)
|
| return;
|
|
|
| +#if defined(OS_WIN)
|
| + const CommandLine& browser_command_line =
|
| + *CommandLine::ForCurrentProcess();
|
| + if (browser_command_line.HasSwitch(switches::kAuditHandles) ||
|
| + browser_command_line.HasSwitch(switches::kAuditAllHandles)) {
|
| + scoped_refptr<content::HandleEnumerator> handle_enum(
|
| + new content::HandleEnumerator(process_.handle(),
|
| + browser_command_line.HasSwitch(switches::kAuditAllHandles)));
|
| + handle_enum->RunHandleEnumeration();
|
| + process_.set_handle(base::kNullProcessHandle);
|
| + return;
|
| + }
|
| +#endif
|
| +
|
| // On Posix, EnsureProcessTerminated can lead to 2 seconds of sleep! So
|
| // don't this on the UI/IO threads.
|
| BrowserThread::PostTask(
|
|
|