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
3 // found in the LICENSE file.
5 #ifndef CONTENT_SHELL_APP_SHELL_CRASH_REPORTER_CLIENT_H_
6 #define CONTENT_SHELL_APP_SHELL_CRASH_REPORTER_CLIENT_H_
8 #include "base/compiler_specific.h"
9 #include "components/crash/app/crash_reporter_client.h"
13 class ShellCrashReporterClient
: public crash_reporter::CrashReporterClient
{
15 ShellCrashReporterClient();
16 ~ShellCrashReporterClient() override
;
19 // Returns a textual description of the product type and version to include
20 // in the crash report.
21 void GetProductNameAndVersion(const base::FilePath
& exe_path
,
22 base::string16
* product_name
,
23 base::string16
* version
,
24 base::string16
* special_build
,
25 base::string16
* channel_name
) override
;
28 #if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_IOS)
29 // Returns a textual description of the product type and version to include
30 // in the crash report.
31 void GetProductNameAndVersion(const char** product_name
,
32 const char** version
) override
;
34 base::FilePath
GetReporterLogFilename() override
;
37 // The location where minidump files should be written. Returns true if
38 // |crash_dir| was set.
39 bool GetCrashDumpLocation(base::FilePath
* crash_dir
) override
;
41 #if defined(OS_ANDROID)
42 // Returns the descriptor key of the android minidump global descriptor.
43 int GetAndroidMinidumpDescriptor() override
;
46 bool EnableBreakpadForProcess(const std::string
& process_type
) override
;
49 DISALLOW_COPY_AND_ASSIGN(ShellCrashReporterClient
);
52 } // namespace content
54 #endif // CONTENT_SHELL_APP_SHELL_CRASH_REPORTER_CLIENT_H_