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 |