| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef COMPONENTS_CRASH_CONTENT_APP_RUN_AS_CRASHPAD_HANDLER_WIN_H_ | 5 #ifndef COMPONENTS_CRASH_CONTENT_APP_RUN_AS_CRASHPAD_HANDLER_WIN_H_ |
| 6 #define COMPONENTS_CRASH_CONTENT_APP_RUN_AS_CRASHPAD_HANDLER_WIN_H_ | 6 #define COMPONENTS_CRASH_CONTENT_APP_RUN_AS_CRASHPAD_HANDLER_WIN_H_ |
| 7 | 7 |
| 8 namespace base { | 8 namespace base { |
| 9 class CommandLine; | 9 class CommandLine; |
| 10 class FilePath; |
| 10 } | 11 } |
| 11 | 12 |
| 12 namespace crash_reporter { | 13 namespace crash_reporter { |
| 13 | 14 |
| 14 // Helper for running an embedded copy of crashpad_handler. Searches for and | 15 // Helper for running an embedded copy of crashpad_handler. Searches for and |
| 15 // removes --(process_type_switch)=xyz arguments in the command line, and all | 16 // removes --(process_type_switch|user_data_dir_switch)=xyz arguments in the |
| 16 // options starting with '/' (for "/prefetch:N"), and then runs | 17 // command line, and all options starting with '/' (for "/prefetch:N"), and then |
| 17 // crashpad::HandlerMain with the remaining arguments. | 18 // runs crashpad::HandlerMain with the remaining arguments. If user_data_dir is |
| 19 // non-empty, a Crashpad extension to collect stability instrumentation on crash |
| 20 // is used. |
| 18 // | 21 // |
| 19 // Normally, pass switches::kProcessType for process_type_switch. It's accepted | 22 // Normally, pass switches::kProcessType and switches::kCrashpadHandler for |
| 20 // as a parameter because this component does not have access to content/, where | 23 // process_type_switch and user_data_dir_switch. These are accepted as |
| 21 // that variable lives. | 24 // parameters because this component does not have access to content/, where |
| 25 // those variables live. |
| 22 int RunAsCrashpadHandler(const base::CommandLine& command_line, | 26 int RunAsCrashpadHandler(const base::CommandLine& command_line, |
| 23 const char* process_type_switch); | 27 const base::FilePath& user_data_dir, |
| 28 const char* process_type_switch, |
| 29 const char* user_data_dir_switch); |
| 24 | 30 |
| 25 } // namespace crash_reporter | 31 } // namespace crash_reporter |
| 26 | 32 |
| 27 #endif // COMPONENTS_CRASH_CONTENT_APP_RUN_AS_CRASHPAD_HANDLER_WIN_H_ | 33 #endif // COMPONENTS_CRASH_CONTENT_APP_RUN_AS_CRASHPAD_HANDLER_WIN_H_ |
| OLD | NEW |