OLD | NEW |
| (Empty) |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef COMPONENTS_CRASH_APP_CRASHPAD_MAC_H_ | |
6 #define COMPONENTS_CRASH_APP_CRASHPAD_MAC_H_ | |
7 | |
8 #include <time.h> | |
9 | |
10 #include <string> | |
11 #include <vector> | |
12 | |
13 namespace crash_reporter { | |
14 | |
15 // Initializes Crashpad in a way that is appropriate for process_type. If | |
16 // process_type is empty, initializes Crashpad for the browser process, which | |
17 // starts crashpad_handler and sets it as the exception handler. Other process | |
18 // types inherit this exception handler from the browser, but still need to | |
19 // perform additional initialization. | |
20 void InitializeCrashpad(const std::string& process_type); | |
21 | |
22 // Enables or disables crash report upload. This is a property of the Crashpad | |
23 // database. In a newly-created database, uploads will be disabled. This | |
24 // function only has an effect when called in the browser process. Its effect is | |
25 // immediate and applies to all other process types, including processes that | |
26 // are already running. | |
27 void SetUploadsEnabled(bool enabled); | |
28 | |
29 // Determines whether uploads are enabled or disabled. This information is only | |
30 // available in the browser process. | |
31 bool GetUploadsEnabled(); | |
32 | |
33 struct UploadedReport { | |
34 std::string local_id; | |
35 std::string remote_id; | |
36 time_t creation_time; | |
37 }; | |
38 | |
39 // Obtains a list of reports uploaded to the collection server. This function | |
40 // only operates when called in the browser process. All reports in the Crashpad | |
41 // database that have been successfully uploaded will be included in this list. | |
42 // The list will be sorted in descending order by report creation time (newest | |
43 // reports first). | |
44 // | |
45 // TODO(mark): The about:crashes UI expects to show only uploaded reports. If it | |
46 // is ever enhanced to work well with un-uploaded reports, those should be | |
47 // returned as well. Un-uploaded reports may have a pending upload, may have | |
48 // experienced upload failure, or may have been collected while uploads were | |
49 // disabled. | |
50 void GetUploadedReports(std::vector<UploadedReport>* uploaded_reports); | |
51 | |
52 } // namespace crash_reporter | |
53 | |
54 #endif // COMPONENTS_CRASH_APP_CRASHPAD_MAC_H_ | |
OLD | NEW |