OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_APP_CRASH_REPORTER_CLIENT_H_ | 5 #ifndef COMPONENTS_CRASH_APP_CRASH_REPORTER_CLIENT_H_ |
6 #define COMPONENTS_CRASH_APP_CRASH_REPORTER_CLIENT_H_ | 6 #define COMPONENTS_CRASH_APP_CRASH_REPORTER_CLIENT_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 virtual void RecordCrashDumpAttempt(bool is_real_crash); | 96 virtual void RecordCrashDumpAttempt(bool is_real_crash); |
97 #endif | 97 #endif |
98 | 98 |
99 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS) | 99 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS) |
100 // Returns a textual description of the product type and version to include | 100 // Returns a textual description of the product type and version to include |
101 // in the crash report. Neither out parameter should be set to NULL. | 101 // in the crash report. Neither out parameter should be set to NULL. |
102 virtual void GetProductNameAndVersion(const char** product_name, | 102 virtual void GetProductNameAndVersion(const char** product_name, |
103 const char** version); | 103 const char** version); |
104 | 104 |
105 virtual base::FilePath GetReporterLogFilename(); | 105 virtual base::FilePath GetReporterLogFilename(); |
| 106 |
| 107 // Custom crash minidump handler after the minidump is generated. |
| 108 // Returns true if the minidump is handled (client); otherwise, return false |
| 109 // to fallback to default handler. |
| 110 // WARNING: this handler runs in a compromised context. It may not call into |
| 111 // libc nor allocate memory normally. |
| 112 virtual bool HandleCrashDump(const char* crashdump_filename); |
106 #endif | 113 #endif |
107 | 114 |
108 // The location where minidump files should be written. Returns true if | 115 // The location where minidump files should be written. Returns true if |
109 // |crash_dir| was set. | 116 // |crash_dir| was set. |
110 virtual bool GetCrashDumpLocation(base::FilePath* crash_dir); | 117 virtual bool GetCrashDumpLocation(base::FilePath* crash_dir); |
111 | 118 |
112 // Register all of the potential crash keys that can be sent to the crash | 119 // Register all of the potential crash keys that can be sent to the crash |
113 // reporting server. Returns the size of the union of all keys. | 120 // reporting server. Returns the size of the union of all keys. |
114 virtual size_t RegisterCrashKeys(); | 121 virtual size_t RegisterCrashKeys(); |
115 | 122 |
(...skipping 19 matching lines...) Expand all Loading... |
135 virtual void InstallAdditionalFilters(BreakpadRef breakpad); | 142 virtual void InstallAdditionalFilters(BreakpadRef breakpad); |
136 #endif | 143 #endif |
137 | 144 |
138 // Returns true if breakpad should run in the given process type. | 145 // Returns true if breakpad should run in the given process type. |
139 virtual bool EnableBreakpadForProcess(const std::string& process_type); | 146 virtual bool EnableBreakpadForProcess(const std::string& process_type); |
140 }; | 147 }; |
141 | 148 |
142 } // namespace crash_reporter | 149 } // namespace crash_reporter |
143 | 150 |
144 #endif // COMPONENTS_CRASH_APP_CRASH_REPORTER_CLIENT_H_ | 151 #endif // COMPONENTS_CRASH_APP_CRASH_REPORTER_CLIENT_H_ |
OLD | NEW |